Hi,

On Wed, Jul 2, 2014 at 12:38 PM, Matej Horvat
<[email protected]> wrote:
>
> I noticed that many files on my FreeDOS partition do not have a creation
> time, or rather they claim to be created in 1980. For a long time I
> thought that this is a bug, but today I looked at the kernel source code
> and found out that file creation times are never actually set.

Bug compared to what? Do you have experience with other DOSes where it
worked correctly (without the Windows GUI)?

PC-DOS 2000? EDR-DOS? ROM DOS 7? PTS-DOS 32? (etc. etc.) Do any of
these support it?

> I compiled myself a new kernel with two simple changes to init_direntry in
> kernel\fatfs.c:
>
> (...snip...)

Cool, glad you got it working. But ... this would probably attract
better attention at freedos-kernel. Though who knows, maybe most of
them still frequent here as well. Just saying, you'd probably get
better info from them than us.

> And now when I create files in FreeDOS, Windows shows the correct creation
> times. I don't know whether any DOS program actually displays them, but
> they are an important thing to me...

Why is this considered important? What actual programs use these
details? Can you present a case for needing them? I'm not opposed at
all, just curious.

> This message
>
> http://www.mail-archive.com/freedos-user%40lists.sourceforge.net/msg01105.html
>
> and this Wikipedia article
>
> https://en.wikipedia.org/w/index.php?title=Design_of_the_FAT_file_system&oldid=614948461#Directory_entry
>
> both mention file creation times as something that was added to the FAT
> design at the same time as long filenames.

I don't know the details. I assume it was FAT32 only. I don't think it
is (necessarily) LFN only, but I could be wrong. The fact that LFNs
weren't (by default) natively supported in MS-DOS 7 mode probably
didn't help, though.

> Does the FreeDOS kernel not
> support them because of patent issues? I can hardly imagine a simple
> feature like this being patented.

http://www.delorie.com/djgpp/doc/rbinter/id/14/32.html
http://www.delorie.com/djgpp/doc/rbinter/id/29/32.html

Both of those pertain to it. All the int 21h, 71xxh is roughly
considered part of the "Win95 LFN" API. I vaguely remember some
(partial, incomplete) ctime/atime functionality in DOSLFN, but it's
not something I would totally rely upon.

Anyways, I don't honestly know what the kernel devs decided regarding
patents or LFNs (natively or otherwise). Presumably it just wasn't
important enough or else existing kludges ("just use DOSLFN") made it
less important.

Yes, a very few (but not all) of the patents from LFNs are still valid
until 2017. Yes, apparently MS still enforces these (presumably due to
popularity with FAT32 on USB jump drives).

I don't know if these specific calls can be supported correctly
without LFNs enabled. You'd have to ask on freedos-kernel.

> So is there any reason they're not supported or is this just an oversight?

AFAIK, atime is considered too slow to record for every file. And I
don't know how useful ctime is for most apps. In fact, like I've
implied, not a lot of DOS apps support such features (DJGPP? 4DOS?).
There is probably not much need. But if you can convince the kernel
devs to add it, then go ahead.

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to