Board.KolibriOS.org
http://board.kolibrios.org/

Автомонтирование дополнительного раздела с приложениями
http://board.kolibrios.org/viewtopic.php?f=1&t=2319
Page 6 of 8

Author:  Mario_r4 [ Thu Jun 20, 2013 10:28 pm ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

0CodErr wrote:
С поиском понятно. Кроме "sys" можно примонтировать, например, "rd" или "hd0".

Я же говорю - на совести прикладного программиста, а то что ты привел с "sys" было действительно багом, но не моим, а предыдущего автора.
Я не могу ввести 100500 проверок для разных вариантов, учитывающих защиту от дурака во всех случаях, так как это сильно раздует код, а раздутому код в ядре делать нечего.

Author:  Mario_r4 [ Fri Jun 28, 2013 10:46 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

SVN r. 3724 - уменьшение эффекта блокировки файловой системы за счет добавления mcall 68,1

Author:  Mario_r4 [ Fri Jun 28, 2013 10:53 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

По мотивам требований отдельных трудящихся есть идея доработать функцию до следующего функционала.
1) Получить таблицу со всеми входами.
2) Добавить между указанными слотами новый слот (сдвинуть нижележащие данные на одну позицию вниз) и соответственно увеличить указатель количества входов.
3) Удалить указанный слот (сдвинуть нижележащие данные на одну позицию вверх) и соответственно уменьшить указатель количества входов.
Флаг блокировки естественно придется похерить.

Также еще нужно использовать мьютексы вместо CLI.

Author:  Serge [ Fri Jun 28, 2013 12:26 pm ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Mario_r4
Больше костылей, хороших и разных ?
Делай тогда двусвязный список. Проще будет манипулировать.

Author:  Mario_r4 [ Fri Jun 28, 2013 3:28 pm ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Serge wrote:
Mario_r4
Больше костылей, хороших и разных ?
Делай тогда двусвязный список. Проще будет манипулировать.

Не, ну я могу вообще не делать. Мне лично оно не нужно. А вообще... помнишь мы с тобой все еще обсуждаем вероятность реализации буфера обмена, года три уже. Вот как то так.

Author:  Serge [ Mon Jul 08, 2013 10:19 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Mario_r4
А можно, пока ещё не слишком поздно, заменить /addappl на /KolibriOS ?
Будут KolibriOS на диске и виртуальный каталог.

Author:  Mario_r4 [ Mon Jul 08, 2013 10:29 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Serge
Не знаю чем продиктовано такое желание, но я не возражаю - меняй.
Также требуется менять скрипты автосборки и menu.dat

Author:  Serge [ Mon Jul 08, 2013 10:44 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Mario_r4
addappl как-то глаз режет.
Ок, меняю.

Author:  Mario_r4 [ Mon Jul 08, 2013 10:55 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Заменяй лучше на имя в нижнем регистре, т.е. /kolibrios, чтобы было меньше проблем с фс чувствительными к регистру.
Также перед заливкой на SVN так стоит подумать насчет наличия коллизий, т.к. имена одинаковые. Хотя теоретически проблем быть не должно.

Author:  Serge [ Mon Jul 08, 2013 11:22 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Mario_r4
Quote:
Заменяй лучше на имя в нижнем регистре

Поздно.
Imho все имена точек монтирования типа /rd/1 /hd0/1 /bd0/1 и т.д должны быть нечувствительны к регистру. это сильно упростит жизнь. На самом разделе, как файловой системе угодно.

Author:  Serge [ Mon Jul 08, 2013 1:06 pm ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Странно. Если монтировать как /KolibriOS, то не работает, а если /kolibrios, то работает. При этом в ассоциациях написано KolibriOS .

Author:  Leency [ Mon Sep 02, 2013 12:42 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Есть пара предложений:
1 вариант (простой): если SEARCHAP запустили с параметром, например /hd0/2/kolibri/, то программа монтирует параметр запуска как /KolibriOS и ничего не ищет

2 вариант (продвинутый):
- программа запущена с параметром -auto - автоматический поиск разделов
- любой другой параметр, который начинается со слеша / - установить папку как /KolibriOS
- запуск без параметра или с непонятным - открывается GUI. В окне - кнопка автоматический поиск и кнопка обзор берез OpenDialog для задания папки вручную.

Author:  Mario_r4 [ Mon Sep 02, 2013 1:31 am ]
Post subject:  Re: Автомонтирование дополнительного раздела с приложениями

Программа ведь не с потолка в названии содержит слово SEARCH - задавая заранее определенный путь надо быть заранее уверенным, что такой путь существует.

З.Ы. Поскольку моя идея была названа очередным "костылем", то я не хочу ее развивать дальше. Кому нужно пусть тот и допиливает или делает более идеальный вариант с пони и бабочками. Мне лично более того что есть не нужно.

Author:  Leency [ Mon Sep 16, 2013 11:47 pm ]
Post subject:  Помогите новичку 2

Я правильно использую функцию 30.3? Что-то не работает.
Code:
struct sysdir
{
   char name[64];
   char path[64];
} sysdir;

inline fastcall int SetAddApplDir( ECX)
{
   $mov eax, 30
   $mov ebx, 3
   $int 0x40
}

void KosFol(){
   strcpy(#sysdir.name,"kolibrios");
   strcpy(#sysdir.path,"/sys");
   SetAddApplDir(#sysdir);
   RunProgram("/kolibrios/calc","");
}

Author:  Mario_r4 [ Mon Sep 16, 2013 11:56 pm ]
Post subject:  Re: Помогите новичку

Автомонтирование дополнительного раздела с приложениями
Mario_r4 wrote:
SVN r. 3663 - в ядро добавлена ф.30.3, для монтирования дополнительного системного каталога. Можно вызвать только один раз за сеанс (блокировка предусмотрена) и используется для программы SEARCHAP (залита в SVN r. 3650).

Прежде чем спрашивать "Нафига?" нужно прочитать целевую тему. Также предлагаю дальнейшие сообщения писать в целевой теме.

Теперь собственно по использованию - документацию надо читать внимательно:
Spoiler: Show
---- Подфункция 3 - установить доп. системную директорию для ядра ----
Code:
Параметры:
  * eax = 30 - номер функции
  * ebx = 3 - номер подфункции
  * ecx = указатель на блок данных:
          sysdir_name     rb 64
          sysdir_path     rb 64
Пример:
dir_name1       db 'KolibriOS',0
                rb 64-8
dir_path1       db 'HD0/1',0
                rb 64-6
Возвращаемое значение:
  * функция не возвращает значения
Замечания:
  * Функция может быть вызвана только 1 раз за 1 сессию работы ОС.

Погляди внимательно и ты увидишь свою ошибку.
Подсказка:
Spoiler: Show
проблема в sysdir.path

Page 6 of 8 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/