mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 08:10:31 +02:00
63 lines
1.7 KiB
ObjectPascal
63 lines
1.7 KiB
ObjectPascal
program example29;
|
|
|
|
{ Program to demonstrate the LStat function. }
|
|
|
|
uses linux;
|
|
|
|
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 not fstat ('test.fil',info) then
|
|
begin
|
|
writeln('Fstat failed. Errno : ',linuxerror);
|
|
halt (1);
|
|
end;
|
|
writeln;
|
|
writeln ('Result of fstat on file ''test.fil''.');
|
|
writeln ('Inode : ',info.ino);
|
|
writeln ('Mode : ',info.mode);
|
|
writeln ('nlink : ',info.nlink);
|
|
writeln ('uid : ',info.uid);
|
|
writeln ('gid : ',info.gid);
|
|
writeln ('rdev : ',info.rdev);
|
|
writeln ('Size : ',info.size);
|
|
writeln ('Blksize : ',info.blksze);
|
|
writeln ('Blocks : ',info.blocks);
|
|
writeln ('atime : ',info.atime);
|
|
writeln ('mtime : ',info.mtime);
|
|
writeln ('ctime : ',info.ctime);
|
|
|
|
If not SymLink ('test.fil','test.lnk') then
|
|
writeln ('Link failed !': linuxerror);
|
|
|
|
if not lstat ('test.lnk',info) then
|
|
begin
|
|
writeln('LStat failed. Errno : ',linuxerror);
|
|
halt (1);
|
|
end;
|
|
writeln;
|
|
writeln ('Result of fstat on file ''test.lnk''.');
|
|
writeln ('Inode : ',info.ino);
|
|
writeln ('Mode : ',info.mode);
|
|
writeln ('nlink : ',info.nlink);
|
|
writeln ('uid : ',info.uid);
|
|
writeln ('gid : ',info.gid);
|
|
writeln ('rdev : ',info.rdev);
|
|
writeln ('Size : ',info.size);
|
|
writeln ('Blksize : ',info.blksze);
|
|
writeln ('Blocks : ',info.blocks);
|
|
writeln ('atime : ',info.atime);
|
|
writeln ('mtime : ',info.mtime);
|
|
writeln ('ctime : ',info.ctime);
|
|
{ Remove file and link }
|
|
erase (f);
|
|
unlink ('test.lnk');
|
|
end. |