Узнать размер файла в ядре

Тема в разделе "WASM.UNIX", создана пользователем featurelles, 18 дек 2009.

  1. featurelles

    featurelles New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2009
    Сообщения:
    562
    Подскажите пожалуйста, простой способ узнать размер файла в ядре. (а то что-то у меня с этим проблемы возникли)
    например какуюнить функцию имя_функции( имя_файла )
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    ZwQueryInformationFile class FILE_STANDARD_INFORMATION
     
  3. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    Partner
    Список » WASM.UNIX
    TRUE

    Great: двачую :lol:
     
  4. featurelles

    featurelles New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2009
    Сообщения:
    562
    WASM.UNIX

    По теме ктонить скажет? хотябы как получить указатель на inode по имени файла.
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    filp_open()
     
  6. patolog

    patolog New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    49
    unsigned long GetFileSize( FILE *f){
    unsigned long off_save;
    unsigned long filesize;
    off_save=fseek( f, 0, SEEK_CUR);
    fseek( f, 0, SEEK_END);
    filesize = ftell(f);
    fseek( f, off_save, SEEK_SET);
    return( filesize);
    }
     
  7. patolog

    patolog New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    49
    бл* , я просмарел про "в ядре"
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Конечно не спец по ядру Юникса, но он поддерживает кроме etx, fat32, fat , minix и т.д. Отсюда следует, что
    2-й вопрос не имеет смысла, а первый вряд ли имеет ...
    Тут как раз в очередной раз восстанавливаю загрузку Линукса. Как известно нормальное ядро вообще не содержало поддержку никаких файловых систем и без initrd работать не умело. После длинных ругательств все-таки кое-что включили(приклеили) в ядро. Но ... это дела не меняет.
     
  9. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    LOL, есть же stat()/fstat()
     
  10. featurelles

    featurelles New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2009
    Сообщения:
    562
    n0name
    ответил более менее верно.
    Через filp_open получаем указатель на struct file
    а дальше, если кому нужно, то вот
    file_ptr = filp_open();
    inode получаем так inode_ptr = file_ptr->f_mapping->host;
     
  11. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    А я просмотрел про "WASM.UNIX" :)