Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

    __u8 start_part[3];

    __u8 type_part;

    __u8 end_part[3];

    __u32 sect_before;

    __u32 sect_total;

} pt_t[MAX_PART];

 

int hard;        // дескриптор файла устройства

__u8 mbr[512];   // сюда считаем MBR

Номер раздела, на котором создана файловая система FAT32:

#define FAT32_PART_NUM  5

Структуры загрузочного сектора, сектора FSInfo и элемента каталога (определены в файле <linux/msdos>):

struct fat_boot_sector fbs;

struct fat_boot_fsinfo fsinfo;

struct msdos_dir_entry dentry;

 

__u32 *fat32 = NULL;    // сюда копируем таблицу FAT32

__u16 sector_size;      // размер сектора (из FAT32)

__u16 dir_entries;      // 0 для FAT32

__u16 sectors;          // число секторов на разделе

__u32 fat32_size;       // размер FAT32

__u32 data_start;       // начало области данных

__u16 byte_per_cluster; // сколько байт в кластере (размер кластера в байтах)

__u32 next_cluster;     // очередной кластер в цепочке

__u32 root_cluster;     // ROOT cluster - начальный кластер корневого каталога

__u8 *dir_entry = NULL; // указатель на записи каталога

__u64 start_seek = 0;   // стартовое смещение к разделу (в байтах)

Главная функция:

int main()

{

    int num = 0;

    int cluster_num = 5; // сколько кластеров считывать из файла

    __u8 *full_path = "/Folder1/Folder2/readme"; // файл для считывания

Открываем устройство, получаем информацию о таблице разделов на устройстве и отображаем информацию о разделах:

    hard = open(DEV_NAME, O_RDONLY);

    if(hard < 0) {

    perror(DEV_NAME);

    exit(-1);

    }

 

    if(get_pt_info(hard) < 0) {

    perror("get_pt_info");

    exit(-1);

    }

    show_pt_info();

Вычисляем стартовое смещение к разделу:

    start_seek = (__u64)(pt_t[FAT32_PART_NUM - 1].sect_before) * 512;


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100