Biosprin
biosprint
Функция Ввод/вывод на принтер при помощи 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; }