Структура tstat
Структура tstat, которую уже была обсуждена в главе 3, позволяет хранить ин формацию о файле устройства в двух полях:
mode | В случае файла устройства это поле содержит права доступа к файлу, к которым прибавлено восьмеричное значение 060000 для блочных устройств или 020000 для символьных устройств. В модуле linux определены константы STAT_IFBLK и STAT_IFCHR, которые могут использоваться вместо этих чисел | ||
rdev | Это поле содержит старший и младший номера устройства |
Можно вывести эту информацию при помощи команды ls с параметром -l, например:
$ ls -l /dev/tty3
crw--w--w- 1 ben other 8,3 Sep 13 10:19 /dev/tty3
Обратите внимание на символ с в первой строке вывода, что говорит о том, что /dev/tty3 является символьным устройством. Значения 8 и 3 представляют старший и младший номера устройства соответственно.
Можно получить в программе значение поля mode при помощи методики, введенной в упражнении 4.2:
if S_ISCHR(buf.mode) then
writeln('Символьное устройство')
else
writeln('He символьное устройство');
S_ISCHR – это макрос, определенный в модуле linux.