CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
biosprint
biosprint
Функция Ввод/вывод на принтер при помощи BIOS. Синтаксис #include<bios.h> int biosprint(int cmd, int abyte, int port); Файл, содержащий 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<stdio.h> #include<conio.h> #include<bios.h> 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; }