Функция Ввод/вывод на принтер при помощи BIOS.
Синтаксис #include
Файл, содержащий bios.h
прототип
Описание biosprint выполняет различные операции с
принтером, определяемым аргументом port, при по-
мощи прерывания BIOS 0x17,
Значение аргумента port = 0 соответствует LPT1;
port = 1 соответствует LPT2 и т.д..
Значение аргумента cmd может быть одним из следу-
ющих: 0 печать символа, содержащегося в abyte 1
инициализация порта принтера 2 считывание статуса
принтера Значение аргумента abyte может быть пре-
делах от 0 до 255.
Возвращаемое Значение, возвращаемое функцией biosprint в любой
значение из описанных выше операций, представляет собой
статус принтера, получаемый посредством операции
"ИЛИ" со следующими битовыми значениями:
Бит 0 0x01 Таймаут устройства;
Бит 3 0x08 Ошибка ввода/вывода
Бит 4 0x10 Включено;
Бит 5 0x20 Конец бумаги;
Бит 6 0x40 Подтверждение приема;
Бит 7 0x80 Не занято.
Переносимость biosprint поддерживается только на компьютерах
IBM PC или совместимых с ними.
Пример:
#include
#include
#include
int main(void)
{
#define STATUS 2 /* команда получить статус принтера */
#define PORTNUM 0 /* LPT1 */
int status,abyte = 0;
printf("Пожалуйста, выключите принтер. Для продолжения нажмите
любую клавишу\n");
getch();
status = biosprint(STATUS,abute,PORTNUM);
if(status & 0x01)
printf("Таймаут устройства\n");
if(status & 0x08)
printf("Ошибка ввода/вывода\n");
if(status & 0x10)
printf("Включено\n");
if(status & 0x20)
printf("Конец бумаги\n");
if(status & 0x40)
printf("Подтверждение приема\n");
if(status & 0x80)
printf("Не занято\n");
return 0;
}