home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c220 / 4.ddi / INC / STAT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-16  |  1.7 KB  |  93 lines

  1. /*
  2.  *   stat.h -- non-ANSI
  3.  *
  4.  *   Function, types and constants for determining device and file status.
  5.  *
  6.  *           Copyright (c) 1990, MetaWare Incorporated
  7.  */
  8.  
  9. #ifndef _STAT_H
  10. #define _STAT_H
  11.  
  12. #define _S_IFMT   61440
  13. #define _S_IFDIR  16384
  14. #define _S_IFCHR   8192
  15. #define _S_IFREG  32768
  16. #define _S_IREAD    256
  17. #define _S_IWRITE   128
  18. #define _S_IEXEC     64
  19.  
  20. #ifndef _TIME_T_DEFINED
  21. #define _TIME_T_DEFINED
  22. typedef long time_t;
  23. #endif
  24.  
  25. #ifndef _INO_T_DEFINED
  26. #define _INO_T_DEFINED
  27. typedef unsigned short _ino_t;
  28. #endif
  29.  
  30. #ifndef _DEV_T_DEFINED
  31. #define _DEV_T_DEFINED
  32. typedef short _dev_t;
  33. #endif
  34.  
  35. #ifndef _OFF_T_DEFINED
  36. #define _OFF_T_DEFINED
  37. typedef long _off_t;
  38. #endif
  39.  
  40. #ifndef _STAT_DEFINED
  41. #define _STAT_DEFINED
  42. struct _stat {
  43.     _dev_t st_dev;
  44.     _ino_t st_ino;
  45.     unsigned short st_mode;
  46.     short st_nlink;
  47.     short st_uid;
  48.     short st_gid;
  49.     _dev_t st_rdev;
  50.     _off_t st_size;
  51.     time_t st_atime;
  52.     time_t st_mtime;
  53.     time_t st_ctime;
  54.     };
  55. #endif
  56.  
  57. extern _stat(char * __path, struct _stat * __buffer);
  58.  
  59. #if __HIGHC__
  60.  
  61. #define S_IFMT   _S_IFMT
  62. #define S_IFDIR  _S_IFDIR
  63. #define S_IFCHR  _S_IFCHR
  64. #define S_IFREG  _S_IFREG
  65. #define S_IREAD  _S_IREAD
  66. #define S_IWRITE _S_IWRITE
  67. #define S_IEXEC  _S_IEXEC
  68.  
  69. #define ino_t _ino_t
  70. #define dev_t _dev_t
  71. #define off_t _off_t
  72. #ifndef _STAT_DEFINED_
  73. #define _STAT_DEFINED_
  74. struct stat {
  75.     _dev_t st_dev;
  76.     _ino_t st_ino;
  77.     unsigned short st_mode;
  78.     short st_nlink;
  79.     short st_uid;
  80.     short st_gid;
  81.     _dev_t st_rdev;
  82.     _off_t st_size;
  83.     time_t st_atime;
  84.     time_t st_mtime;
  85.     time_t st_ctime;
  86.     };
  87. #endif
  88. extern stat(char * __path, struct stat * __buffer);
  89.  
  90. #endif /* __HIGHC__ */
  91.  
  92. #endif /* _STAT_H */
  93.