Provided by: cups-ipp-utils_2.4.6-0ubuntu3.2_amd64
NOM
ipptoolfile - Format de fichier ipptool
DESCRIPTION
Le programme ipptool(1) accepte les fichiers, sans format particulier en texte pur, qui décrivent une ou plusieurs requêtes IPP. Les commentaires commencent par le caractère « # » et se terminent à la fin de la ligne. Chaque requête est entourée par des accolades, par exemple : # Ceci est un commentaire { # Le nom du test NAME « Fichier d’impression PDF » # La requête à envoyer OPERATION Print-Job GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 ATTR language attributes-natural-language en ATTR uri printer-uri $uri ATTR name requesting-user-name $user ATTR mimeMediaType document-format application/pdf GROUP job-attributes-tag ATTR collection media-col { # papier ordinaire US Letter à partir du bac « principal » MEMBER collection media-size { MEMBER integer x-dimension 21590 MEMBER integer y-dimension 27940 } MEMBER integer media-top-margin 423 MEMBER integer media-bottom-margin 423 MEMBER integer media-left-margin 423 MEMBER integer media-right-margin 423 MEMBER keyword media-source "main" MEMBER keyword media-type "stationery" } FILE testfile.pdf # La réponse à attendre STATUS successful-ok EXPECT job-id OF-TYPE integer WITH-VALUE >0 EXPECT job-uri OF-TYPE uri } { # Le nom du test NAME "Attente de l’achèvement du travail" # La requête à envoyer OPERATION Get-Job-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 ATTR language attributes-natural-language en ATTR uri printer-uri $uri ATTR integer job-id $job-id ATTR name requesting-user-name $user # La réponse à attendre STATUS successful-ok EXPECT job-id OF-TYPE integer WITH-VALUE $job-id EXPECT job-uri OF-TYPE uri EXPECT job-state OF-TYPE enum WITH-VALUE 3,4,5,6,7,8,9 EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user" # Afficher l’état du travail en attendant son achèvement... DISPLAY job-state DISPLAY job-state-reasons } DIRECTIVES PRINCIPALES Les directives suivantes peuvent être utilisées en dehors d’un test : { test } Définir un test. DEFINE nom_variable valeur Définir la variable dénommée à la valeur donnée. Cela est équivalent à indiquer « -d nom_variable=valeur » sur la ligne de commande de ipptool(8). DEFINE-DEFAULT nom_variable valeur Définir la variable nommée à la valeur donnée si elle n’a pas déjà une valeur. FILE-ID "identificateur" Définir la chaîne d’identificateur pour le fichier actuel. IGNORE-ERRORS yes IGNORE-ERRORS no Indiquer si, par défaut, ipptool(8) ignorera les erreurs et poursuivra avec les tests suivants. INCLUDE "nom_fichier" INCLUDE <nom_fichier> Inclure un autre fichier de test. La première façon inclut un fichier relatif au fichier de test actuel, tandis que la seconde inclut un fichier du répertoire inclus de ipptool(8). INCLUDE-IF-DEFINED nom "nom_fichier" INCLUDE-IF-DEFINED nom <nom_fichier> Inclure un autre fichier de test si la variable nommée est définie. La première façon inclut un fichier relatif à l’actuel fichier de test, tandis que la seconde inclut un fichier du répertoire inclus de ipptool(8). INCLUDE-IF-NOT-DEFINED nom "nom_fichier" INCLUDE-IF-NOT-DEFINED nom <nom_fichier> Inclure un autre fichier de test si la variable nommée n’est pas définie. La première façon inclut un fichier relatif à l’actuel fichier de test, tandis que la seconde inclut un fichier du répertoire inclus de ipptool(8). SKIP-IF-DEFINED nom_variable SKIP-IF-NOT-DEFINED nom_variable Indiquer que le reste du fichier de test devra être ignoré si la variable est ou n’est pas définie. STOP-AFTER-INCLUDE-ERROR no STOP-AFTER-INCLUDE-ERROR yes Indiquer si les tests seront arrêtés après une erreur dans un fichier inclus TRANSFER auto Indiquer que ces tests utiliseront, par défaut, « Transfer-Encoding: chunked » lors de requêtes avec fichiers joints et « Content-Length: » pour celles sans fichier joint. TRANSFER chunked Indiquer que ces tests utiliseront, par défaut, l’en-tête de HTTP/1.1 « Transfer-Encoding: chunked ». C’est le comportement par défaut et équivalent à indiquer -c sur la ligne de commande de ipptool(8). La prise en charge pour les requêtes partielles est exigée pour conformité avec toutes les versions d’IPP. TRANSFER taille Indiquer que ces tests utiliseront, par défaut, l’en-tête de HTTP/1.0 « Content-Length: ». C’est équivalent à indiquer « -l » sur la ligne de commande de ipptool(8). La prise en charge pour les requêtes sur la taille de contenu est exigée pour conformité avec toutes les versions d’IPP. VERSION 1.0 VERSION 1.1 VERSION 2.0 VERSION 2.1 VERSION 2.2 Indiquer le numéro de version d’IPP à utiliser par défaut pour les tests ci-dessous. DIRECTIVES DE TEST Les directives suivantes sont comprises dans un test : ATTR étiquette_hors-bande nom_attribut ATTR étiquette nom_attribut valeur(s) Ajouter un attribut à la requête de test. Les étiquettes « hors-bande » (admin-define, delete-attribute, no-value, not-settable, unknown, unsupported) n’ont pas de valeur. Les valeurs pour d’autres étiquettes sont séparées par le caractère virgule (« , ») — protéger les virgules avec « \ ». Les attributs et valeurs courants sont listés dans le registre IPP d’IANA — consulter les références ci-dessous. ATTR collection nom_attribut { MEMBER étiquette nom_membre valeur(s) ... } [ ... ,{ ... } ] Ajouter un attribut d’ensemble à la requête de test. Les attributs de membre suivent la même syntaxe que les attributs normaux et peuvent être eux-mêmes des ensembles emboités. Plusieurs valeurs d’ensemble peuvent être fournies si nécessaire, séparées par des virgules. COMPRESSION deflate COMPRESSION gzip COMPRESSION none Utiliser la compression indiquée pour les données du document qui suit les attributs dans une tâche d’impression ou une requête d’envoi de document. DELAY secondes[,répétition-secondes] Specifies a delay in seconds before this test will be run. If two values are specified, the second value is used as the delay between repeated tests. A default repeat interval of 5 seconds is used if this directive is not provided. DISPLAY nom_attribut Indiquer que la valeur de l’attribut nommé doit être affiché comme faisant partie du compte-rendu de test. EXPECT nom_attribut [ prédicat(s) ] EXPECT ?nom_attribut prédicat(s) EXPECT !nom_attribut Indiquer que la réponse doit, ou peut, ou ne doit pas inclure l’attribut nommé. Des exigences supplémentaires peuvent être ajoutées comme prédicats — consultez la section « PRÉDICATS EXPECT » pour davantage d’information sur les prédicats. Les noms d’attribut peuvent indiquer les attributs des membres en séparant les noms d’attribut et de membre avec une barre oblique, par exemple, « media-col/media-size/x-dimension ». EXPECT-ALL nom_attribut [ prédicat(s) ] EXPECT-ALL ?nom_attribut prédicat(s) Indiquer si la réponse doit ou peut inclure l’attribut nommé et que toutes les occurrences de cet attribut doivent correspondre aux prédicats indiqués. FILE nom_fichier Indiquer un fichier à ajouter à la fin de la requête. Cela est habituellement utilisé lors de l’envoi d’un fichier de test d’impression. GROUP étiquette Indiquer l’étiquette de groupe pour les attributs suivants dans la requête. IGNORE-ERRORS yes IGNORE-ERRORS no Indiquer si ipptool(8) ignorera les erreurs et continuera avec les tests suivants. MONITOR-PRINTER-STATE [ URI_imprimante] { EXPECT nom_attribut [ prédicat(s) ] } Indiquer les tests de surveillance d’état d’imprimante à exécuter en parallèle avec l’opération de test. Les tests de supervision seront exécutés jusqu’à ce que toutes les conditions EXPECT soient satisfaites ou que l’opération première de test soit terminée, quelque soit la première qui se présente. NAME "chaîne_littérale" Décrire le nom de test de manière compréhensible aux utilisateurs. OPERATION code_opération Indiquer les opérations à effectuer. PASS-IF-DEFINED nom_variable PASS-IF-NOT-DEFINED nom_variable Indiquer que l’actuel test sera omis automatiquement quand la variable est ou n’est pas définie. PAUSE "message" Afficher le message fourni et attendre l’appui d’une touche par l’utilisateur pour continuer. REQUEST-ID nombre REQUEST-ID aléatoire Indiquer la valeur d’identifiant de requête à utiliser dans la requête, soit un nombre entier soit le mot « random » pour utiliser une valeur calculée aléatoirement (comportement par défaut). RESOURCE chemin Indiquer un chemin de ressource alternatif pour la requête HTTP POST. Par défaut, c’est la ressource de l’URI fourni par le programme ipptool(8). SKIP-IF-DEFINED nom_variable SKIP-IF-NOT-DEFINED nom_variable Indiquer que l’actuel test sera omis quand la variable est ou n’est pas définie. SKIP-PREVIOUS-ERROR yes SKIP-PREVIOUS-ERROR no Indiquer si ipptool(8) ignorera le test actuel si le test précédent se termine sur une erreur ou un succès. STATUS code_état [ prédicat ] Indiquer la valeur attendue du code d’état de la réponse. Des exigences supplémentaires peuvent être ajoutées comme prédicats — consultez la section « PREDICATS STATUS » pour davantage d’information sur les prédicats. TEST-ID "identificateur" Définir une chaîne d’identificateur pour le test actuel. TRANSFER auto Indiquer que le test utilisera « Transfer-Encoding: chunked » si un fichier est joint ou «Content-Length: » sinon. TRANSFER chunked Indiquer si le test utilisera les en-têtes HTTP 1.1 « Transfer-Encoding: chunked ». TRANSFER taille Indiquer que ce test utilisera les en-têtes HTTP/1.0 « Content-Length: ». VERSION 1.0 VERSION 1.1 VERSION 2.0 VERSION 2.1 VERSION 2.2 Indiquer le numéro de version d’IPP à utiliser pour ce test. PRÉDICATS EXPECT Les prédicats ci-dessous sont compris suivant la directive de test EXPECT : COUNT nombre Exiger que l’attribut d’EXPECT ait le nombre indiqué de valeurs. DEFINE-MATCH nom_variable Définir la variable à 1 quand la condition d’EXPECT correspond. Un effet de bord de ce prédicat est que EXPECT n’échouera jamais à un test. DEFINE-NO-MATCH nom_variable Définir la variable à 1 quand la condition d’EXPECT ne correspond pas. Un effet de bord de ce prédicat est que EXPECT n’échouera jamais à un test. DEFINE-VALUE nom_variable Définir la variable à la valeur de l’attribut quand la condition d’EXPECT correspond. Un effet de bord de ce prédicat est que EXPECT n’échouera jamais à un test. DISPLAY-MATCH "message" Afficher le message indiqué quand la condition EXPECT correspond. IF-DEFINED nom_variable Appliquer les conditions d’EXPECT seulement si la variable indiquée est définie. IF-NOT-DEFINED nom_variable Appliquer les conditions d’EXPECT seulement si la variable indiquée n’est pas définie. IN-GROUP étiquette Exiger que l’attribut d’EXPECT soit dans l’étiquette de groupe indiquée. OF-TYPE étiquette[(limites)|étiquette|...] Exiger que l’attribut EXPECT utilise une des étiquettes de valeur indiquées. La plupart des étiquettes de valeur gèrent aussi la spécification de limites entre parenthèses, par exemple, « name(42) » autoriserait les chaines nameWith/WithoutLanguage jusqu’à 42 octets de longueur, « name(4:MAX) » autoriserait les chaines nameWith/WithoutLanguage entre 4 et 255 octets et « integer(-273:MAX) » autoriserait des entiers entre -273 et 147483647. REPEAT-LIMIT nombre Définir le nombre maximal de répétitions si le prédicat REPEAT-MATCH ou REPEAT-NO-MATCH est indiqué. La valeur par défaut est 1000. REPEAT-MATCH REPEAT-NO-MATCH Indiquer que l’actuel test doit être recommencé si la condition EXPECT correspond ou pas. SAME-COUNT-AS nom_attribut Exiger que l’attribut d’EXPECT ait le même nombre de valeurs que l’attribut similaire indiqué. WITH-ALL-HOSTNAMES "chaîne_littérale" WITH-ALL-HOSTNAMES "/exp_rationnelle/" Exiger que toutes les valeurs d’URI contiennent un nom d’hôte correspondant. WITH-ALL-RESOURCES "chaîne_littérale" WITH-ALL-RESOURCES "/exp_rationnelle/" Exiger que toutes les valeurs d’URI contiennent une ressource correspondante y compris le « / » de début) WITH-ALL-SCHEMES "chaîne_littérale" WITH-ALL-SCHEMES "/exp_rationnelle/" Exiger que toutes les valeurs d’URI contiennent un schéma correspondant. WITH-ALL-VALUES "chaîne_littérale" Exiger que toutes les valeurs de l’attribut d’EXPECT correspondent à la chaîne littérale. Les comparaisons sont sensibles à la casse. WITH-ALL-VALUES <nombre WITH-ALL-VALUES =nombre WITH-ALL-VALUES >nombre WITH-ALL-VALUES nombre[,...,nombre] Exiger que toutes les valeurs de l’attribut d’EXPECT correspondent au(x) nombre(s) ou à la comparaison numérique. Lors de la comparaison des valeurs d’intervalle de nombres entiers, les opérateurs « < » et « > » contrôlent seulement la limite supérieure de l’intervalle. WITH-ALL-VALUES "false" WITH-ALL-VALUES "true" Exiger que toutes les valeurs de l’attribut d’EXPECT correspondent à la valeur booléenne donnée WITH-ALL-VALUES "/expr_rationnelle/" Exiger que les valeurs de l’attribut d’EXPECT correspondent à l’expression rationnelle, qui doit être conforme à la syntaxe POSIX des expressions rationnelles. Les comparaisons sont sensibles à la casse. WITH-DISTINCT-VALUES Exiger que toutes les valeurs de l’attribut EXPECT soient uniques. Les comparaisons sont sensibles à la casse. Seuls les attributs charset, collection, enum, integer, keyword, mimeMediaType, naturalLanguage, rangeOfInteger, resolution, uriScheme gèrent ce prédicat. WITH-HOSTNAME "chaîne_littérale" WITH-HOSTNAME "/exp_rationnelle/" Exiger qu’au moins une valeur d’URI contienne un nom d’hôte concordant. WITH-RESOURCE "chaîne_littérale" WITH-RESOURCE "/exp_rationnelle/" Exiger qu’au moins une valeur d’URI contienne une ressource correspondante.(y compris le « / » de début). WITH-SCHEME "chaîne_littérale" WITH-SCHEME "/exp_rationnelle/" Exiger qu’au moins une valeur d’URI contienne un schéma concordant. WITH-VALUE "chaîne_littérale" Exiger qu’au moins une valeur de l’attribut d’EXPECT corresponde à la chaîne littérale. Les comparaisons sont sensibles à la casse. WITH-VALUE <nombre WITH-VALUE =nombre WITH-VALUE >nombre WITH-VALUE nombre[,...,nombre] Exiger qu’au moins une valeur de l’attribut d’EXPECT corresponde au(x) nombre(s) ou à la comparaison numérique. Lors de la comparaison des valeurs d’intervalle de nombres entiers, les opérateurs « < » et « > » contrôlent seulement la limite supérieure de l’intervalle. WITH-VALUE "false" WITH-VALUE "true" Exiger qu’au moins une valeur de l’attribut d’EXPECT corresponde à la valeur booléenne donnée WITH-VALUE "/exp_rationnelle/" Exiger qu’au moins une valeur de l’attribut d’EXPECT corresponde à l’expression rationnelle, qui doit être conforme à la syntaxe POSIX des expressions rationnelles. Les comparaisons sont sensibles à la casse. WITH-VALUE-FROM nom_attribut Exiger que la(es) valeur(s) de l’attribut EXPECT corresponde(nt) à(ux) valeur(s) dans l’attribut indiqué. Par exemple, « EXPECT job-sheets WITH-VALUE-FROM job-sheets-supported » exige que la valeur « job-sheets » soit listée comme valeur de l’attribut « job-sheets-supported ». PRÉDICATS STATUS Les prédicats ci-dessous sont compris suivant la directive de test STATUS : DEFINE-MATCH nom_variable Définir la variable à 1 quand le STATUS correspond. Un effet de bord de ce prédicat est que ce STATUS n’échouera jamais à un test. DEFINE-NO-MATCH nom_variable Définir la variable à 1 quand le STATUS ne correspond pas. Un effet de bord de ce prédicat est que ce STATUS n’échouera jamais à un test. IF-DEFINED nom_variable Appliquer le STATUS seulement si la variable indiquée est définie. IF-NOT-DEFINED nom_variable Appliquer le STATUS seulement si la variable indiquée n’est pas définie. REPEAT-LIMIT nombre Définir le nombre maximal de répétitions. La valeur par défaut est 1000. REPEAT-MATCH REPEAT-NO-MATCH Indiquer si le test actuel doit être recommencé si le code de l’état de la réponse correspond ou ne correspond pas à la valeur indiquée par la directive STATUS CODES D’OPÉRATION Les codes d’opération correspondent aux nombres hexadécimaux (0xHHHH) et noms de la RFC 8011 et d’autres spécifications d’extensions IPP. Voici une liste complète de noms pris en charge par ipptool(8) : Acknowledge-Document Acknowledge-Identify-Printer Acknowledge-Job Activate-Printer Add-Document-Images Allocate-Printer-Resources Cancel-Current-Job Cancel-Job Cancel-Jobs Cancel-My-Jobs Cancel-Resource Cancel-Subscription Close-Job Create-Job Create-Job-Subscriptions Create-Printer Create-Printer-Subscriptions Create-Resource Create-Resource-Subscriptions Create-System-Subscriptions CUPS-Accept-Jobs CUPS-Accept-Jobs CUPS-Add-Modify-Class CUPS-Add-Modify-Printer CUPS-Authenticate-Job CUPS-Create-Local-Printer CUPS-Delete-Class CUPS-Delete-Printer CUPS-Get-Classes CUPS-Get-Default CUPS-Get-Devices CUPS-Get-Document CUPS-Get-PPD CUPS-Get-PPDs CUPS-Get-Printers CUPS-Move-Job CUPS-Reject-Jobs CUPS-Set-Default Deactivate-Printer Deallocate-Printer-Resources Delete-Printer Deregister-Output-Device Disable-All-Printers Disable-Printer Enable-All-Printers Enable-Printer Fetch-Document Fetch-Job Get-Job-Attributes Get-Jobs Get-Next-Document-Data Get-Notifications Get-Output-Device-Attributes Get-Printer-Attributes Get-Printer-Support-Files Get-Printer-Supported-Values Get-Printers Get-Subscription-Attributes Get-Subscriptions Get-System-Attributes Get-System-Supported-Values Hold-Job Hold-New-Jobs Identify-Printer Install-Resource Pause-All-Printers Pause-All-Printers-After-Current-Job Pause-Printer Pause-Printer-After-Current-Job Print-Job Print-URI Promote-Job Purge-Jobs Register-Output-Device Release-Held-New-Jobs Release-Job Renew-Subscription Reprocess-Job Restart-Job Restart-Printer Restart-System Resubmit-Job Resume-All-Printers Resume-Job Resume-Printer Schedule-Job-After Send-Document Send-Hardcopy-Document Send-Notifications Send-Resource-Data Send-URI Set-Job-Attributes Set-Printer-Attributes Set-Resource-Attributes Set-System-Attributes Shutdown-All-Printers Shutdown-One-Printer Shutdown-Printer Startup-All-Printers Startup-One-Printer Startup-Printer Suspend-Current-Job Update-Active-Jobs Update-Document-Status Update-Job-Status Update-Output-Device-Attributes Validate-Document Validate-Job CODES D’ÉTAT Les codes d’état correspondent aux nombres hexadécimaux (0xHHHH) et noms de la RFC 8011 et d’autres spécifications d’extensions IPP. Voici une liste complète de noms pris en charge par ipptool(8) : client-error-account-authorization-failed client-error-account-closed client-error-account-info-needed client-error-account-limit-reached client-error-attributes-not-settable client-error-attributes-or-values-not-supported client-error-bad-request client-error-charset-not-supported client-error-compression-error client-error-compression-not-supported client-error-conflicting-attributes client-error-document-access-error client-error-document-format-error client-error-document-format-not-supported client-error-document-password-error client-error-document-permission-error client-error-document-security-error client-error-document-unprintable-error client-error-forbidden client-error-gone client-error-ignored-all-notifications client-error-ignored-all-subscriptions client-error-not-authenticated client-error-not-authorized client-error-not-found client-error-not-possible client-error-print-support-file-not-found client-error-request-entity-too-large client-error-request-value-too-long client-error-timeout client-error-too-many-subscriptions client-error-uri-scheme-not-supported cups-error-account-authorization-failed cups-error-account-closed cups-error-account-info-needed cups-error-account-limit-reached cups-see-other redirection-other-site server-error-busy server-error-device-error server-error-internal-error server-error-job-canceled server-error-multiple-document-jobs-not-supported server-error-not-accepting-jobs server-error-operation-not-supported server-error-printer-is-deactivated server-error-service-unavailable server-error-temporary-error server-error-version-not-supported successful-ok successful-ok-but-cancel-subscription successful-ok-conflicting-attributes successful-ok-events-complete successful-ok-ignored-notifications successful-ok-ignored-or-substituted-attributes successful-ok-ignored-subscriptions successful-ok-too-many-events ÉTIQUETTES Les étiquettes de valeur et de groupe correspondent aux noms de la RFC 8011 et d’autres spécifications d’extensions IPP. Voici les étiquettes de groupe : document-attributes-tag event-notification-attributes-tag job | job-attributes-tag operation | operation-attributes-tag printer | printer-attributes-tag resource-attributes-tag subscription-attributes-tag system-attributes-tag unsupported-attributes-tag Voici les étiquettes de valeur : admin-define boolean charset collection | begCollection dateTime default delete-attribute enum integer keyword language | naturalLanguage mimetype | mimeMediaType name | nameWithLanguage | nameWithoutLanguage no-value not-settable octetString rangeOfInteger resolution text | textWithLanguage | textWithoutLanguage unknown unsupported uri uriScheme VARIABLES Le programme ipptool(8) conserve une liste de variables qui peuvent être utilisées dans n’importe quelle chaîne littérale ou valeur d’attribut en indiquant « $nom_variable ». En plus des variables définies en utilisant l’option « -d » ou la directive DEFINE, les variables prédéfinies suivantes sont disponibles : $$ Insérer un seul caractère « $ ». $ENV[nom] Insérer la valeur de la variable d’environnement nommée, ou une chaîne vide si la variable d’environnement n’est pas définie. $date-current Insérer la date et l’heure courantes en utilisant le format ISO-8601 (« aaaa-mm-jjThh:mm:ssZ »). $date-start Insérer la date et l’heure de démarrage en utilisant le format ISO-8601 (« aaaa-mm-jjThh:mm:ssZ »). $nom_fichier Insérer le nom de fichier fourni à ipptool(8) avec l’option -f. $type_fichier Insérer le type MIME de média pour le nom de fichier fourni à ipptool(8) avec l’option « -f ». $nom_hôte Insérer le nom d’hôte à partir de l’URI fourni à ipptool(8). $id_tâche Insérer la valeur du dernier identifiant de tâche renvoyée par la réponse d’un test ou 0 si aucun identifiant n’a été trouvé. $uri_travail Insérer la dernière valeur de l’attribut de l’URI de travail renvoyée par la réponse d’un test ou une chaîne vide si aucun attribut d’URI n’a été trouvé. $id_notification_souscription Insérer la dernière valeur de l’attribut d’identifiant de notification d’abonnement renvoyée dans une réponse de test ou 0 si aucun attribut n’a été trouvé. $port Insérer le numéro du port à partir de l’URI fourni à ipptool(8). $ressource Insérer le chemin de ressource à partir de l’URI fourni à ipptool(8). $schéma Insérer le schéma depuis l’URI fourni à ipptool(8). $uri Insérer l’URI fourni à ipptool(8). $uri_utilisateur Insérer l'identifiant à partir de l’URI fourni par ipptool(8), s’il existe. $utilisateur Insérer le nom de connexion de l’utilisateur actuel.
VOIR AUSSI
ipptool(1), IANA IPP Registry (https://www.iana.org/assignments/ipp-registrations), PWG Internet Printing Protocol Workgroup (https://www.pwg.org/ipp), RFC 8011 (https://datatracker.ietf.org/doc/html/rfc8011)
COPYRIGHT
Copyright © 2021-2023 by OpenPrinting.