Annotation of 42BSD/usr.lib/libU77/fstat_.c, revision 1.1.1.1

1.1       root        1: /*
                      2: char id_fstat[] = "@(#)fstat_.c        1.3";
                      3:  *
                      4:  * get file status
                      5:  *
                      6:  * calling sequence:
                      7:  *     integer fstat, statb(12)
                      8:  *     call fstat (name, statb)
                      9:  * where:
                     10:  *     'statb' will receive the stat structure for file 'name'.
                     11:  */
                     12: 
                     13: #include <sys/types.h>
                     14: #include <sys/stat.h>
                     15: #include "../libI77/f_errno.h"
                     16: #include "../libI77/fiodefs.h"
                     17: 
                     18: extern unit units[];
                     19: 
                     20: long fstat_(lunit, stbuf)
                     21: long *lunit, *stbuf;
                     22: {
                     23:        struct stat statb;
                     24: 
                     25:        if (*lunit < 0 || *lunit >= MXUNIT)
                     26:                return((long)(errno=F_ERUNIT));
                     27:        if (!units[*lunit].ufd)
                     28:                return((long)(errno=F_ERNOPEN));
                     29:        if (fstat(fileno(units[*lunit].ufd), &statb) == 0)
                     30:        {
                     31:                *stbuf++ = statb.st_dev;
                     32:                *stbuf++ = statb.st_ino;
                     33:                *stbuf++ = statb.st_mode;
                     34:                *stbuf++ = statb.st_nlink;
                     35:                *stbuf++ = statb.st_uid;
                     36:                *stbuf++ = statb.st_gid;
                     37:                *stbuf++ = statb.st_rdev;
                     38:                *stbuf++ = statb.st_size;
                     39:                *stbuf++ = statb.st_atime;
                     40:                *stbuf++ = statb.st_mtime;
                     41:                *stbuf++ = statb.st_ctime;
                     42:                *stbuf++ = statb.st_blksize;
                     43:                return(0L);
                     44:        }
                     45:        return ((long)errno);
                     46: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.