lp — Imprimantes parallèles
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, un utilisateur root et un groupe lp. On
peut utiliser les ports d’imprimantes soit en scrutation (polling)
soit en interruption. L'utilisation en interruption est surtout
recommandée en cas de trafic important (par exemple :
imprimante laser). Pour les imprimantes matricielles classiques, la
scrutation suffira habituellement. Par défaut, le système
utilise la scrutation.
Les appels système ioctl(2) suivants sont pris en
charge :
- int ioctl(int fd,
LPTIME, int arg)
- Définir la durée pendant laquelle le pilote s'endort avant
de revérifier l'état de l'imprimante après que le
tampon est rempli à ạrg. Avec une imprimante rapide,
ce délai peut être diminué ; avec une
imprimante lente ce délai peut être augmenté. La
durée est indiquée en centièmes de seconde. 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)
- Indiquer 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 pour recevoir un caractère à arg. Si
l'impression est trop lente, augmenter cette valeur ; si le
système ralentit trop, la diminuer. 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 d’imprimante réessaiera en
cas d'erreur, 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, cet argument est
ignoré.
- int ioctl(int fd,
LPCAREFUL, int arg)
- Si arg vaut 0, alors les signaux d’erreur, de
« plus de papier » ou de
« imprimante hors ligne » nécessitent
d’être absents pour toutes les écritures, autrement
elles seront ignorées. Par défaut, les signaux sont
ignorés.
- int ioctl(int fd,
LPWAIT, int arg)
- Indiquer le nombre d'itérations d'attente active à effectuer
avant d'activer la broche STROBE (validation) pour que l'imprimante
accepte le caractère juste écrit et le nombre
d'itérations à effectuer avant d'éteindre à
nouveau la broche STROBE à arg. 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 déjà
suffisant. Pour cette raison, la valeur est 0 par défaut.
Cela est utilisé pour le pilote en interruption et pour celui en
scrutation.
- int ioctl(int fd,
LPSETIRQ, int arg)
- Cet ioctl(2) nécessite les privilèges de
superutilisateur. Son paramètre est de type int et contient
une nouvelle IRQ comme argument. Comme effet de bord, l'imprimante est
réinitialisée. Si arg vaut 0, le pilote en
scrutation sera utilisé, ce qui est aussi le comportement par
défaut.
- int ioctl(int fd,
LPGETIRQ, int *arg)
- Stocker la valeur actuelle d'IRQ dans arg.
- int ioctl(int fd,
LPGETSTATUS, int *arg)
- Stocker l'état actuel du port dans arg. Les bits ont les
significations suivantes :
LP_PBUSY |
entrée OCCUPÉE inversée, état haut
actif |
LP_PACK |
entrée ACQUITTEMENT non modifiée, état bas
actif |
LP_POUTPA |
entrée PLUS-DE-PAPIER non modifiée, état haut
actif |
LP_PSELECD |
entrée SELECT non modifiée, état haut
actif |
LP_PERRORP |
entrée ERREUR non modifiée, état bas actif |
- 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éinitialiser l'imprimante. Pas de paramètre.
chmod(1), chown(1), mknod(1),
lpcntl(8), tunelp(8)
La traduction française de cette page de manuel a
été créée par Christophe Blaess
<https://www.blaess.fr/christophe/>, Stéphan Rafin
<stephan.rafin@laposte.net>, Thierry Vignaud
<tvignaud@mandriva.com>, François Micaux, Alain Portal
<aportal@univ-montp2.fr>, Jean-Philippe Guérard
<fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh)
<jean-luc.coulon@wanadoo.fr>, Julien Cristau
<jcristau@debian.org>, Thomas Huriaux
<thomas.huriaux@gmail.com>, Nicolas François
<nicolas.francois@centraliens.net>, Florentin Duneau
<fduneau@gmail.com>, Simon Paillard
<simon.paillard@resel.enst-bretagne.fr>, Denis Barbier
<barbier@debian.org>, David Prévot <david@tilapin.org>,
Cédric Boutillier <cedric.boutillier@gmail.com>,
Frédéric Hantrais <fhantrais@gmail.com> et Jean-Paul
Guillonneau <guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez
vous reporter à la
GNU General
Public License version 3 concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page
de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.