5 * Revision 1.1.1.1 1996/02/15 17:49:31 mclareni
10 CERN PROGLIB# Z265 LSTATI .VERSION KERNFOR 4.38 931108
11 C ORIG. 24/03/91, RDM + JZ
12 Fortran interface routine to lstat
15 #include <sys/types.h>
17 #include "kerngen/fortchar.inc"
18 #if defined(CERNLIB_QX_SC)
19 int lstati_(fname, info, lgname, slate)
21 #if defined(CERNLIB_QXNO_SC)
22 int lstati(fname, info, lgname, slate)
24 #if defined(CERNLIB_QXCAPT)
25 int LSTATI(fname, info, lgname, slate)
27 #if defined(CERNLIB_QMCRY)
30 #if !defined(CERNLIB_QMCRY)
41 char *ptname, *fchtak();
45 ptname = fchtak(fname,*lgname);
46 if (ptname == NULL) goto out1;
48 buf = (struct stat *) malloc(sizeof (struct stat));
49 if (buf == NULL) goto out2;
51 istat = lstat(ptname, buf);
54 info[0] = (int) buf->st_dev;
55 info[1] = (int) buf->st_ino;
56 info[2] = (int) buf->st_mode;
57 info[3] = (int) buf->st_nlink;
58 info[4] = (int) buf->st_uid;
59 info[5] = (int) buf->st_gid;
60 info[6] = (int) buf->st_size;
61 info[7] = (int) buf->st_atime;
62 info[8] = (int) buf->st_mtime;
63 info[9] = (int) buf->st_ctime;
64 #if (!defined(CERNLIB_QMSGI))&&(!defined(CERNLIB_QMDOS))
65 info[10] = (int) buf->st_blksize;
66 info[11] = (int) buf->st_blocks;
68 #if defined(CERNLIB_QMDOS)
72 info[10] = (int) buf->st_blksize;
76 #if defined(CERNLIB_QMSGI)
80 *slate++ = (buf->st_mode & S_IFMT) ^ S_IFREG;
81 #if !defined(CERNLIB_QMDOS)
82 *slate++ = (buf->st_mode & S_IFMT) ^ S_IFLNK;
84 #if defined(CERNLIB_QMDOS)
87 *slate++ = (buf->st_mode & S_IFMT) ^ S_IFDIR;
98 /*> END <----------------------------------------------------------*/