table of contents
other sections
LP(4) | Special files | LP(4) |
NAME¶
lp - 라인 프린터 장치
SYNOPSIS¶
#include <linux/lp.h>
CONFIGURATION¶
lp[0–2) 는 병렬 프린터를 위한 문자 장치이다; 메이저 넘버 6과 마이너 넘버 0–2를 가지고 있다. 마이너 넘버는 프린터 포트 기초 어드래스0x03bc, 0x0378와 0x0278에 대응한다. 보통 모드 220을 가지고 있으며 root과 그룹 lp에 속한다. 프린터 포트는 풀링이나 인터럽트 둘 다로 사용할 수 있다. 레이저 프린터와 같이 사용량이 많은 경우 인터럽트를 권한다. 보통의 도트 프린터에는 풀링이면 충분하다. 디폴트값은 풀링이다.
DESCRIPTION¶
아래의 ioctl(2) 신호가 지원된다:
- int ioctl(int fd, LPTIME, int arg)
- 프린터 버퍼가 arg 로 가득 찰 듯 한 경우, 프린터를 다시 검사하기 전에 드라이버가 멈춰 있는 시간을 설정한다. 빠른 프린터를 가지고 있다면, 이 시간을 줄인다: 이것이 늘어나는 것보다 느린 프린터라면, 이 시간은 수백초가 걸린다. 디폴트는 2에서 0.02초 정도 있다. 이것은 오직 풀링 드라이버에만 영향을 준다.
- int ioctl(int fd, LPCHAR, int arg)
- 프린터가 arg에서 문자를 받아 인쇄를 위한 준비가 끝나기를 기다리는 동안 풀링 드라아버가 하는 busy-wait 순환의 최대 횟수를 설정한다. 인쇄가 너무 느리면, 이 숫자를 올려본다: 시스템이 지나치게 느리면 이 숫자를 줄여본다. 디폴트값은 1000이다. 풀링 드라이버에만 적용된다.
- int ioctl(int fd, LPABORT, int arg)
- arg가 0이면, 프린터 드라이버는 에러를 다시 확인하고, 그렇지 않으면 멈춘다. 디폴트 값은 0이다
- int ioctl(int fd, LPABORTOPEN, int arg)
- arg가 0이면, open(2) 은 에러로 끝내고 그렇지 않으면 에러가 무시된다. 디폴트는 무시하는 것이다.t.
- int ioctl(int fd, LPCAREFUL, int arg)
- arg가 0이면, 용지 없음, 오프라인, 에러 사인이 모든 쓰기를 멈추게 한다, 혹은 무시한다. 디폴트는 무시하는 것이다.
- int ioctl(int fd, LPWAIT, int arg)
- 막 쓰여진 문자를 받기 위해 프린터가 예열 되기 전까지 기다리는 busy-wait 순환의 횟수와 예열기가 다시 꺼질 때 까지 arg를 기다리는 횟수를 정한다. 설명서에서는 0.5ms로 하라고 하지만, 경험상 코드로 인한 지체만으로도 충분하다. 그래서 디폴트 값은 0이다. 이것은 풀링이나 인터럽트 드라이브 모두에게 해당된다.
- int ioctl(int fd, LPSETIRQ, int arg)
- ioctl()은 유퍼유저의 권한이 필요하다. 이것은 새로운 IRQ를 가진 int가 필요하다. 부수적인 효과로 프린터는 리셋된다. arg가 0이면, 풀링 드라이버가 사용되고 있는 것이다. 이것 역시 디폴트 값이다.
- int ioctl(int fd, LPGETIRQ, int *arg)
- 현제 arg에서 사용하고 있는 IRQ를 저장한다.
- int ioctl(int fd, LPGETSTATUS, int *arg)
- arg에서 포트의 상태
값을 저장한다.
비트는 아래와 같은
뜻을 가진다.:
LP_PBUSY inverted busy input, active high LP_PACK unchanged acknowledge input, active low LP_POUTPA unchanged out-of-paper input, active high LP_PSELECD unchanged selected input, active high LP_PERRORP unchanged error input, active low 신호의 뜻은 각자의 프린터 설명서를 참조하라. 프린터에 따라 알려지지 않은 비트가 있을 수 있음을 기억하자.
- int ioctl(int fd, LPRESET)
- 프린터를 리셋한다. 쓰이는 독립변수 없음.
FILES¶
/dev/lp*
AUTHORS¶
프린터 드라이버는 Jim Weigand and Linus Torvalds에 의해 쓰여졌다. 그 후 Michael K. Johnson에 의해 발전되었다. Nigel Gamble에 의해 인터럽트 코드가 쓰여졌고, Alan Cox 에 의해 모듈화 되었다. LPCAREFUL, LPABORT, LPGETSTATUS가 Chris Metcalf에 의해 첨가되었다..
SEE ALSO¶
January 15, 1995 |