Системное программирование в UNIX средствами Free Pascal


         

Result of fstat on file


  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 ! Errno :',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.
Элементы структуры stat имеют следующие значения:
– dev, ino
Первый из элементов структуры описывает логическое устройство, на котором находится файл, а второй задает номер индексного дескриптора
(inode number), который вместе с dev однозначно определяет файл. Фактически и dev, и ino относятся к низкоуровневому управлению структурой файлов UNIX. Эти понятия будут рассмотрены в следующей главе.
– mode
Этот элемент задает режим доступа к файлу и позволяет программисту вычислить связанные с файлом права доступа. Здесь следует сделать предостережение. Значение, содержащееся в переменной mode, также дает информацию о типе файла, и только младшие 12 бит относятся к правам доступа. Это станет очевидно в главе 4.
– nlink
Число ссылок, указывающих на этот файл (другими словами, число различных имен файла, так как жесткие ссылки неотличимы от «настоящего» имени). Это значение обновляется при каждом системном вызове link и unlink.

Содержание  Назад  Вперед