Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с супер блоком reiserfs  (Прочитано 7603 раз)
0 Пользователей и 1 Гость смотрят эту тему.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« : 07-05-2008 11:29 » 

Все очень просто, все невероятно просто... Не понял  Жжешь

Собственно мне всего лишь нужно создать экземпляр структуры struct reiserfs_super_block. По заверениям http://p-nand-q.com/download/rfstool/reiserfs_docs.html документации ее можно заюзать подключив reiserfs_fs_sb.h

Что мы имеем, мы имеем установленные devel, header, sources ядра, в /usr/src/linux/current-kernel/bla-bla/ лежит этот самый reiserfs_fs_sb.h, но его так не подключишь. Немного погуглив я нашел что для того что бы использовать эту структуру нужно подключить <linux/reiserfs_fs.h>, ага но после его подключения компилятор начинает ругаться что внутри этого файла есть ошибки  Меня одолевают смутные сомнения мдаааа, понятно, что ничего не понятно, в общем я пробовал разные варианты, а нужно и правильного так и не нашел.

ВОПРОС: что нужно сделать для того что бы я мог в теле своей программы создать экземпляр структуры struct reiserfs_super_block?

З.Ы. эта структура из libparted.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 07-05-2008 15:52 » 

Сбой на при компиляции. Проблема - неопределен макрос container_of - он находится в linux/kernel.h, но добраться до него можно только объявив макрос __KERNEL__, что нужно только для ядра и модулей, а для приложений не должно быть опрделено. Т.е., файл linux/reiserfs_fs.h не предназаначен для твоих целей - используй linux/reiserfs_fs_sb.h.

Можешь тупо скопировать объявление структуры...
« Последнее редактирование: 07-05-2008 15:56 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #2 : 10-05-2008 21:20 » 

RXL, что самое интересное, так это то что нет там такого файла (там, это вот тут /usr/include/linux/) ,а есть только reiserfs_fs.h

reiserfs_fs_sb.h, есть только в /usr/src/linux-headers-2.6.24-16-generic/include/linux/reiserfs_fs_sb.h, если сделать симлинк, то компилятор начинает лезть в этот файл и говорить что в нем есть ошибки!!!

Тупо скопировать тоже не подойдет, так как начинает ругаться на не известные типы функций.
« Последнее редактирование: 10-05-2008 21:58 от McZim » Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #3 : 11-05-2008 06:06 » 

Разобрался. изменил типы функций и все гуд.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines