Автомонтирование дополнительного раздела с приложениями

Internal structure and you change requests/suggestions
  • SVN r. 3724 - уменьшение эффекта блокировки файловой системы за счет добавления mcall 68,1
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • По мотивам требований отдельных трудящихся есть идея доработать функцию до следующего функционала.
    1) Получить таблицу со всеми входами.
    2) Добавить между указанными слотами новый слот (сдвинуть нижележащие данные на одну позицию вниз) и соответственно увеличить указатель количества входов.
    3) Удалить указанный слот (сдвинуть нижележащие данные на одну позицию вверх) и соответственно уменьшить указатель количества входов.
    Флаг блокировки естественно придется похерить.

    Также еще нужно использовать мьютексы вместо CLI.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    Больше костылей, хороших и разных ?
    Делай тогда двусвязный список. Проще будет манипулировать.
  • Serge wrote:Mario_r4
    Больше костылей, хороших и разных ?
    Делай тогда двусвязный список. Проще будет манипулировать.
    Не, ну я могу вообще не делать. Мне лично оно не нужно. А вообще... помнишь мы с тобой все еще обсуждаем вероятность реализации буфера обмена, года три уже. Вот как то так.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    А можно, пока ещё не слишком поздно, заменить /addappl на /KolibriOS ?
    Будут KolibriOS на диске и виртуальный каталог.
  • Serge
    Не знаю чем продиктовано такое желание, но я не возражаю - меняй.
    Также требуется менять скрипты автосборки и menu.dat
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    addappl как-то глаз режет.
    Ок, меняю.
  • Заменяй лучше на имя в нижнем регистре, т.е. /kolibrios, чтобы было меньше проблем с фс чувствительными к регистру.
    Также перед заливкой на SVN так стоит подумать насчет наличия коллизий, т.к. имена одинаковые. Хотя теоретически проблем быть не должно.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    Заменяй лучше на имя в нижнем регистре
    Поздно.
    Imho все имена точек монтирования типа /rd/1 /hd0/1 /bd0/1 и т.д должны быть нечувствительны к регистру. это сильно упростит жизнь. На самом разделе, как файловой системе угодно.
  • Странно. Если монтировать как /KolibriOS, то не работает, а если /kolibrios, то работает. При этом в ассоциациях написано KolibriOS .
  • Есть пара предложений:
    1 вариант (простой): если SEARCHAP запустили с параметром, например /hd0/2/kolibri/, то программа монтирует параметр запуска как /KolibriOS и ничего не ищет

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

    З.Ы. Поскольку моя идея была названа очередным "костылем", то я не хочу ее развивать дальше. Кому нужно пусть тот и допиливает или делает более идеальный вариант с пони и бабочками. Мне лично более того что есть не нужно.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Я правильно использую функцию 30.3? Что-то не работает.

    Code: Select all

    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","");
    }
    
    Из хаоса в космос
  • Автомонтирование дополнительного раздела с приложениями
    Mario_r4 wrote:SVN r. 3663 - в ядро добавлена ф.30.3, для монтирования дополнительного системного каталога. Можно вызвать только один раз за сеанс (блокировка предусмотрена) и используется для программы SEARCHAP (залита в SVN r. 3650).
    Прежде чем спрашивать "Нафига?" нужно прочитать целевую тему. Также предлагаю дальнейшие сообщения писать в целевой теме.

    Теперь собственно по использованию - документацию надо читать внимательно:
    Spoiler:---- Подфункция 3 - установить доп. системную директорию для ядра ----

    Code: Select all

    Параметры:
      * 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:проблема в sysdir.path
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Who is online

    Users browsing this forum: No registered users and 5 guests