Provided by: cups-daemon_2.4.12-0ubuntu1_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 © 2020-2024 by OpenPrinting.

28 février 2021                                       CUPS                                            backend(7)