From: Bart Oldeman Newsgroups: comp.os.msdos.djgpp Subject: DJGPP/LFNs/DOSEMU Date: Sun, 20 Jul 2003 21:05:44 +0000 (UTC) Organization: BT Openworld Lines: 40 Message-ID: NNTP-Posting-Host: dial81-131-49-73.in-addr.btopenworld.com Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: sparta.btinternet.com 1058735144 12770 81.131.49.73 (20 Jul 2003 21:05:44 GMT) X-Complaints-To: news-complaints AT lists DOT btinternet DOT com NNTP-Posting-Date: Sun, 20 Jul 2003 21:05:44 +0000 (UTC) X-X-Sender: enbeo AT enm-bo-lt DOT localdomain To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com 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