home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 9 / FreshFishVol9-CD2.bin / bbs / gnu / libnix-0.8-src.lha / libnix-0.8 / sources / nix / extra / fstat.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-12  |  586 b   |  29 lines

  1. #include <sys/types.h>
  2. #include <sys/stat.h>
  3. #include <dos/dosextens.h>
  4. #ifdef __GNUC__
  5. #include <inline/dos.h>
  6. #endif
  7.  
  8. extern int __stat(struct stat *buf,struct FileInfoBlock *fib);
  9. extern void __seterrno(void);
  10.  
  11. extern unsigned long *__stdfiledes;
  12.  
  13. int fstat(int d,struct stat *buf)
  14. { struct FileInfoBlock *fib;
  15.   int ret=-1;
  16.  
  17.   if((fib=(struct FileInfoBlock *)AllocDosObject(DOS_FIB,NULL))!=NULL)
  18.   {
  19.     if(ExamineFH(__stdfiledes[d],fib)!=DOSFALSE)
  20.       ret=__stat(buf,fib);
  21.     else
  22.       __seterrno();
  23.     FreeDosObject(DOS_FIB,fib);
  24.   }
  25.   else
  26.     __seterrno();
  27.   return ret;
  28. }
  29.