[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по принтерам и печати


Описание процедур базовых программ в libqb

Этот раздел определяет набор библиотечных процедур, с помощью которых базовая программа взаимодействует с процессом демона qdaemon. Эти процедуры находятся в библиотеке /usr/lib/libqb.a; их предназначение - максимально упростить написание базовой программы. Доступ к этим процедурам базовой программы можно получить, задав в команде ld или cc опцию -lqb.

Работа с данными процедурами и базовой программой рассмотрена в разделе Описание схемы взаимодействия между процессом qdaemon и базовой программой.

get_align() Выдает ответ TRUE или FALSE, в зависимости от того, будет ли выровнена подача бумаги. Выравнивание выполняется только в том случае, если принтер простаивал, но вскоре начнет печатать новое задание. Если стопка была случайно сдвинута во время простоя принтера, то она будет выровнена.
get_cmd_line() Возвращает указатель на строку с командой enq, запущенной пользователем. В строке возврата отсутствуют: имя /usr/bin/enq, все указанные имена файлов и все опции, заданные в базовой программе с помощью опции enq -o. Например, если пользователь ввел команду enq -Plp0 -Bgn -o -i15Имя_файла, то функция get_cmd_line вернет строку -Plp0 -Bgn. Эта функция бывает полезна в тех случаях, когда базовой программе необходимо узнать, какие опции были заданы пользователем в командной строке в момент запуска задания.
get_copies() Возвращает число копий, которое должно быть напечатано. Значение возврата относится к типу int (целое).
get_device_name() Возвращает указатель на строку с именем устройства.
get_feed() Выдает число пустых страниц, которые должны быть напечатаны. Значение возврата относится к типу unsigned int (целое без знака). Пустые страницы печатаются только после того, как принтер закончит обработку задания. Печать пустых страниц упрощает извлечение напечатанных страниц из принтера.
get_from() Возвращает указатель на строку с именем пользователя, отправившего запрос на печать. Значение возврата относится к типу char* (символьное).
get_header() Возвращает следующие ответы: NEVER, ALWAYS или GROUP (#include <IN/backend.h> ). Значение возврата относится к типу unsigned int (целое без знака). Заголовок (header) представляет собой предшествующую файлу страницу, на которой указано его имя, дата создания, имя получателя и прочая информация.
get_job_number() Показывает номер текущего задания печати. Значение возврата относится к типу int (целое).
get_mail_only() Если пользователем задан параметр "только почта", процедура возвращает значение TRUE.
get_qdate() Возвращает строку, указывающую дату постановки запроса в очередь. Значение возврата относится к типу char* (символьное).
get_queue_name() Возвращает строку с именем очереди.
get_title() Возвращает строку с именем выполняемого задания печати. Значение возврата относится к типу char* (символьное).
get_trailer() Возвращает следующие ответы: NEVER, ALWAYS или GROUP. Значение возврата относится к типу unsigned int (целое без знака). Завершающая страница (trailer) - это следующая после файла печати страница, на которой указано имя владельца файла.
get_to() Возвращает строку с именем пользователя, для которого предназначалось данное задание печати. Значение возврата относится к типу char* (символьное).
get_was_idle() Возвращает значение TRUE, если перед началом выполнения задания принтер простаивал (позволяет определить, следует ли подавать бумагу).

Возвращает объем бумаги, необходимый для печати текущего задания.

log_charge(объем) int объем;
  Возвращает объем бумаги, необходимый для печати текущего задания.
log_init Инициализирует данные, общие для библиотечных процедур.
log_pages(страницы) Вносит в файл состояния информацию о количестве напечатанных страниц.
log_percent(процент) Вносит в файл состояния информацию о том, какая часть задания выполнена (в процентах).
log_progress(log_pages (int),log_percent(char))
  Вносит в файл состояния информацию о количестве напечатанных страниц и о том, какая часть задания выполнена (в процентах). Эта процедура использует команды log_pages и log_percent.
log_status(состояние) Переключает состояние задания между значениями ВЫПОЛНЕНИЕ и ОЖИДАНИЕ. Параметр задает новое состояние.

put_header(форматирование,ширина) Печатает только страницу заголовка без последующей печати пустых страниц и возвращает число напечатанных строк. Параметры форматирование и ширина необязательные.

int (*форматирование);
Параметр форматирование указывает подпрограмму форматирования, которая отвечает за вывод символов на странице заголовка. По умолчанию задана подпрограмма putchar.

int *ширина;
Параметр ширина определяет ширину формы. По умолчанию для параметра ширина установлено значение 80.
put_trailer(пользователь,форматирование,ширина) Печатает завершающую страницу с данными о пользователе без последующих пустых страниц, а также возвращает число напечатанных строк. Параметры форматирование и ширина необязательные.

char *пользователь;

int (*форматирование);
Параметр форматирование указывает подпрограмму форматирования, которая отвечает за вывод символов на странице заголовка. По умолчанию задана подпрограмма putchar.

int *ширина
Параметр ширина определяет ширину формы. По умолчанию для параметра ширина установлено значение 80.
sysnot(пользователь,хост,сообщение,pref) Направляет сообщение пользователю в случае, если базовая программа не может запустить задание.
char *пользователь;
char *хост;
char *сообщение;
unsigned int *pref;
Параметр pref определяет, будет ли данное сообщение отправлено пользователю по почте или показано на экране его терминала. Для этого параметра есть два возможных значения, определяемые в файле /usr/include/IN/backend.h:

DOMAIL
Отправляет сообщение по почте.

DOWRITE
Выводит сообщение на экран терминала, если пользователь подключен к системе. Если пользователь в настоящее время не подключен к системе, то сообщение будет отправлено по почте.

 

 

 

 


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]