/* ** Glue functions for the RCS system needed for the Amiga */ #include #include #include #include #include #include #include #include #include #include "stat.h" #include umask(mode) { return mode; } /* ** This function is used in place of the lattice library function of ** the same name. It handles all modes, not just "rwed". */ chmod(name,mode) char *name; int mode; { long amigamode; int success; amigamode = mode; success = SetProtection(name,amigamode); if (success) return(0); errno = ENOENT; return(-1); } int stat(name,buf) char *name; struct stat *buf; { long l; struct FileInfoBlock *fp,*malloc(); if ((l=Lock(name, ACCESS_READ)) == 0) return(-1); fp = malloc(sizeof(struct FileInfoBlock)); Examine(l, fp); buf->st_attr = fp->fib_Protection; buf->st_size = fp->fib_Size; buf->st_type = fp->fib_DirEntryType; UnLock(l); free(fp); buf->st_mtime = getft(name); return 0; } isatty(fd) int fd; { long IsInteractive(); struct UFB *ufb; ufb = chkufb(fd); if (ufb == NULL) return(-1); return(IsInteractive(ufb->ufbfh) != 0); }