lp(4) Device Drivers Manual lp(4) NOM lp -- Imprimantes paralleles SYNOPSIS #include CONFIGURATION lp[0-2] sont des peripheriques caracteres pour les imprimantes a liaison parallele. Ils ont un numero majeur 6 et un numero mineur 0-2. Le numero mineur correspond aux ports d'imprimantes d'adresse de base 0x03bc, 0x0378 et 0x0278. Habituellement, ils ont un mode d'acces 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 recommandee en cas de trafic important (par exemple : imprimante laser). Pour les imprimantes matricielles classiques, la scrutation suffira habituellement. Par defaut, le systeme utilise la scrutation. DESCRIPTION Les appels systeme ioctl(2) suivants sont pris en charge : int ioctl(int fd, LPTIME, int arg) Definir la duree pendant laquelle le pilote s'endort avant de reverifier l'etat de l'imprimante apres que le tampon est rempli a rg. Avec une imprimante rapide, ce delai peut etre diminue ; avec une imprimante lente ce delai peut etre augmente. La duree est indiquee en centiemes de seconde. La valeur par defaut 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'iterations d'attente active que le pilote en scrutation effectue alors qu'il attend que l'imprimante soit prete pour recevoir un caractere a arg. Si l'impression est trop lente, augmenter cette valeur ; si le systeme ralentit trop, la diminuer. La valeur par defaut 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 reessaiera en cas d'erreur, sinon il abandonnera. La valeur par defaut est 0. int ioctl(int fd, LPABORTOPEN, int arg) Si arg vaut 0, open(2) sera annule en cas d'erreur, sinon l'erreur sera ignoree. Par defaut, cet argument est ignore. 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 >> necessitent d'etre absents pour toutes les ecritures, autrement elles seront ignorees. Par defaut, les signaux sont ignores. int ioctl(int fd, LPWAIT, int arg) Indiquer le nombre d'iterations d'attente active a effectuer avant d'activer la broche STROBE (validation) pour que l'imprimante accepte le caractere juste ecrit et le nombre d'iterations a effectuer avant d'eteindre a nouveau la broche STROBE a arg. Les specifications indiquent que ce delai devrait etre de 0,5 microsecondes, mais l'experience a montre que le delai induit par le code du pilote est deja suffisant. Pour cette raison, la valeur est 0 par defaut. Cela est utilise pour le pilote en interruption et pour celui en scrutation. int ioctl(int fd, LPSETIRQ, int arg) Cet ioctl(2) necessite les privileges de superutilisateur. Son parametre est de type int et contient une nouvelle IRQ comme argument. Comme effet de bord, l'imprimante est reinitialisee. Si arg vaut 0, le pilote en scrutation sera utilise, ce qui est aussi le comportement par defaut. int ioctl(int fd, LPGETIRQ, int *arg) Stocker la valeur actuelle d'IRQ dans arg. int ioctl(int fd, LPGETSTATUS, int *arg) Stocker l'etat actuel du port dans arg. Les bits ont les significations suivantes : LP_PBUSY entree OCCUPEE inversee, etat haut actif LP_PACK entree ACQUITTEMENT non modifiee, etat bas actif LP_POUTPA entree PLUS-DE-PAPIER non modifiee, etat haut actif LP_PSELECD entree SELECT non modifiee, etat haut actif LP_PERRORP entree ERREUR non modifiee, etat bas actif Referez-vous au manuel de votre imprimante pour la signification de ces signaux. Des bits non documentes peuvent egalement etre presents, suivant le type d'imprimante. int ioctl(int fd, LPRESET) Reinitialiser l'imprimante. Pas de parametre. FICHIERS /dev/lp* VOIR AUSSI chmod(1), chown(1), mknod(1), lpcntl(8), tunelp(8) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Paul Guillonneau Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 5 fevrier 2023 lp(4)