Функция Доступ к системным вызовам DOS.
Синтаксис #include
int bdosptr(int dosfun, void * argument,
unsigned dosal);
Файл, содержащий dos.h
прототип
Описание bdosptr обеспечивает прямой доступ ко многим сис-
темным вызовам DOS. Описание всех системных вызо-
вов вы найдете в документе "Справочное руководст-
во по DOS".
В системных вызовах, требующих целый аргумент,
используйте функцию bdos; если в качестве аргу-
мента они требуют указатель, то используйте функ-
цию bdosptr.
Для моделей данных large (compact, large, huge)
предпочтительнее использовать для системных вызо-
вов функцию bdosptr вместо bdos с адресным указа-
телем в качестве аргумента.
dosfun описан в документе "Справочное руководство
по DOS".
В моделях данных типа small параметр argument в
bdosptr задает DX; в моделях данных типа large он
задает значение DS:DX, используемое в системном
вызове.
dosal является значением регистра AL.
Возвращаемое Функция bdosptr возвращает значение регистра AX
значение при успешном завершении и значение -1 при неудач-
ном завершении. При неудачном завершении устанав-
ливаются значения переменных errno и _doserrno.
Переносимость bdosptr уникальна для DOS.
Смотрите также bdosgeninterruptint6, int6xintdosintdosx
Пример:
#include
#include
#include
#include
#include
#include
#define BUFLEN 80
int main(void)
{
char buffer[BUFLEN];
int test;
printf("Введите полный маршрут директории:");
gets(buffer);
test = bdosptr(0x3b,buffer,0);
if(test)
{
/* в errno.h приведен список кодов ошибок */
printf("Ошибка DOS, номер: %d\n",errno);
exit(1);
}
getcwd(buffer,BUFLEN);
printf("Текущая директория: %s\n",buffer);
return 0;
}