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



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

StatFS

Retrieve filesystem information from a path.

Declaration

Source position: line 0

function StatFS(

  Path: pchar;

  var Info: tstatfs

):cint;

function StatFS(

  Path: ansistring;

  var Info: tstatfs

):cint;

Description

StatFS returns in Info information about the filesystem on which the file Path 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

#rtl.baseunix.FpStat

  

Retrieve file information about a file descriptor.

#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