Mail Archives: djgpp/2001/08/07/06:11:05
On Tue, 7 Aug 2001, Boris Gaspic wrote:
> Reading through the libc docs, it occured me to test
> a = _get_volume_info ("C:\\", &maxlen, &pathlen, ftype);
>
> I get ENOSYS for calling that, and lengths 13 & 80.
I understand that this is on NT4. If so, this is expected: DJGPP
programs cannot access long file names on NT4, so _get_volume_info
tells the truth, as far as DJGPP programs are concerned.
Try this on Windows 9X or Windows 2000, and you will see a different
result.
> I also get ENOSYS for calling it on "K:\\" (which I don't have) --
> and not ENODEV or ENXIO as the docs say.
You misunderstand the docs: if the underlying system call is not
supported, you will _always_ get ENOSYS, because the OS fails the
call. ENODEV or ENXIO only happen when the system call is supported,
such as on Windows 9X, but the drive letter is invalid.
- Raw text -