[Overview][Constants][Types][Procedures and functions][Index] | Reference for unit 'BaseUnix' (#rtl)

# FpStat

Retrieve file information about a file descriptor.

## Declaration

Source position: bunxh.inc line 81

`function FpStat(`
`path: pChar;`
`var buf: Stat`
`):cint; function FpStat(`
`const path: RawByteString;`
`var buf: Stat`
`):cint; function FpStat(`
`path: ShortString;`
`var buf: Stat`
`):cint;`

## Description

FpFStat gets information about the file specified in Path, and stores it in Info, which is of type stat. The function returns zero if the call was successful, a nonzero return value indicates failure.

## Errors

Extended error information can be retrieved using fpGetErrno.

sys_enoent
  Path does not exist.

## See also

FpStat |  | Retrieve file information about a file descriptor.
FpLStat |  | Return information about symbolic link. Do not follow the link

## Example

    program example28;

    { Program to demonstrate the FStat function. }

    uses BaseUnix;

    var f : text;
        i : byte;
        info : stat;

    begin
      { Make a file }
      assign (f,'test.fil');
      rewrite (f);
      for i:=1 to 10 do writeln (f,'Testline # ',i);
      close (f);
      { Do the call on made file. }
      if fpstat ('test.fil',info)<>0 then
         begin
           writeln('Fstat failed. Errno : ',fpgeterrno);
           halt (1);
         end;
      writeln;
      writeln ('Result of fstat on file ''test.fil''.');
      writeln ('Inode   : ',info.st_ino);
      writeln ('Mode    : ',info.st_mode);
      writeln ('nlink   : ',info.st_nlink);
      writeln ('uid     : ',info.st_uid);
      writeln ('gid     : ',info.st_gid);
      writeln ('rdev    : ',info.st_rdev);
      writeln ('Size    : ',info.st_size);
      writeln ('Blksize : ',info.st_blksize);
      writeln ('Blocks  : ',info.st_blocks);
      writeln ('atime   : ',info.st_atime);
      writeln ('mtime   : ',info.st_mtime);
      writeln ('ctime   : ',info.st_ctime);
      { Remove file }
      erase (f);
    end.