lp - dispozitive de imprimantă de linie
lp[0–2] sunt dispozitive de caractere pentru
imprimantele cu linii paralele; acestea au numărul major 6 și
numărul minor 0–2. Numerele minore corespund adreselor de
bază ale portului de imprimantă 0x03bc, 0x0378 și
0x0278. De obicei, au modul 220 și sunt deținute de
utilizatorul root și grupul lp. Puteți utiliza
porturile de imprimantă fie cu interogare, fie cu întreruperi.
Întreruperile sunt recomandate atunci când se
așteaptă un trafic ridicat, de exemplu, pentru imprimantele
laser. Pentru imprimantele matriciale tipice, interogarea va fi de obicei
suficientă. Valoarea implicită este interogarea.
Sunt acceptate următoarele apeluri ioctl(2):
- int ioctl(int fd,
LPTIME, int arg)
- Stabilește perioada de timp în care controlorul doarme
înainte de a reverifica imprimanta atunci când memoria
tampon a imprimantei pare a fi plină la arg. Dacă
aveți o imprimantă rapidă, micșorați
acest număr; dacă aveți o imprimantă
lentă, atunci măriți-l. Acesta este exprimat
în sutimi de secundă, valoarea implicită 2 fiind de
0,02 secunde. Influențează numai controlorul în
interogare.
- int ioctl(int fd,
LPCHAR, int arg)
- Stabilește numărul maxim de iterații de
așteptare ocupată pe care le face controlorul în
interogare în timp ce așteaptă ca imprimanta
să se pregătească pentru primirea unui caracter la
arg. Dacă imprimarea este prea lentă,
creșteți acest număr; dacă sistemul devine
prea lent, micșorați acest număr. Valoarea
implicită este 1000. Influențează numai controlorul
în interogare.
- int ioctl(int fd,
LPABORT, int arg)
- Dacă arg este 0, controlorul de imprimantă va
încerca din nou în caz de eroare, în caz contrar va
întrerupe.Valoarea implicită este 0.
- int ioctl(int fd,
LPABORTOPEN, int arg)
- Dacă arg este 0, open(2) va fi întrerupt
în caz de eroare, altfel eroarea va fi ignorată.Valoarea
implicită este de a o ignora.
- int ioctl(int fd,
LPCAREFUL, int arg)
- Dacă arg este 0, atunci semnalele
„out-of-paper” (fără hârtie),
„offline” (neconectată) și
„error” (eroare) trebuie să fie false la toate
scrierile, altfel sunt ignorate.Valoarea implicită este de a le
ignora.
- int ioctl(int fd,
LPWAIT, int arg)
- Stabilește numărul de iterații de așteptare
ocupată care trebuie să aștepte înainte de a
activa pinul STROBE al imprimantei pentru a accepta un caracter abia scris
și numărul de iterații care trebuie să
aștepte înainte de a dezactiva din nou pinul STROBE, la
arg. Din acest motiv, valoarea implicită este 0. Aceasta
este utilizată atât pentru controlorul în interogare,
cât și pentru controlorul în întreruperi.
- int ioctl(int fd,
LPSETIRQ, int arg)
- Acest ioctl(2) necesită privilegii de superutilizator.
Primește ca argument un int care conține noul IRQ.Ca
efect secundar, imprimanta va fi repornită. Atunci când
arg este 0, se va utiliza controlorul în interogare, care
este, de asemenea, implicit.
- int ioctl(int fd,
LPGETIRQ, int *arg)
- Stochează IRQ-ul utilizat în prezent în
arg.
- int ioctl(int fd,
LPGETSTATUS, int *arg)
- Stochează valoarea portului de stare în arg.
Biții au următoarea semnificație:
| LP_PBUSY |
intrare ocupată inversată, stare activă
ridicată |
| LP_PACK |
intrare de confirmare neschimbată, stare activă
scăzută |
| LP_POUTPA |
intrare neschimbată de fără-hârtie,
stare activă ridicată |
| LP_PSELECD |
intrare selectată neschimbată, stare activă
ridicată |
| LP_PERRORP |
intrare de eroare neschimbată, stare activă
scăzută |
- Consultați manualul imprimantei pentru semnificația
semnalelor. Rețineți că este posibil să fie
definiți și biți nedocumentați, în
funcție de imprimantă.
- int ioctl(int
fd, LPRESET)
- Repornește imprimanta. Nu se utilizează niciun
argument.
Traducerea în limba română a acestui manual a
fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.