Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Biosprint

CuBook05

Функция

Ввод/вывод на принтер при помощи BIOS.
 
Синтаксис

#include<bios.h>
int biosprint(int cmd, int abyte, int port);
 
Прототип

bios.h
 
Описание

Функция biosprint выполняет различные операции с принтером, определяемым аргументом port, при помощи прерывания BIOS 0x17.
Значение аргумента port = 0 соответствует LPT1, port = 1 соответствует LPT2 и т.д.
 
Значение аргумента 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;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий