The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

lp ()
  • lp (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • lp (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • lp (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • lp (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • lp (4) ( FreeBSD man: Специальные файлы /dev/* )
  • >> lp (4) ( Русские man: Специальные файлы /dev/* )
  • lp (4) ( Linux man: Специальные файлы /dev/* )
  • lp (7) ( Solaris man: Макропакеты и соглашения )
  •  

    НАЗВАНИЕ

    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 равен нулю, то драйвер принтера будет повторять попытки при ошибках, в противном случае он прекратит их повторение. По умолчанию устанавливаемое значение равно нулю.
    int ioctl(int fd, LPABORTOPEN, int arg)
    Если arg равен нулю, то open(2) будет прерван при ошибке, иначе ошибка будет проигнорирована. Значение по умолчанию не равно нулю.
    int ioctl(int fd, LPCAREFUL, int arg)
    Если arg равен нулю, то сигналы о том, что закончилась бумага, принтер не готов или ошибка, должны быть с отрицательным значением: при другом значении они игнорируются. По умолчанию значение не равно нулю.
    int ioctl(int fd, LPWAIT, int arg)
    Устанавливает число циклов ожидания до стробирования принтера и для получения только что напечатанного символа, а также устанавливает число циклов ожидания до остановки стробирования в зависимости от значения arg. В руководстве сказано, что это время должно равняться 0.5-м микросекундам, но опыт показал, что в данном случае хватает и времени задержки программы. Поэтому устанавливаемое значение по умолчанию равно нулю. Это используется как для опрашивающего, так и прерывающего принтера.
    int ioctl(int fd, LPSETIRQ, int arg)
    Этот ioctl() требует прав суперпользователя. Он создает int с новым IRQ в значении аргумента. Побочный эффект - повторный запуск принтера. Когда arg равен нулю, будет использован драйвер опроса, установленный по умолчанию.
    int ioctl(int fd, LPGETIRQ, int *arg)
    Сохраняет используемый IRQ в arg.
    int ioctl(int fd, LPGETSTATUS, int *arg)
    Сохраняет значение статуса порта, равное arg. Биты имеют следующие значения:

    LP_PBUSYпринтер занят, значение по умолчанию - 1
    LP_PACKподтверждение, значение по умолчанию - 0
    LP_POUTPAзакончилась бумага, значение по умолчанию - 1
    LP_PSELECDпринтер выбран, значение по умолчанию - 1
    LP_PERRORPошибка, значение по умолчанию - 0

    Обратитесь к руководству по Вашему принтеру для уяснения значения сигналов. Замечание: неописанные биты тоже могут иметь значение (в зависимости от Вашего принтера).

    int ioctl(int fd, LPRESET)
    вновь запускает принтер, аргументы для этого не используются.
     

    ФАЙЛЫ

    /dev/lp*  

    АВТОРЫ

    Изначально драйвер принтера был описан Jim Weigand и Linus Torvalds. Далее он был доработан Michael K. Johnson. Программа прерывания написана Nigel Gamble. Alan Cox сделал ее модульной. LPCAREFUL, LPABORT, LPGETSTATUS были добавлены Chris Metcalf.  

    СМ. ТАКЖЕ

    mknod(1), chown(1), chmod(1), tunelp(8), lpcntl(8)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    НАСТРОЙКА
    ОПИСАНИЕ
    ФАЙЛЫ
    АВТОРЫ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor