ex29.pp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. program example29;
  2. { Program to demonstrate the LStat function. }
  3. uses linux;
  4. var f : text;
  5. i : byte;
  6. info : stat;
  7. begin
  8. { Make a file }
  9. assign (f,'test.fil');
  10. rewrite (f);
  11. for i:=1 to 10 do writeln (f,'Testline # ',i);
  12. close (f);
  13. { Do the call on made file. }
  14. if not fstat ('test.fil',info) then
  15. begin
  16. writeln('Fstat failed. Errno : ',linuxerror);
  17. halt (1);
  18. end;
  19. writeln;
  20. writeln ('Result of fstat on file ''test.fil''.');
  21. writeln ('Inode : ',info.ino);
  22. writeln ('Mode : ',info.mode);
  23. writeln ('nlink : ',info.nlink);
  24. writeln ('uid : ',info.uid);
  25. writeln ('gid : ',info.gid);
  26. writeln ('rdev : ',info.rdev);
  27. writeln ('Size : ',info.size);
  28. writeln ('Blksize : ',info.blksze);
  29. writeln ('Blocks : ',info.blocks);
  30. writeln ('atime : ',info.atime);
  31. writeln ('mtime : ',info.mtime);
  32. writeln ('ctime : ',info.ctime);
  33. If not SymLink ('test.fil','test.lnk') then
  34. writeln ('Link failed ! Errno :',linuxerror);
  35. if not lstat ('test.lnk',info) then
  36. begin
  37. writeln('LStat failed. Errno : ',linuxerror);
  38. halt (1);
  39. end;
  40. writeln;
  41. writeln ('Result of fstat on file ''test.lnk''.');
  42. writeln ('Inode : ',info.ino);
  43. writeln ('Mode : ',info.mode);
  44. writeln ('nlink : ',info.nlink);
  45. writeln ('uid : ',info.uid);
  46. writeln ('gid : ',info.gid);
  47. writeln ('rdev : ',info.rdev);
  48. writeln ('Size : ',info.size);
  49. writeln ('Blksize : ',info.blksze);
  50. writeln ('Blocks : ',info.blocks);
  51. writeln ('atime : ',info.atime);
  52. writeln ('mtime : ',info.mtime);
  53. writeln ('ctime : ',info.ctime);
  54. { Remove file and link }
  55. erase (f);
  56. unlink ('test.lnk');
  57. end.