diff options
author | 1997-10-04 19:08:10 +0000 | |
---|---|---|
committer | 1997-10-04 19:08:10 +0000 | |
commit | bae0976a63746b0abe3edf7986a8177cc9b8f4cc (patch) | |
tree | 030b775520697600b2b2376bae5b4747c059e890 /sys/msdosfs/denode.h | |
parent | use ISO format in example, not some stupid americano-centric bullshit (diff) | |
download | wireguard-openbsd-bae0976a63746b0abe3edf7986a8177cc9b8f4cc.tar.xz wireguard-openbsd-bae0976a63746b0abe3edf7986a8177cc9b8f4cc.zip |
cleanup timestamp code for NT/Win95; khym@bga.com
Diffstat (limited to 'sys/msdosfs/denode.h')
-rw-r--r-- | sys/msdosfs/denode.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/msdosfs/denode.h b/sys/msdosfs/denode.h index a845705f8cb..d5171d7f21e 100644 --- a/sys/msdosfs/denode.h +++ b/sys/msdosfs/denode.h @@ -1,4 +1,4 @@ -/* $OpenBSD: denode.h,v 1.4 1997/03/02 18:01:50 millert Exp $ */ +/* $OpenBSD: denode.h,v 1.5 1997/10/04 19:08:10 deraadt Exp $ */ /* $NetBSD: denode.h,v 1.20 1996/02/09 19:13:39 christos Exp $ */ /*- @@ -152,10 +152,10 @@ struct denode { pid_t de_lockwaiter; /* lock wanter */ u_char de_Name[12]; /* name, from DOS directory entry */ u_char de_Attributes; /* attributes, from directory entry */ + u_char de_CTimeHundredth; /* creation time, 1/100th of a sec */ u_short de_CTime; /* creation time */ u_short de_CDate; /* creation date */ u_short de_ADate; /* access date */ - u_short de_ATime; /* access time */ u_short de_MTime; /* modification time */ u_short de_MDate; /* modification date */ u_short de_StartCluster; /* starting cluster of file */ @@ -188,9 +188,9 @@ struct denode { #define DE_INTERNALIZE(dep, dp) \ (bcopy((dp)->deName, (dep)->de_Name, 11), \ (dep)->de_Attributes = (dp)->deAttributes, \ + (dep)->de_CTimeHundredth = (dp)->deCTimeHundredth, \ (dep)->de_CTime = getushort((dp)->deCTime), \ (dep)->de_CDate = getushort((dp)->deCDate), \ - (dep)->de_ATime = getushort((dp)->deATime), \ (dep)->de_ADate = getushort((dp)->deADate), \ (dep)->de_MTime = getushort((dp)->deMTime), \ (dep)->de_MDate = getushort((dp)->deMDate), \ @@ -200,10 +200,13 @@ struct denode { #define DE_EXTERNALIZE(dp, dep) \ (bcopy((dep)->de_Name, (dp)->deName, 11), \ (dp)->deAttributes = (dep)->de_Attributes, \ + (dp)->deLowerCase = CASE_LOWER_BASE | CASE_LOWER_EXT, \ + (dp)->deCTimeHundredth = (dep)->de_CTimeHundredth, \ putushort((dp)->deCTime, (dep)->de_CTime), \ putushort((dp)->deCDate, (dep)->de_CDate), \ - putushort((dp)->deATime, (dep)->de_ATime), \ putushort((dp)->deADate, (dep)->de_ADate), \ + (dp)->deReserved[0] = 0, \ + (dp)->deReserved[1] = 0, \ putushort((dp)->deMTime, (dep)->de_MTime), \ putushort((dp)->deMDate, (dep)->de_MDate), \ putushort((dp)->deStartCluster, (dep)->de_StartCluster), \ @@ -227,9 +230,11 @@ struct denode { } \ if (!((dep)->de_pmp->pm_flags & MSDOSFSMNT_NOWIN95)) { \ if ((dep)->de_flag & DE_ACCESS) \ - unix2dostime((acc), &(dep)->de_ADate, &(dep)->de_ATime); \ - if ((dep)->de_flag & DE_CREATE) \ + unix2dostime((acc), &(dep)->de_ADate, NULL); \ + if ((dep)->de_flag & DE_CREATE) { \ unix2dostime((cre), &(dep)->de_CDate, &(dep)->de_CTime); \ + (dep)->de_CTimeHundredth = ((cre)->tv_sec & 1 ? 100 : 0) + (cre)->tv_nsec / 10000000; \ + } \ } \ (dep)->de_flag &= ~(DE_UPDATE | DE_CREATE | DE_ACCESS); \ } |