lp[0–2] sont des périphériques
caractères pour les imprimantes à liaison parallèle.
Ils ont un numéro majeur 6 et un numéro mineur 0–2. Le
numéro mineur correspond aux ports d'imprimantes d'adresse de base
0x03bc, 0x0378 et 0x0278. Habituellement, ils ont un mode d'accès 220
et un propriétaire root.lp. On peut utiliser les ports
parallèles soit en scrutation (polling) soit en interruption.
L'utilisation en interruption est surtout recommandée avec un haut
trafic (p. ex. : imprimante laser). Pour les imprimantes
matricielles classiques, la scrutation suffira. Par défaut, le
système utilise la scrutation.
Les appels système ioctl(2) suivants sont
supportés :
- int ioctl(int
fd, LPTIME, int arg)
- Définit la durée pendant laquelle le pilote s'endort avant
de revérifier l'état de l'imprimante après que le
tampon a été rempli. Avec une imprimante rapide, on peut
diminuer ce délai ; avec une imprimante lente on peut
l'augmenter. La durée est indiquée dans arg, en
centièmes de secondes. La valeur par défaut est 2 (soit 0,02
seconde). Cela n'influe que sur le pilote en scrutation.
- int ioctl(int
fd, LPCHAR, int arg)
- Indique le nombre maximal d'itérations d'attente active que le
pilote en scrutation effectue alors qu'il attend que l'imprimante soit
prête. Si l'impression est trop lente, augmenter cette
valeur ; si le système ralentit trop, la diminuer. Le nombre
est indiqué dans arg, la valeur par défaut est 1000.
Cela n'influe que sur le pilote en scrutation.
- int ioctl(int
fd, LPABORT, int arg)
- Si arg vaut 0, le pilote réessaiera en cas d'erreur
d'impression, sinon il abandonnera. La valeur par défaut est
0.
- int ioctl(int
fd, LPABORTOPEN, int arg)
- Si arg vaut 0, open(2) sera annulé en cas d'erreur,
sinon l'erreur sera ignorée. Par défaut, elle est
ignorée.
- int ioctl(int
fd, LPCAREFUL, int arg)
- Si arg vaut 0, on bloquera l'écriture sur le port
parallèle au cas où les broches erreur,
plus-de-papier ou imprimante-hors-ligne sont
validées. Sinon, ces signaux seront ignorés. Par
défaut, ils sont ignorés.
- int ioctl(int
fd, LPWAIT, int arg)
- Indique le nombre d'itérations d'attente active à effectuer
avant d'activer la broche STROBE pour que l'imprimante accepte le
caractère écrit, et le nombre d'itérations à
effectuer avant d'éteindre à nouveau la broche STROBE. Les
spécifications indiquent que ce délai devrait être de
0,5 microsecondes, mais l'expérience a montré que le
délai induit par le code du pilote est suffisant. La valeur est
indiquée dans arg, elle vaut 0 par défaut. Ceci
concerne autant le gestionnaire en interruption que celui en
scrutation.
- int ioctl(int
fd, LPSETIRQ, int arg)
- Cet ioctl(2) nécessite des privilèges
superutilisateur. Son paramètre est de type int et contient
une nouvelle IRQ pour l'imprimante. Comme effet de bord, l'imprimante est
réinitialisée. Si arg vaut 0, le gestionnaire en
scrutation sera utilisé, ce qui est le comportement par
défaut.
- int ioctl(int
fd, LPGETIRQ, int *arg)
- Stocke la valeur actuelle d'IRQ dans arg.
- int ioctl(int
fd, LPGETSTATUS, int *arg)
- Stocke l'état actuel du port dans arg. Les bits ont les
significations suivantes :
| LP_PBUSY |
Entrée OCCUPÉE inversée, active à 1 |
| LP_PACK |
Entrée ACQUITTEMENT, active à 0 |
| LP_POUTPA |
Entrée PLUS-DE-PAPIER, active à 1 |
| LP_PSELECD |
Entrée SELECT, active à 1 |
| LP_PERRORP |
Entrée ERREUR, active à 0 |
Référez-vous au manuel de votre imprimante pour
la signification de ces signaux. Des bits non documentés peuvent
également être présents, suivant le type
d'imprimante.
- int ioctl(int
fd, LPRESET)
- Réinitialise l'imprimante. Pas de paramètre.
Cette page fait partie de la publication 3.65 du projet
man-pages Linux. Une description du projet et des instructions pour
signaler des anomalies peuvent être trouvées à
l'adresse http://www.kernel.org/doc/man-pages/.
Depuis 2010, cette traduction est maintenue à l'aide de
l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de
traduction francophone au sein du projet perkamon
<http://perkamon.alioth.debian.org/>.
Christophe Blaess <http://www.blaess.fr/christophe/>
(1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006).
Simon Paillard et l'équipe francophone de traduction de
Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant
à <debian-l10n-french@lists.debian.org> ou par un rapport de
bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version
anglaise de ce document en utilisant la commande
« man -L C
<section> <page_de_man> ».