- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.25.0-1
lp(4) | Device Drivers Manual | lp(4) |
ИМЯ¶
lp - устройства для работы с принтерами
СИНОПСИС¶
#include <linux/lp.h>
НАСТРОЙКА¶
lp[0–2] — это символьные устройства для параллельных линейных принтеров; они имеют старший номер 6 и младший номер 0–2. Младшие номера соответствуют базовым адресам портов принтера 0x03bc, 0x0378 и 0x0278. Обычно они имеют режим 220 и принадлежат пользователю root и группе lp. Вы можете использовать порты принтера либо с опросом, либо с прерываниями. Прерывания рекомендуются, когда ожидается большой трафик, например, для лазерных принтеров. Для типичных матричных принтеров опроса обычно будет достаточно. По умолчанию используется опрос.
ОПИСАНИЕ¶
Поддерживаются следующие вызовы ioctl(2):
- int ioctl(int fd, LPTIME, int arg)
- Устанавливает время между опросами принтера драйвером равным arg, если заполнен буфер принтера. Если принтер быстрый, то лучше уменьшить это число, а если медленный, то лучше увеличить. Значение выражается в сотых долях секунды; по умолчанию равно 2, что означает 0,02 секунды. Влияет только на драйвер опроса.
- int ioctl(int fd, LPCHAR, int arg)
- Устанавливает максимальное количество циклов равным arg, в течение которых драйвер опроса ожидает готовность принтера к приёму символа. Если печать медленная, то рекомендуется увеличить это число, а если система начинает медленно работать, то уменьшить. По умолчанию равно 1000. Влияет только на драйвер опроса.
- int ioctl(int fd, LPABORT, int arg)
- Если arg равно 0, то драйвер принтера будет повторять попытки при ошибках, в противном случае он прекратит работу. По умолчанию равно 0.
- int ioctl(int fd, LPABORTOPEN, int arg)
- Если arg равно 0, то open(2) будет прерван при ошибке, иначе ошибка будет проигнорирована. По умолчанию равно 0.
- int ioctl(int fd, LPCAREFUL, int arg)
- Если arg равно 0, то для записи необходимо, чтобы сигналы нехватки бумаги, принтер выключен или ошибка, были не установлены. По умолчанию они игнорируются.
- int ioctl(int fd, LPWAIT, int arg)
- Устанавливает число циклов ожидания в значение arg, которые выполняются перед стробированием принтера для получения только что записанного символа, а также устанавливает число циклов ожидания до остановки стробирования. В спецификации сказано, что это время должно равняться 0,5 микросекунды, но опыт показал, что хватает и времени задержки при выполнении программы. Поэтому устанавливаемое значение по умолчанию равно 0. Используется как в драйвере опроса, так и драйвере прерывания.
- int ioctl(int fd, LPSETIRQ, int arg)
- Этот ioctl(2) требует прав суперпользователя. Он принимает int, содержащий новый номер IRQ. Побочный эффект — повторный запуск принтера. Если arg равно 0, то будет использован драйвер опроса (по умолчанию).
- int ioctl(int fd, LPGETIRQ, int *arg)
- Сохраняет используемый в данный момент номер IRQ в arg.
- int ioctl(int fd, LPGETSTATUS, int *arg)
- Сохраняет
значение
состояния
порта в arg.
Биты имеют
следующее
значение:
LP_PBUSY инвертированный входной сигнал занятости, активен по высокому уровню LP_PACK неизменённый входной сигнал подтверждения, активен по низкому уровню LP_POUTPA неизменённый входной сигнал отсутствия бумаги, активен по высокому уровню LP_PSELECD неизменённый входной сигнал выбора, активен по высокому уровню LP_PERRORP неизменённый входной сигнал ошибки, активен по низкому уровню
- Обратитесь к руководству принтера для выяснения значения сигналов. Заметим, что в зависимости от принтера неописанные биты тоже могут иметь значение.
- int ioctl(int fd, LPRESET)
- Перезапускает принтер. Аргументы не используются.
ФАЙЛЫ¶
/dev/lp*
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал(и) Artyom Kunyov <artkun@guitarplayer.ru>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Konstantin Shvaykovskiy <kot.shv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Справочные страницы Linux 6.9.1 |