Linux+FPC. Монтирование флэшки

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Linux+FPC. Монтирование флэшки

Сообщение Вад » 31.08.2006 13:54:14

Встала задача программного монтирования флэшки.

При объявлении в тексте программы внешней функции:

function mount(source:PChar;des:PChar;fstype:PChar;rwflag:Cardinal;
data:Pointer):Integer;cdecl;external 'c';

и её вызове:

mount('/dev/sda1','/mnt/removable1','vfat',1 or 2 or 1024 or MS_MGC_VAL,nil);

флэшка монтируется без проблем, однако есть необходимость передать параметры монтируемой файловой системы (в частности кодировку для отображения русских символов). Мне ясно, что эта информация передаётся в последнем параметре (data:Pointer), но вот с форматом передачи возникли проблемы. Хотелось бы увидеть пример работающего кода от людей, которые уже сталкивались с такого рода задачей
Вад
незнакомец
 
Сообщения: 2
Зарегистрирован: 31.08.2006 13:33:30

Сообщение Alexander » 31.08.2006 22:45:34

Ну незнаю как насчёт программного (не пробовал), а обычная строчка
в fstabs выглядит, например, так.

Код: Выделить всё
/dev/hda1 /mnt/win_c vfat    user,noauto,umask=0,codepage=866,iocharset=cp1251 0 0


codepage - это у файловой системы, а iocharset моя системная локаль.

Второй вариант - а может использовать команду оболочки ?
( uses OldLinux (или как там сейчас правильно?) и Shell('mount') )

Ну и наконец вопрос, а зачем это, если не секрет ? Ведь и ручное и
автомонтирование уже есть.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение SergKam » 01.09.2006 13:24:47

в мане написано:
Код: Выделить всё
Аргумент data интерпретируется разными файловыми системами.  Обычно это строка опций, раздел
       енных запятой, понимаемых этим типом файловой системы.  Смотрите mount(8) для подробной инфо
       рмации об опциях для каждого типа файловой системы.

тоесть обычная С строка, по нашему PChar
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков

Сообщение Вад » 04.09.2006 09:17:48

Спасибо за ответы. В итоге воспользовался вариантом, предложенным SergKam (при одинаковой функциональности не захотелось вызывать команды шэлла).

2 Alexander:

Автомаунт неприемлем по ряду причин.
Зачем мне это нужно: Происходит программное управление несколькими Mp3 flash плэйерами, т.е. прога должна во-первых - управлять процессом воспроизведения, во вторых - переводить плэйер в режим носителя информации, т.е. подключать его по USB, монтировать ФС (что и является темой данного топика) и т.д., а в-третьих - переводить плэйер обратно в режим воспроизведения (что, в частности, исключает вариант единовременного монтирования при старте ОС).
Вад
незнакомец
 
Сообщения: 2
Зарегистрирован: 31.08.2006 13:33:30


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru