Mail Archives: djgpp/2003/07/20/17:39:34
Hi,
I have added some experimental LFN support on redirected "network"
drives to current testing versions of DOSEMU (download version 1.1.5 from
dosemu.sf.net and patch up to 1.1.5.6 using
http://www.dosemu.org/testing/patchset-1.1.5.6.tgz).
This adds an $_lfn_support option to dosemu.conf which can be on or off.
If the underlying filesystem is VFAT then the short filenames are the
exact ones (obtained using a special Linux ioctl) whereas on ext2 they are
the mangled samba style SFNs. The long filenames are case insensitive but
case preserving.
All functions are implemented except for
case 0xa6: /* get file info by handle */
case 0xa9: /* server create or open file */
case 0xaa: /* create/terminate/query subst */
this is enough for DJGPP -- I tested by compiling the LIBC.
I had to work around one issue with DJGPP: it assumes that the findfirst
handles are non-zero -- where my initial implementation used
0,1,2,3,4,... for findfirst handles. This "findfirst handles are
non-zero" fact(?) is not documented in Ralf Brown's interrupt list.
-- look at this piece of code to see why:
r.x.ax = 0x714f;
r.x.bx = ffblk->lfn_handle;
if(!r.x.bx)
{
errno = ENMFILE;
return 1;
}
(src/libc/dos/dir/findnext.c)
Testers are very welcome. The old DPMI descriptor leak problem is fixed in
recent DOSEMU development versions too (by Stas Sergeev).
Bart
- Raw text -