Provided by: cups-daemon_2.4.2-3ubuntu2_amd64 bug

NOM

       backend - Programme de transmission de CUPS

SYNOPSIS

       backend
       backend travail identifiant titre nombre_copies options [ fichier ]

       #include <cups/cups.h>

       const char *cupsBackendDeviceURI(char **argv);

       void cupsBackendReport(const char *schéma_périph,
                              const char *uri_périph,
                              const char *marque_et_modéle_périph,
                              const char *info_périph,
                              const char *id_périph,
                              const char *emplacement_périph);

       ssize_t cupsBackChannelWrite(const char *tampon,
                                    size_t octets, double délai);

       int cupsSideChannelRead(cups_sc_command_t *commande,
                               cups_sc_status_t *état, char *données,
                               int *taille_données, double délai);

       int cupsSideChannelWrite(cups_sc_command_t commande,
                                cups_sc_status_t état, const char *données,
                                int *taille_données, double délai);

DESCRIPTION

       Les programmes de transmission de CUPS sont des filtres particuliers (consultez filter(7))
       qui sont utilisés pour  envoyer  les  données  à  imprimer  et  découvrir  les  différents
       périphériques d'impression du système.

       Comme  les  filtres, ils doivent être capables de lire depuis un nom de fichier fourni sur
       la ligne de commande ou depuis l'entrée standard, en copiant  l'entrée  standard  vers  un
       fichier temporaire, si nécessaire, pour l'interface physique.

       Le  nom  de  la  commande  (argv[0])  est  défini  à la valeur de l'URI du périphérique de
       l'imprimante de destination. Toute information d'identification est  retirée  de  argv[0],
       les   développeurs   des   programmes  de  transmission  devraient  utiliser  la  variable
       d'environnement DEVICE_URI pour obtenir les informations d'identification quand  cela  est
       nécessaire. La fonction cupsBackendDeviceURI() peut être utilisée pour récupérer la valeur
       correcte de l'URI du périphérique.

       Les données en retour du périphérique doivent être  envoyées  au  filtre  des  travaux  en
       utilisant la fonction cupsBackChannelWrite.

       Les  programmes  de transmission ont la charge de lire les requêtes des canaux auxiliaires
       en  utilisant  la  fonction  cupsSideChannelRead()  et  en  répondant  avec  la   fonction
       cupsSideChannelWrite(). La constante CUPS_SC_FD précise le descripteur de fichier qui sera
       observé pour de nouvelles requêtes.

   DÉCOUVERTE DES PÉRIPHÉRIQUES
       Quand il est exécuté sans paramètre, le programme de transmission  doit  afficher  sur  la
       sortie  standard  les  périphériques  et  schémas  qu'il  gère ou qu'il annonce. La sortie
       consiste en zéro ou plus de lignes de la forme suivante :

           classe_périphérique schéma "Unknown" "info_périphérique"
           classe_périphérique URI_périphérique "marque_et_modèle_périphérique" "info_périphérique"
           classe_périphérique URI_périphérique "marque_et_modèle_périphérique" "info_périphérique" "id_périphérique"
           classe_périphérique URI_périphérique "marque_et_modèle_périphérique" "info_périphérique" "id_périphérique" "emplacement_périphérique"

       La fonction cupsBackendReport() peut être utilisée pour créer  ces  lignes  et  gérer  les
       caractères de protection nécessaires dans les différentes chaînes.

       Le champ classe_périphérique peut prendre une de ces valeurs :

       direct
            L'URI du périphérique se réfère à un accès direct au périphérique, sans option, comme
            pour un périphérique sur port parallèle, USB ou SCSI.

       file L'URI du périphérique se réfère à un fichier sur le disque.

       network
            L'URI du périphérique se réfère à un  périphérique  réseau  et  respecte  les  formes
            générales des URI réseau.

       serial
            L'URI du périphérique se réfère à un périphérique série avec une vitesse configurable
            et d'autres options. Si l'URI du périphérique contient la vitesse, elle représente la
            vitesse maximale gérée par le périphérique.

       Le  champ  schéma  fournit  le  schéma  d'URI  géré  par le programme de transmission. Les
       programmes de transmission ne doivent utiliser cette  forme  que  s'ils  gèrent  tout  URI
       utilisant  ce  schéma.  Le champ uri_périphérique indique l'URI complet à utiliser pour la
       communication avec le périphérique.

       Le champ marque_et_modèle_périphérique précise la marque et le modèle du périphérique, par
       exemple  « Exemple Foojet 2000 ». Si la marque et le modèle ne sont pas connus, vous devez
       indiquer « Inconnu ».

       Le champ info_périphérique ajoute des informations à propos du périphérique.  Généralement
       cela  comprend  la  marque  et  le  modèle avec le numéro de port ou l'adresse réseau, par
       exemple « Exemple Foojet 2000 USB n°1 ».

       Le champ optionnel id_périphérique indique l'identifiant IEEE-1284 du périphérique qui est
       utilisé pour sélectionner le pilote correspondant.

       Le champ optionnel emplacement_périphérique indique l'emplacement physique du périphérique
       qui est utilisé la plupart du temps pour pré-remplir l'emplacement du périphérique lors de
       l'ajout d'une imprimante.

   PERMISSIONS
       Les  programmes  de  transmission  sans droit de lecture et d'exécution pour tout le monde
       sont exécutés en tant que  superutilisateur.  Sinon,  le  programme  de  transmission  est
       exécuté en utilisant un compte non privilégié, habituellement « lp ».

CODE DE RETOUR

       Les codes de retour suivants sont définis pour les programmes de transmission :

       CUPS_BACKEND_OK
            Le  fichier  à  imprimer  a  été  transmis  avec succès au périphérique ou au serveur
            distant.

       CUPS_BACKEND_FAILED
            Le fichier à imprimer n'a pas été transmis avec succès au périphérique ou au  serveur
            distant. L'ordonnanceur réagira en annulant le travail, réessayant l'impression ou en
            stoppant   la   file   d'impression   en   fonction   de   l'état    de    l'attribut
            printer-error-policy.

       CUPS_BACKEND_AUTH_REQUIRED
            Le  fichier  à  imprimer  n'a  pas  été  transmis  avec  succès parce que des données
            d'identification valables sont nécessaires. L'ordonnanceur réagira en  suspendant  le
            travail  et  en  ajoutant le mot clé « cups-held-for-authentication » à l'attribut de
            description de tâche « job-reasons ».

       CUPS_BACKEND_HOLD
            Le fichier à imprimer n'a pas été transmis avec succès parce qu'il ne peut  pas  être
            imprimé à ce moment. L'ordonnanceur conservera le travail d'impression.

       CUPS_BACKEND_STOP
            Le  fichier  à imprimer n'a pas été transmis avec succès parce qu'il ne peut pas être
            imprimé à ce moment. L'ordonnanceur stoppera la file d'impression.

       CUPS_BACKEND_CANCEL
            Le fichier à imprimer n'a pas été transmis avec succès parce qu'un attribut n'est pas
            géré  ou  le  travail  a  été  annulé à l'imprimante. L'ordonnanceur répond à cela en
            annulant le travail d'impression.

       CUPS_BACKEND_RETRY
            Le fichier à imprimer n'a  pas  été  transmis  avec  succès  à  cause  d'un  incident
            temporaire. L'ordonnanceur tentera de relancer la tâche plus tard — les autres tâches
            pourraient imprimer avant celle-là.

       CUPS_BACKEND_RETRY_CURRENT
            Le fichier à imprimer n'a  pas  été  transmis  avec  succès  à  cause  d'un  incident
            temporaire.  L'ordonnanceur  tentera  de relancer la tâche immédiatement en empêchant
            d'autres tâches intermédiaires.

       Tous les autres codes de retour sont réservés.

ENVIRONNEMENT

       En plus des variables d’environnement listées dans cups(1) et  filter(7),  les  programmes
       peuvent attendre la variable d’environnement suivante :

       DEVICE_URI
            L'URI du périphérique associé à l'imprimante.

FICHIERS

       /etc/cups/cups-files.conf

NOTES

       Les  programmes  de  transmission de CUPS ne sont généralement pas conçus pour être lancés
       directement par l'utilisateur. À côté du problème lié  à  l'adresse  URI  du  périphérique
       (argv[0]   et   la  variable  d'environnement  DEVICE_URI  contiennent  l'adresse  URI  du
       périphérique), les programmes de transmission de CUPS attendent  également  des  variables
       d'environnement  et  descripteurs de fichier spécifiques, et sont généralement lancés dans
       une session utilisateur qui (sous  macOS)  possède  des  restrictions  supplémentaires  et
       affecte  la  façon dont ils fonctionnent. Les programmes de transmission peuvent également
       être installés avec des droits limités (0500 ou 0700) qui informent l'ordonnanceur de  les
       lancer avec les droits du superutilisateur au lieu d'un utilisateur système non privilégié
       (comme « lp »).

       À moins que vous ne soyez développeur, ou que vous sachiez ce que vous faites, veuillez ne
       pas lancer les programmes de transmission directement. À la place vous pouvez utiliser les
       programmes lp(1) ou lpr(1) pour envoyer un travail d'impression ou le programme  lpinfo(8)
       pour  demander  quelles imprimantes disponibles en utilisant le programme de transmission.
       La seule exception est le programme de transmission SNMP — voir snmpbackend(8)  pour  plus
       d'information.

NOTES

       Les  pilotes et les programmes de transmission de CUPS sont devenus obsolètes et ne seront
       plus entretenus dans une prochaine publication de CUPS. Les imprimantes qui ne gèrent  pas
       IPP peuvent être gérées en utilisant des applications telles que ippeveprinter(1).

VOIR AUSSI

       cups(1), cups-files.conf(5), cups-snmp(8), cupsd(8), filter(7), lp(1), lpinfo(8), lpr(1),
       Aide en ligne de CUPS : <URL:http://localhost:631/help>

COPYRIGHT

       Copyright © 2021-2022 par OpenPrinting.