help files
Z505 | PasWiki | FUQ | Search | Main Docs | API Guide



[Overview][Constants][Types][Procedures and functions][Variables] Reference for unit 'Unix' (#rtl)

fStatFS

Retrieve filesystem information from a file descriptor.

Declaration

Source position: unix.pp line 103

function fStatFS(

  Fd: cint;

  var Info: tstatfs

):cint;

Description

fStatFS returns in Info information about the filesystem on which the file with file descriptor fd resides. Info is of type TStatFS.

The function returns zero if the call was succesful, a nonzero value is returned if the call failed.

Errors

Extended error information is returned by the FpGetErrno function:

sys_enotdir
A component of Path is not a directory.
sys_einval
Invalid character in Path.
sys_enoent
Path does not exist.
sys_eaccess
Search permission is denied for component inPath.
sys_eloop
A circular symbolic link was encountered in Path.
sys_eio
An error occurred while reading from the filesystem.

See also

StatFS

  

Retrieve filesystem information from a path.

#rtl.baseunix.FpLStat

  

Return information about symbolic link. Do not follow the link

Example

program Example30;

{ Program to demonstrate the FSStat function. }

uses BaseUnix,Unix,UnixType;

var s : string;
    fd : cint;
    info : tstatfs;

begin
  writeln ('Info about current partition : ');
  s:='.';
  while s<>'q' do
    begin
    Fd:=fpOpen(S,O_RDOnly);
    if (fd>=0) then
      begin
      if fstatfs (fd,info)<>0 then
        begin
        writeln('Fstat failed. Errno : ',fpgeterrno);
        halt (1);
        end;
      FpClose(fd);
      writeln;
      writeln ('Result of fsstat on file ''',s,'''.');
      writeln ('fstype  : ',info.fstype);
      writeln ('bsize   : ',info.bsize);
      writeln ('bfree   : ',info.bfree);
      writeln ('bavail  : ',info.bavail);
      writeln ('files   : ',info.files);
      writeln ('ffree   : ',info.ffree);
      {$ifdef FreeBSD}
      writeln ('fsid    : ',info.fsid[0]);
      {$else}
      writeln ('fsid    : ',info.fsid[0]);
      writeln ('Namelen : ',info.namelen);
      {$endif}
      write ('Type name of file to do fsstat. (q quits) :');
      readln (s)

      end;
    end;
end.

Notes

 No notes exist for this page yet. 





lufdoc, Powtils, fpc, freepascal, delphi, kylix, c/c++, mysql, cgi web framework docs, Z505