ex29.pp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. program example29;
  2. { Program to demonstrate the LStat function. }
  3. uses BaseUnix,Unix;
  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 fpstat ('test.fil',info)<>0 then
  15. begin
  16. writeln('Fstat failed. Errno : ',fpgeterrno);
  17. halt (1);
  18. end;
  19. writeln;
  20. writeln ('Result of stat on file ''test.fil''.');
  21. writeln ('Inode : ',info.st_ino);
  22. writeln ('Mode : ',info.st_mode);
  23. writeln ('nlink : ',info.st_nlink);
  24. writeln ('uid : ',info.st_uid);
  25. writeln ('gid : ',info.st_gid);
  26. writeln ('rdev : ',info.st_rdev);
  27. writeln ('Size : ',info.st_size);
  28. writeln ('Blksize : ',info.st_blksize);
  29. writeln ('Blocks : ',info.st_blocks);
  30. writeln ('atime : ',info.st_atime);
  31. writeln ('mtime : ',info.st_mtime);
  32. writeln ('ctime : ',info.st_ctime);
  33. If fpSymLink ('test.fil','test.lnk')<>0 then
  34. writeln ('Link failed ! Errno :',fpgeterrno);
  35. if fplstat ('test.lnk',@info)<>0 then
  36. begin
  37. writeln('LStat failed. Errno : ',fpgeterrno);
  38. halt (1);
  39. end;
  40. writeln;
  41. writeln ('Result of fstat on file ''test.lnk''.');
  42. writeln ('Inode : ',info.st_ino);
  43. writeln ('Mode : ',info.st_mode);
  44. writeln ('nlink : ',info.st_nlink);
  45. writeln ('uid : ',info.st_uid);
  46. writeln ('gid : ',info.st_gid);
  47. writeln ('rdev : ',info.st_rdev);
  48. writeln ('Size : ',info.st_size);
  49. writeln ('Blksize : ',info.st_blksize);
  50. writeln ('Blocks : ',info.st_blocks);
  51. writeln ('atime : ',info.st_atime);
  52. writeln ('mtime : ',info.st_mtime);
  53. writeln ('ctime : ',info.st_ctime);
  54. { Remove file and link }
  55. erase (f);
  56. fpunlink ('test.lnk');
  57. end.