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
