Ignore:
Timestamp:
Aug 29, 2005, 5:35:39 AM (20 years ago)
Author:
bird
Message:

o Reworked the open backend, adding directory support. Some O_*

flags was changed in the process, breaking the old ABI.
This is not fully tested.

o Added more BSD fields to struct stat, breaking the old ABI.

The mtime field and ctime fields will now keep the same values
and the creation time is to be found in birthtime. This means that
ctime will be updated in a few places where it doesn't on unix - but
this is probably better than previously where it wasn't ever updated
when it should.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/sys/stat.h

    • Property cvs2svn:cvs-rev changed from 1.11 to 1.12
    r2315 r2316  
    137137struct stat {
    138138        __dev_t   st_dev;               /* inode's device */
     139#if 1 /* bird: emx: */
     140        __uint32_t st_attr;             /* emx: OS/2 & DOS attributes */
     141#endif
    139142        ino_t     st_ino;               /* inode's number */
    140143        mode_t    st_mode;              /* inode protection mode */
     
    143146        gid_t     st_gid;               /* group ID of the file's group */
    144147        __dev_t   st_rdev;              /* device type */
    145 #if 1 /* bird: emx */
    146         time_t    st_atime;
    147         time_t    st_mtime;
    148         time_t    st_ctime;
    149 #else /* bird: emx */
     148#if 1 /* bird: emx - better alignment of 64-bit types */
     149        __int32_t st_lspare;
     150#endif /* bird */
    150151#if __BSD_VISIBLE
    151152        struct  timespec st_atimespec;  /* time of last access */
     
    160161        long      st_ctimensec;         /* nsec of last file status change */
    161162#endif
    162 #endif /* bird: emx */
    163163        off_t     st_size;              /* file size, in bytes */
    164164        __int64_t st_blocks;            /* blocks allocated for file */
    165165        __uint32_t st_blksize;          /* optimal blocksize for I/O */
    166 #if 1 /* bird: emx: */
    167         long      st_attr;              /* emx: OS/2 & DOS attributes */
    168 #else /* bird: emx */
    169 
    170166        fflags_t  st_flags;             /* user defined flags for file */
    171167        __uint32_t st_gen;              /* file generation number */
     168#if 0 /* bird: !emx - it's higher up for packing reasons */
    172169        __int32_t st_lspare;
     170#endif /* bird */
    173171#if __BSD_VISIBLE
    174172        struct timespec st_birthtimespec; /* time of file creation */
     
    189187        unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));
    190188#endif
    191 #endif /* bird: emx - end */
    192189};
    193190
     
    220217#endif /* bird: emx */
    221218
    222 #if 0  /* bird: emx */
    223219#if __BSD_VISIBLE
    224220#define st_atime st_atimespec.tv_sec
     
    227223#define st_birthtime st_birthtimespec.tv_sec
    228224#endif
    229 #endif /* bird: emx */
    230225
    231226#define S_ISUID 0004000                 /* set user id on execution */
Note: See TracChangeset for help on using the changeset viewer.