MVM API
Материал из Русский WINE
Содержание
SVC API
API супервизорных вызовов (Supervisor calls) предназначен для вызова сервисов хоста из MVM.
Функции
| Функция | Имя | Эквивалент INT 21h | Описание |
|---|---|---|---|
| 0 | SVC_DUPHANDLE | AH=45h | Дублировать дескриптор (параметры и результат такие же, как в INT 21H AH=45H) |
| 1 | SVC_ERROREXIT | AH=4Ch | Завершить MVM с сообщением об ошибке (вершина стека — дальний указатель на ASCIIZ-строку сообщения) |
| 2 | SVC_EXIT | AH=4Ch | Завершить MVM и вернуть код родительскому процессу из AX |
| 3 | SVC_CLOSE | AH=3Eh | Закрыть файловый дескриптор (интерфейс ещё не исследован) |
| 4 | SVC_RESETDISK | AH=0Dh | Сбросить дисковые буферы |
| 5 | SVC_GETPSP | AH=62h | Получить текущий PSP (интерфейс ещё не исследован) |
| 6 | SVC_SELECTDRIVE | AH=0Eh | Выбрать диск по умолчанию (параметры и результат такие же, как в INT 21H AH=0EH) |
| 7 | SVC_SETDTA | AH=1Ah | Установить DTA из DS:DX (параметры и результат такие же, как в INT 21H AH=1AH) |
| 8 | SVC_GETVERSION | AH=30h | Получить версию (интерфейс ещё не исследован) |
| 9 | SVC_WRITE | AH=40h | Записать в файловый дескриптор (интерфейс ещё не исследован) |
| 10 | SVC_SETDATE | AH=2Bh | Установить системную дату (параметры и результат такие же, как в INT 21H AH=2BH) |
| 11 | SVC_SETTIME | AH=2Dh | Установить системное время (параметры и результат такие же, как в INT 21H AH=2DH) |
| 12 | SVC_GETDATE | AH=2Ah | Получить системную дату (результат такой же, как в INT 21H AH=2AH) |
| 13 | SVC_GETTIME | AH=2Ch | Получить системное время (результат такой же, как в INT 21H AH=2CH) |
| 14 | SVC_READ | AH=3Fh | Читать из файлового дескриптора (интерфейс ещё не исследован) |
| 15 | SVC_CHGFILEPTR | AH=42h | Установить позицию файлового дескриптора (интерфейс ещё не исследован) |
| 16 | SVC_RMDIR | AH=3Ah | Удалить каталог (параметры и результат такие же, как в INT 21H AH=3AH) |
| 17 | SVC_MKDIR | AH=39h | Создать каталог (интерфейс ещё не исследован) |
| 18 | SVC_QCURDIR | AH=47h | Получить текущий каталог (параметры и результат такие же, как в INT 21H AH=47H) |
| 19 | SVC_CHDIR | AH=3Bh | Сменить каталог (параметры и результат такие же, как в INT 21H AH=3BH) |
| 20 | SVC_GETSETFILETIME | AH=57h | Получить/установить время файла (интерфейс ещё не исследован) |
| 21 | SVC_COMMITFILE | AH=68h | Зафиксировать файл (интерфейс ещё не исследован) |
| 22 | SVC_FINDFIRSTFCB | AH=11h | Найти первый файл с использованием FCB (интерфейс ещё не исследован) |
| 23 | SVC_FINDNEXTFCB | AH=12h | Найти следующий файл с использованием FCB (интерфейс ещё не исследован) |
| 24 | |||
| 25 | SVC_FINDFIRST | AH=4Eh | Найти первый файл (интерфейс ещё не исследован) |
| 26 | |||
| 27 | |||
| 28 | SVC_OPEN | AH=3Dh | Открыть файл (интерфейс ещё не исследован) |
| 29 | SVC_DELETEFCB | AH=13h | Удалить файл с использованием FCB (DS:DX → незакрытый FCB, ES → сегмент окружения) |
| 30 | SVC_RENAMEFCB | AH=17h | Переименовать файл с использованием FCB (параметры и результат такие же, как в INT 21H AH=17H) |
| 31 | SVC_DELETE | AH=41h | Удалить файл (интерфейс ещё не исследован) |
| 32 | SVC_MOVE | AH=56h | Переименовать файл (интерфейс ещё не исследован) |
| 33 | |||
| 34 | |||
| 35 | |||
| 36 | |||
| 37 | SVC_OPENFCB | AH=0Fh | Открыть файл с использованием FCB (интерфейс ещё не исследован) |
| 38 | |||
| 39 | SVC_CLOSEFCB | AH=10h | Закрыть файл с использованием FCB (интерфейс ещё не исследован) |
| 40 | |||
| 41 | |||
| 42 | |||
| 43 | |||
| 44 | SVC_SETVERIFY | AH=2Eh | Установить флаг VERIFY из AL |
| 45 | SVC_FINDNEXT | AH=4Fh | Найти следующий файл (интерфейс ещё не исследован) |
| 46 | SVC_CREATE | AH=3Ch | Создать новый файл (интерфейс ещё не исследован) |
| 47 | SVC_CREATETEMP | AH=5Ah | Создать временный файл (интерфейс ещё не исследован) |
| 48 | |||
| 49 | SVC_PARSEFILENAME | AH=29h | Разобрать имя файла в FCB (параметры и результат такие же, как в INT 21H AH=29H) – создаёт незакрытый FCB из ASCIIZ-строки |
| 50 | |||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | |||
| 55 | |||
| 56 | |||
| 57 | |||
| 58 | |||
| 59 | |||
| 60 | |||
| 61 | SVC_ABSDISKREAD | INT 25h | Абсолютное чтение с диска (интерфейс ещё не исследован; соответствует INT 25h) |
| 62 | SVC_ABSDISKWRITE | INT 26h | Абсолютная запись на диск (интерфейс ещё не исследован; соответствует INT 26h) |
| 63 | |||
| 64 | |||
| 65 | |||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | |||
| 70 | |||
| 71 | |||
| 72 | |||
| 73 | |||
| 74 | |||
| 75 | |||
| 76 | |||
| 77 | |||
| 78 | |||
| 79 | |||
| 80 | |||
| 81 | |||
| 82 | |||
| 83 | |||
| 84 | |||
| 85 |
Структуры
Ссылки
| OSFree | |
|---|---|
| osFree | Архитектура • План работ • Компоненты • Используемые проекты • Экраны • FreePM • L4 • Скриншоты |
| Загрузчик | [ Последовательность загрузки: поток выполнения • изменение карты памяти ] • Загрузочный сектор • L4Ka::Kickstart |
| Personalities | Win16 personality • MVM/DOS/Win16 personality |
| Разработка | Получение исходных кодов • Сборка • Отладка • Отправка отчетов |
| API | TPCrt • FamilyAPI • Win16API • VIO API • MVM API |
| Сообщество | IRC |
| OS/2 | Presentation Manager • IFS • Петиции к IBM |