Получить информацию о типе файла/девайса

Тема в разделе "WASM.UNIX", создана пользователем HoShiMin, 26 мар 2018.

  1. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Добрый день форумчанам.
    Нужно любыми способами (в um или в km, сисколлами в коде или утилитами) по имени файла или по дескриптору получить информацию о типе файла (файл ли это, папка, съёмный диск/флешка, смарткарта, сокет и т.д.). Желательно как можно более общим способом.
    stat/fstat/lstat - дают слишком мало информации (файл\папка\блочный или символьный девайс).
    Какие ещё есть варианты?
     
  2. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Одним запросом вряд ли что получится сделать.
    Для начала по-любому надо вызвать stat. Там есть поля st_dev и st_ino.
    Дальше если из userspace - смотрим /proc/devices по st_dev, там уже драйвер задействован.
     
  3. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    lsof показывает перечень открытых процессом файловых дескрипторов (при этом всё равно сканирует /proc), это совсем не из той оперы.
     
  4. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243