11.1.3. Типы файлов

11.1.3. Типы файлов

Старшие четыре бита режима файла указывают тип файла. В табл. 11.2 перечислены константы, имеющие отношение к типам файлов. Объединение с помощью битовой операции "И" любых этих констант с режимом файла порождает ненулевое значение, если бит установлен.

Таблица 11.2. Константы типов файлов

Имя Значение (восьмеричное) Описание S_IFMT 00170000 Это значение, побитно объединенное с режимом с помощью операции "И", дает тип файла (который эквивалентен одному из остальных значений S_IF). S_IFSOCK 0140000 Файл является сокетом. S_IFLNK 0120000 Файл является символической ссылкой. S_IFREG 0100000 Файл является обычным файлом. S_IFBLK 0060000 Файл представляет блочное устройство. S_IFDIR 0040000 Файл является каталогом. S_IFCHR 0020000 Файл представляет символьное устройство. S_IFIFO 0010000 Файл представляет коммуникационный канал "первый вошел — первый вышел".

Описанные ниже макросы принимают в качестве аргумента режим файла и возвращают true или false.

S_ISLINK(m) Истинно, если файл является символической ссылкой. S_ISREC(m) Истинно, если файл является обычным файлом. S_ISDIR(m) Истинно, если файл является каталогом. S_ISCHR(m) Истинно, если файл представляет символьное устройство. S_ISBLK(m) Истинно, если файл представляет блоковым устройство. S_ISFIFO(m) Истинно, если файл является каналом "первый вошел — первый вышел" S_ISSOCK(m) Истинно, если файл является сокетом.