On Wed, 9 Jan 2002 00:21:20 +0100, Richard Zidlicky wrote:

> On Tue, Jan 08, 2002 at 01:38:48PM +0100, Thierry Godefroy wrote:
> 
> > > > >    maximum name length (including directory path) 36 chars
> > > > 
> > > > I already explained on this list how to circumvent this problem under
> > > > SMSQ/E. In fact, with my "trick", you can use up to 32765 characters
> > > > (QDOS string limit) per path+filename. This should hopefully be enough,
> > > > even in a far future...  ;-)
> > > 
> > > agreed, and I will patch QDOS and Minerva to allow for this trick.
> > 
> > Beware, that I did not told everything about my trick (because the message
> > was already too long for my taste ;-)
> > 
> > You must also ensure that a new open call on an already open file DOES NOT
> > reuse the existing channel definition block (something the IOSS does auto-
> > matically): this can easily be done by putting "random" characters as the
> > last (say the last 4) characters of the truncated filename (the one which
> > will get passed to the IOSS during directory device driver scanning)...
> 
> it seems that your idea is a bit different than mine. If you use the non-dir
> device driver interface than you don't have any "filename" in the cdb and 
> IOSS will never touch it except for the first 14 bytes. It will neither reuse 
> anything and the filesystem driver will be left completely unsupported with 
> all the work like recognising files already open - which may be a good thing 
> in the end.

I don't use the non-directory device driver IOT implement the CDROM device
driver (which will indeed be a "legal" SMSQ/E directory device driver): I use
a FAKE non-directory device driver so to intercept the long filename, store
its address in a safe place for later use by the actual directory device
driver (here, the CDROM one), and then replace it (changing the address
passed by and back to the IOSS in A0) by a truncated filename; once this is
done the "fake" device driver reports a failure to recognize his device (in
fact it got no device name at all) and then the IOSS scanning for the proper
device driver may continue with the truncated filename... As a result a
directory device driver channel definition block WILL be setup (with the
truncated filename in it, thus the need for the "random" characters at the
end of it)...

Thierry ([EMAIL PROTECTED]).

Reply via email to