Книга: Linux программирование в примерах
5.3.1.2. Элементы каталогов Linux и BSD
5.3.1.2. Элементы каталогов Linux и BSD
Хотя мы только что сказали, что вам следует использовать лишь члены d_ino
и d_name
структуры struct dirent
, стоит знать о члене d_type
в struct dirent
BSD и Linux. Это значение unsigned char
, в котором хранится тип файла, имя которого находится в элементе каталога:
struct dirent {
может принимать любые значения, описанные в табл. 5.1.
...
ino_t d_ino; /* Как ранее */
char d_name[...]; /* Как ранее */
unsigned char d_type; /* Linux и современная BSD */
...
};
d_type
Таблица 5.1. Значения для d_type
Имя | Значение |
---|---|
DT_BLK |
Файл блочного устройства |
DT_CHR |
Файл символьного устройства |
DT_DIR |
Каталог |
DT_FIFO |
FIFO или именованный канал |
DT_LNK |
Символическая ссылка |
DT_REG |
Обычный файл |
DT_SOCK |
Сокет |
DT_UNKNOWN |
Неизвестный тип файла |
DT_WHT |
Нет элемента (только системы BSD) |
Знание типа файла просто путем чтения элемента каталога очень удобно; это может сэкономить на возможно дорогом системном вызове stat()
. (Вызов stat()
вскоре будет описан в разделе 5.4.2 «Получение информации о файле».)
- Заполнение справочников и каталогов
- InterBase Classic Server под Linux
- Каталог BIN в InterBase Classic Server для Linux
- 6.4. Рабочий лист Excel и его структурные элементы
- Chapter 16. Commercial products based on Linux, iptables and netfilter
- 4.4. Логические элементы и синтез логических схем
- 4.7 Структурные элементы SAN
- Вложение файлов в элементы списков
- 1 Введение в Linux
- 4 Файловая система Linux
- Логические элементы
- 5.2. Основные приемы работы, элементы текстового редактора