Функция
Доступ к системным вызовам DOS.
Синтаксис
#include <dos.h>
int bdosptr(int dosfun, void *argument, unsigned dosal);
Прототип
dos.h
Описание
Функция bdosptr обеспечивает прямой доступ ко многим системным вызовам DOS. Описание всех системных вызовов можно найти в документе «Справочное руководство по DOS». В системных вызовах, требующих целый аргумент, используйте функцию bdos. Если в качестве аргумента функции требуют указатель, то используйте функцию bdosptr. Для моделей данных large (compact, large, huge) предпочтительнее использовать для системных вызовов функцию bdosptr вместо bdos с адресным указателем в качестве аргумента. В моделях данных типа small параметр argument в bdosptr задает DX. В моделях данных типа large он задает значение DS:DX, используемое в системном вызове.
Возвращаемое значение
Функция bdosptr возвращает значение регистра AX при успешном завершении и значение -1 при неудачном завершении. В этом случае устанавливаются значения переменных errno и _doserrno.
Переносимость
Функция bdosptr уникальна для DOS.
Пример
#include <stdio.h>
#include <dos.h>
char current_drive(void) //получение текущего устройства, как A, B и т.д.
{
char curdrive;
curdrive = bdos(0x19,0,0); //получение текущего диска, как 0, 1,...
return('A' + curdrive);
}
main()
{
printf("Текущий дисковод %c:\n",current_drive());
return(0);
}