Mail Archives: djgpp/1995/12/14/09:27:45
Someone wrote:-
> I tried fopen("a very long filename","w"); on NT and it still creates a
> small filename.
Charles Sandmann <sandmann AT clio DOT rice DOT edu> replied (Subject: Re: Long file
names in V2B3):-
> From what I can tell, NT does not support the LFN API in DOS sessions.
The book `Undocumented DOS' (by Andrew Schulman et al, publ. Addison-Wesley)
says that various DOS interrupts `AH=0x71, AL=0xXX, int21' do the same as the
corresponding `AH=0xXX, int21' but with Windows95 long filenames instead of
xxxxxxxx.xxx DOS filenames. The djgpp functions fopen() etc presumably call
the interrupts `AH=0xXX, int21' and therefore use 8.3-char filenames whether
running under Windows 95 or not. In Windows 95 each file has an 8.3-char name
AND a long name.
Eli Zaretskii <eliz AT is DOT elta DOT co DOT il> told me once:-
> [A program running under any version of DOS can find if the (computer that
> it is on) has these `AH=0x71, int21' interrupts by calling] Int21h/AX=7147h
> (get current directory). If it returns with carry set and 7100h in AX, then
> long filenames aren't supported. This is what the _use_lfn() function in
> v2.0 does.
- Raw text -