home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_07 / LATTIC_3.ZIP / HEADERS / SYS / STAT.H next >
C/C++ Source or Header  |  1990-01-26  |  2KB  |  76 lines

  1. /*
  2.  * stat.h - UNIX stat and fstat functions
  3.  *
  4.  * Started 22/11/89 Alex G. Kiernan
  5.  *
  6.  * Copyright (c) 1989 HiSoft
  7.  */
  8.  
  9. #ifndef _STAT_H
  10. #define    _STAT_H
  11.  
  12. #ifndef _TIME_T
  13. #define _TIME_T
  14. typedef long time_t;
  15. #endif
  16.  
  17. struct stat
  18. {
  19.     dev_t st_dev;            /* device */
  20.     ino_t st_ino;            /* inode number - not used */
  21.     unsigned short st_mode;    /* mode */
  22.     short st_nlink;            /* number of links == 1 */
  23.     short st_uid;            /* user id == pid */
  24.     short st_gid;            /* group id == pid */
  25.     dev_t st_rdev;            /* real device */
  26.     off_t st_size;            /* file size */
  27.     time_t st_atime;        /* access time */
  28.     time_t st_mtime;        /* modified time */
  29.     time_t st_ctime;        /* changed time */
  30. };
  31.  
  32. #define S_IJRON    0x01        /* read only */
  33. #define S_IJHID    0x02        /* hidden */
  34. #define S_IJSYS    0x04        /* system */
  35. #define S_IJVOL    0x08        /* label */
  36. #define S_IJDIR    0x10        /* directory */
  37. #define S_IJWAC    0x20        /* archive */
  38.  
  39. typedef struct
  40. {
  41.     char d_resvd[21];
  42.     char d_fattr;        /* File attributes */
  43.     long d_tandd;        /* Time and date words */
  44.     long d_fsize;        /* File size */
  45.     char d_fname[14];    /* File name */
  46. } DMABUFFER;
  47.  
  48. #define S_IFMT    0170000
  49. #define S_IFDIR    0040000
  50. #define S_IFCHR    0020000
  51. #define S_IFREG    0100000
  52.  
  53. #define S_IREAD    0000400
  54. #define S_IWRITE    0000200
  55. #define S_IEXEC    0000100
  56.  
  57. #define S_IRWXU    00700        /* read, write, execute - user */
  58. #define S_IRUSR    00400        /* read permission - user */
  59. #define S_IWUSR    00200        /* write permission - user */
  60. #define S_IXUSR    00100        /* execute permission - user */
  61.  
  62. #define S_IRWXG    00070        /* read, write, execute - group */
  63. #define S_IRGRP    00040        /* read permission - group */
  64. #define S_IWGRP    00020        /* write permission - group */
  65. #define S_IXGRP    00010        /* execute permission - group */
  66.  
  67. #define S_IRWXO    00007        /* read, write, execute - other */
  68. #define S_IROTH    00004        /* read permission - other */
  69. #define S_IWOTH    00002        /* write permission - other */
  70. #define S_IXOTH    00001        /* execute permission - other */
  71.  
  72. int fstat(int, struct stat *);
  73. int stat(const char *, struct stat *);
  74.  
  75. #endif
  76.