home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 9 / FreshFishVol9-CD2.bin / bbs / disk / mkisofs-1.00.7.lha / mkisofs / unix / unixlib.h < prev   
C/C++ Source or Header  |  1994-05-29  |  2KB  |  114 lines

  1. /* unixlib.h: */
  2.  
  3. /* UNIX-like tools for the Commodore Amiga;
  4.    by F Munkert;
  5.    1993
  6. */
  7.  
  8. #include <time.h>
  9.  
  10. typedef unsigned long ino_t;
  11. typedef unsigned long dev_t;
  12.  
  13. /* getopt.c: */
  14.  
  15. extern char *optarg;
  16. extern int optind;
  17.  
  18. extern int getopt (int, char **, char *);
  19.  
  20.  
  21.  
  22. /* stat.h: */
  23.  
  24. struct    stat {    
  25.   int       st_dev;
  26.   int       st_ino;
  27.   int       st_mode;
  28.   int       st_nlink;
  29.   int       st_uid;
  30.   int       st_gid;
  31.   int       st_rdev;
  32.   int        st_size;
  33.   time_t    st_atime;
  34.   time_t    st_mtime;
  35.   time_t    st_ctime;
  36. };
  37.  
  38. #define R_OK 4
  39. #define W_OK 2
  40. #define X_OK 1
  41. #define F_OK 0
  42.  
  43. #define S_ISFIFO(mode)    0
  44. #define S_ISLNK(mode)    0
  45. #define S_ISSOCK(mode)    0
  46. #define S_ISCHR(mode)    0
  47. #define S_ISDIR(mode)    ((mode&0xF000) == 0x4000)
  48. #define S_ISBLK(mode)    0
  49. #define S_ISREG(mode)    ((mode&0xF000) == 0x8000) 
  50.  
  51. #ifdef LATTICE
  52. #undef S_IFREG
  53. #undef S_IFDIR
  54. #undef S_IFMT
  55. #endif
  56.  
  57. #define    S_IFREG        0x8000    /* regular */
  58. #define    S_IFDIR        0x4000    /* directory */
  59.  
  60. #define S_IFMT        0x7000  /* mask for S_IFREG and S_IFDIR */
  61.  
  62. #define    S_IRWXU    00700        /* read, write, execute: owner */
  63. #define    S_IRUSR    00400        /* read permission: owner */
  64. #define    S_IWUSR    00200        /* write permission: owner */
  65. #define    S_IXUSR    00100        /* execute permission: owner */
  66. #define    S_IRWXG    00070        /* read, write, execute: group */
  67. #define    S_IRGRP    00040        /* read permission: group */
  68. #define    S_IWGRP    00020        /* write permission: group */
  69. #define    S_IXGRP    00010        /* execute permission: group */
  70. #define    S_IRWXO    00007        /* read, write, execute: other */
  71. #define    S_IROTH    00004        /* read permission: other */
  72. #define    S_IWOTH    00002        /* write permission: other */
  73. #define    S_IXOTH    00001        /* execute permission: other */
  74.  
  75. int stat (const char *p_name, struct stat *p_stat);
  76. int lstat (const char *p_name, struct stat *p_stat);
  77.  
  78. #ifdef LATTICE
  79. int access (const char *, int);
  80. #else
  81. int access (char *, int);
  82. #endif
  83.  
  84. /* misc.c: */
  85.  
  86. int chmod (const char *p_pathname, int p_mode);
  87.  
  88. /* readdir.c: */
  89.  
  90. typedef struct dirent {
  91.   unsigned short  d_reclen;
  92.   char            d_name[31];
  93. } dirent_t;
  94.  
  95. typedef struct DIR {
  96.   char          *lock;
  97.   char          *fib;
  98.   short          dir_index;
  99.   int          phase;
  100.   dirent_t      dirent;
  101. } DIR;
  102.  
  103. DIR *opendir (const char *p_pathname);
  104. struct dirent *readdir (DIR *p_dir_ptr);
  105. int closedir (DIR *p_dir_ptr);
  106.  
  107. #ifndef LATTICE
  108. #define ENOTDIR EINVAL
  109. #endif
  110.  
  111. /* filename.c: */
  112.  
  113. void remove_dot_files (char *);
  114.