CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
intdos
intdos
Функция Интерфейс с функциями DOS.
Синтаксис #include <dos.h>
int intdos(union REGS *inregs,
union REGS *outregs);
Файл, содержащий dos.h
прототип
Описание Функция генерирует прерывание DOS 0x21 для запуска
заданной функции DOS. Значение параметра
inregs->h.al определяет функцию DOS.
После возврата из прерывания, функция копируют
текущие значения регистров в параметр outregs, а
состояние флага системного переноса в поле x.cflag
параметра outregs. Если флаг переноса установлен,
это означает что произошла ошибка.
Примечание: параметры inregs и outregs могут
указывать на одну и туже структуру.
Возвращаемое После завершения вызова подпрограммы DOS, функция
значение intdos возвращает значение регистра AX. Если
флажок переноса установлен (outregs-->x.cflag
!=0), что означает ошибку, переменная _doserrno
получает в качестве значения код ошибки.
Переносимость Функция уникальна для DOS.
Смотрите также bdos, bdosptr, geninterrupt, int86, int86x,
intdosx, intr
Пример:
#include <stdio.h>
#include <dos.h>
/* удаление файла. При успешном завершении возвращает 0, иначе
ненулевое значение */
int delete_file(char near *filename)
{
union REGS regs;
int ret;
regs.h.ah = 0x41; /* удаление файла */
regs.x.dx = (unsigned) filename;
ret = intdos(®s, ®s);
/* if carry flag is set, there was an error */
return(regs.x.cflag ? ret : 0);
}
int main(void)
{
int err;
err = delete_file("NOTEXIST.$$$");
printf("Able to delete NOTEXIST.$$$: %s\n",
(!err) ? "YES" : "NO");
}
