Linux не позволяет Вам сделать плоскость read(dir_name, buffer, sizeof(buffer)
- это всегда возвращает-1 и вставляет EISDIR errno
. Это, вероятно, рационально, как не, все файловые системы имеют каталоги как файлы. Наиболее часто используемый reiserfs не делает, например.
Можно использовать open()
системный вызов из программы C для получения дескриптора файла каталога, но вещей как readdir(3)
(от libc) вызов getdents(2)
на самом деле получать записи каталога. Существует, вероятно, код в каждой реализации файловой системы для создания struct linux_dirent
от любого (файл, база данных, дисковое B-дерево), что использование файловой системы для хранения записей каталога.
На самом деле Вы были правы относительно параметра, но не значения. SingleTapTimeout ожидает целого числа (в мс). "30"
работает отлично для меня.