diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 000000000..f8b488856 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 000000000..6b6114114 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/libcups/v16/.suo b/.vs/libcups/v16/.suo new file mode 100644 index 000000000..21d301cd5 Binary files /dev/null and b/.vs/libcups/v16/.suo differ diff --git a/.vs/libcups/v16/Browse.VC.db b/.vs/libcups/v16/Browse.VC.db new file mode 100644 index 000000000..c0a268c4f Binary files /dev/null and b/.vs/libcups/v16/Browse.VC.db differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 000000000..6d3245cb1 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/cups/Makefile b/cups/Makefile index d097a9450..1df149364 100644 --- a/cups/Makefile +++ b/cups/Makefile @@ -34,7 +34,6 @@ LIBOBJS = \ http-support.o \ ipp.o \ ipp-file.o \ - ipp-vars.o \ ipp-support.o \ langprintf.o \ language.o \ diff --git a/cups/ipp-file.c b/cups/ipp-file.c index bf17bbe19..dc25cb038 100644 --- a/cups/ipp-file.c +++ b/cups/ipp-file.c @@ -1,142 +1,506 @@ -/* - * IPP data file parsing functions. - * - * Copyright © 2021 by OpenPrinting. - * Copyright © 2007-2019 by Apple Inc. - * Copyright © 1997-2007 by Easy Software Products. - * - * Licensed under Apache License v2.0. See the file "LICENSE" for more - * information. - */ - -/* - * Include necessary headers... - */ - -#include "ipp-private.h" -#include "string-private.h" +// +// IPP data file functions. +// +// Copyright © 2021-2022 by OpenPrinting. +// Copyright © 2007-2019 by Apple Inc. +// Copyright © 1997-2007 by Easy Software Products. +// +// Licensed under Apache License v2.0. See the file "LICENSE" for more +// information. +// + +#include "cups-private.h" #include "debug-internal.h" -/* - * Local functions... - */ +// +// Private structures... +// -static ipp_t *parse_collection(_ipp_file_t *f, _ipp_vars_t *v, void *user_data); -static int parse_value(_ipp_file_t *f, _ipp_vars_t *v, void *user_data, ipp_t *ipp, ipp_attribute_t **attr, size_t element); -static void report_error(_ipp_file_t *f, _ipp_vars_t *v, void *user_data, const char *message, ...) _CUPS_FORMAT(4, 5); +struct _ipp_file_s // IPP data file +{ + ipp_file_t *parent; // Parent data file, if any + cups_file_t *fp; // File pointer + char *filename, // Filename + mode; // Read/write mode + int indent, // Current indentation + column, // Current column + linenum, // Current line number + save_line; // Saved line number + off_t save_pos; // Saved position + ipp_tag_t group_tag; // Current group for attributes + ipp_t *attrs; // Current attributes + size_t num_vars; // Number of variables + cups_option_t *vars; // Variables + ipp_fattr_cb_t attr_cb; // Attribute (filter) callback + ipp_ferror_cb_t error_cb; // Error reporting callback + ipp_ftoken_cb_t token_cb; // Token processing callback + void *cb_data; // Callback data + char *buffer; // Output buffer + size_t alloc_buffer; // Size of output buffer +}; + + +// +// Local functions... +// + +static bool expand_buffer(ipp_file_t *file, size_t buffer_size); +static ipp_t *parse_collection(ipp_file_t *file); +static bool parse_value(ipp_file_t *file, ipp_t *ipp, ipp_attribute_t **attr, size_t element); +static bool report_error(ipp_file_t *file, const char *message, ...) _CUPS_FORMAT(2,3); +static bool write_string(ipp_file_t *file, const char *s, size_t len); + + +// +// 'ippFileClose()' - Close an IPP data file. +// +// This function closes the current IPP data file. The `ipp_file_t` object can +// be reused for another file as needed. +// + +bool // O - `true` on success, `false` on error +ippFileClose(ipp_file_t *file) // I - IPP data file +{ + bool ret; // Return value + + + if (!file || !file->fp) + return (false); + if ((ret = cupsFileClose(file->fp)) == false) + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0); -/* - * '_ippFileParse()' - Parse an IPP data file. - */ + free(file->filename); + + file->fp = NULL; + file->filename = NULL; + file->mode = '\0'; + file->attrs = NULL; + + return (ret); +} -ipp_t * /* O - IPP attributes or @code NULL@ on failure */ -_ippFileParse( - _ipp_vars_t *v, /* I - Variables */ - const char *filename, /* I - Name of file to parse */ - void *user_data) /* I - User data pointer */ + +// +// 'ippFileDelete()' - Close an IPP data file and free all memory. +// +// This function closes an IPP data file, if necessary, and frees all memory +// associated with it. +// + +bool // O - `true` on success, `false` on error +ippFileDelete(ipp_file_t *file) // I - IPP data file { - _ipp_file_t f; /* IPP data file information */ - ipp_t *attrs = NULL; /* Active IPP message */ - ipp_attribute_t *attr = NULL; /* Current attribute */ - char token[1024]; /* Token string */ - ipp_t *ignored = NULL; /* Ignored attributes */ + if (!file) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + if (file->fp) + { + if (!ippFileClose(file)) + return (false); + } + + cupsFreeOptions(file->num_vars, file->vars); + free(file->buffer); + free(file); + return (true); +} - DEBUG_printf(("_ippFileParse(v=%p, filename=\"%s\", user_data=%p)", (void *)v, filename, user_data)); - /* - * Initialize file info... - */ +// +// 'ippFileExpandVars()' - Expand IPP data file and environment variables in a string. +// +// This function expands IPP data file variables of the form "$name" and +// environment variables of the form "$ENV[name]" in the source string to the +// destination string. The +// - memset(&f, 0, sizeof(f)); - f.filename = filename; - f.linenum = 1; +size_t // O - Required size for expanded variables +ippFileExpandVars(ipp_file_t *file, // I - IPP data file + char *dst, // I - Destination buffer + const char *src, // I - Source string + size_t dstsize) // I - Size of destination buffer +{ + char *dstptr, // Pointer into destination + *dstend, // End of destination + temp[256], // Temporary string + *tempptr; // Pointer into temporary string + const char *value; // Value to substitute - if ((f.fp = cupsFileOpen(filename, "r")) == NULL) + + // Range check input... + if (!file || !dst || !src || dstsize < 32) { - DEBUG_printf(("1_ippFileParse: Unable to open \"%s\": %s", filename, strerror(errno))); - return (0); + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); } - /* - * Do the callback with a NULL token to setup any initial state... - */ + // Copy the source string to the destination, expanding variables as needed... + dstptr = dst; + dstend = dst + dstsize - 1; - (*v->tokencb)(&f, v, user_data, NULL); + while (*src) + { + if (*src == '$') + { + // Substitute a string/number... + if (!strncmp(src, "$$", 2)) + { + // Literal $ + value = "$"; + src += 2; + } + else if (!strncmp(src, "$ENV[", 5)) + { + // Environment variable + cupsCopyString(temp, src + 5, sizeof(temp)); + + for (tempptr = temp; *tempptr; tempptr ++) + { + if (*tempptr == ']') + break; + } - /* - * Read data file, using the callback function as needed... - */ + if (*tempptr) + *tempptr++ = '\0'; + + value = getenv(temp); + src += tempptr - temp + 5; + } + else + { + // $name or ${name} + if (src[1] == '{') + { + src += 2; + cupsCopyString(temp, src, sizeof(temp)); + if ((tempptr = strchr(temp, '}')) != NULL) + *tempptr = '\0'; + else + tempptr = temp + strlen(temp); + } + else + { + cupsCopyString(temp, src + 1, sizeof(temp)); + + for (tempptr = temp; *tempptr; tempptr ++) + { + if (!isalnum(*tempptr & 255) && *tempptr != '-' && *tempptr != '_') + break; + } + + if (*tempptr) + *tempptr = '\0'; + } + + value = ippFileGetVar(file, temp); + src += tempptr - temp + 1; + } + + if (value) + { + if (dstptr < dstend) + cupsCopyString(dstptr, value, (size_t)(dstend - dstptr + 1)); + dstptr += strlen(value); + } + } + else if (dstptr < dstend) + *dstptr++ = *src++; + else + dstptr ++; + } + + if (dstptr < dstend) + *dstptr = '\0'; + else + *dstend = '\0'; + + return ((size_t)(dstptr - dst)); +} - while (_ippFileReadToken(&f, token, sizeof(token))) + +// +// 'ippFileGetAttribute()' - Get a single named attribute from an IPP data file. +// +// This function finds the first occurence of a named attribute in the current +// IPP attributes in the specified data file. Unlike +// @link ippFileGetAttributes@, this function does not clear the attribute +// state. +// + +ipp_attribute_t * // O - Attribute or `NULL` if none +ippFileGetAttribute( + ipp_file_t *file, // I - IPP data file + const char *name, // I - Attribute name + ipp_tag_t value_tag) // I - Value tag or `IPP_TAG_ZERO` for any +{ + if (!file || !name) + return (NULL); + else + return (ippFindAttribute(file->attrs, name, value_tag)); +} + + +// +// 'ippFileGetAttributes()' - Get the current set of attributes from an IPP data file. +// +// This function gets the current set of attributes from an IPP data file. +// + +ipp_t * // O - IPP attributes +ippFileGetAttributes(ipp_file_t *file) // I - IPP data file +{ + return (file ? file->attrs : NULL); +} + + +// +// 'ippFileGetFilename()' - Get the filename for an IPP data file. +// +// This function returns the filename associated with an IPP data file. +// + +const char * // O - Filename +ippFileGetFilename(ipp_file_t *file) // I - IPP data file +{ + return (file ? file->filename : NULL); +} + + +// +// 'ippFileGetLineNumber()' - Get the current line number in an IPP data file. +// +// This function returns the current line number in an IPP data file. +// + +int // O - Line number +ippFileGetLineNumber(ipp_file_t *file) // I - IPP data file +{ + return (file ? file->linenum : 0); +} + + +// +// 'ippFileGetVar()' - Get the value of an IPP data file variable. +// +// This function returns the value of an IPP data file variable. `NULL` is +// returned if the variable is not set. +// + +const char * // O - Variable value or `NULL` if none. +ippFileGetVar(ipp_file_t *file, // I - IPP data file + const char *name) // I - Variable name +{ + const char *value; // Value + + + if (!file || !name) + return (NULL); + else if (!strcmp(name, "user")) + return (cupsGetUser()); + else if ((value = cupsGetOption(name, file->num_vars, file->vars)) != NULL) + return (value); + else if (file->parent) + return (cupsGetOption(name, file->parent->num_vars, file->parent->vars)); + else + return (NULL); +} + + +// +// 'ippFileNew()' - Create a new IPP data file object for reading or writing. +// +// This function opens an IPP data file for reading (mode="r") or writing +// (mode="w"). If the "parent" argument is not `NULL`, all variables from the +// parent data file are copied to the new file. +// + +ipp_file_t * // O - IPP data file +ippFileNew(ipp_file_t *parent, // I - Parent data file or `NULL` for none + ipp_fattr_cb_t attr_cb, // I - Attribute filtering callback, if any + ipp_ferror_cb_t error_cb, // I - Error reporting callback, if any + void *cb_data) // I - Callback data, if any +{ + ipp_file_t *file; // IPP data file + + + // Allocate memory... + if ((file = (ipp_file_t *)calloc(1, sizeof(ipp_file_t))) == NULL) + return (NULL); + + // Set callbacks and parent... + file->parent = parent; + file->attr_cb = attr_cb; + file->error_cb = error_cb; + file->cb_data = cb_data; + + return (file); +} + + +// +// 'ippFileOpen()' - Open an IPP data file for reading or writing. +// +// This function opens an IPP data file for reading (mode="r") or writing +// (mode="w"). If the "parent" argument is not `NULL`, all variables from the +// parent data file are copied to the new file. +// + +bool // O - `true` on success, `false` on error +ippFileOpen(ipp_file_t *file, // I - IPP data file + const char *filename, // I - Filename to open + const char *mode) // I - Open mode - "r" to read and "w" to write +{ + cups_file_t *fp; // IPP data file pointer + + + // Range check input... + if (!file || !filename || !mode || (strcmp(mode, "r") && strcmp(mode, "w"))) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + else if (file->fp) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EBUSY), 0); + return (false); + } + + // Try opening the file... + if ((fp = cupsFileOpen(filename, mode)) == NULL) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0); + return (false); + } + + // Save the file information and return... + file->fp = fp; + file->filename = strdup(filename); + file->mode = *mode; + file->column = 0; + file->linenum = 1; + + return (true); +} + + +// +// 'ippFileRead()' - Read an IPP data file. +// + +bool // O - `true` on success, `false` on error +ippFileRead(ipp_file_t *file, // I - IPP data file + ipp_ftoken_cb_t token_cb, // I - Token callback + bool with_groups)// I - Read attributes with GROUP directives +{ + ipp_t *attrs = NULL; // Active IPP message + ipp_attribute_t *attr = NULL; // Current attribute + char token[1024]; // Token string + ipp_t *ignored = NULL; // Ignored attributes + bool ret = true; // Return value + + + // Range check input + if (!file || file->mode != 'r') + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + // Read data file, using the callback function as needed... + while (ippFileReadToken(file, token, sizeof(token))) { if (!_cups_strcasecmp(token, "DEFINE") || !_cups_strcasecmp(token, "DEFINE-DEFAULT")) { - char name[128], /* Variable name */ - value[1024], /* Variable value */ - temp[1024]; /* Temporary string */ + // Define a variable... + char name[128], // Variable name + value[1024], // Variable value + temp[1024]; // Temporary string attr = NULL; - if (_ippFileReadToken(&f, name, sizeof(name)) && _ippFileReadToken(&f, temp, sizeof(temp))) + if (ippFileReadToken(file, name, sizeof(name)) && ippFileReadToken(file, temp, sizeof(temp))) { - if (_cups_strcasecmp(token, "DEFINE-DEFAULT") || !_ippVarsGet(v, name)) + if (_cups_strcasecmp(token, "DEFINE-DEFAULT") || !ippFileGetVar(file, name)) { - _ippVarsExpand(v, value, temp, sizeof(value)); - _ippVarsSet(v, name, value); + ippFileExpandVars(file, value, temp, sizeof(value)); + ippFileSetVar(file, name, value); } } else { - report_error(&f, v, user_data, "Missing %s name and/or value on line %d of \"%s\".", token, f.linenum, f.filename); + report_error(file, "Missing %s name and/or value on line %d of '%s'.", token, file->linenum, file->filename); + ret = false; break; } } - else if (f.attrs && !_cups_strcasecmp(token, "ATTR")) + else if (file->attrs && with_groups && !_cups_strcasecmp(token, "GROUP")) { - /* - * Attribute definition... - */ + // Attribute group... + char temp[1024]; // Temporary token + ipp_tag_t group_tag; // Group tag - char syntax[128], /* Attribute syntax (value tag) */ - name[128]; /* Attribute name */ - ipp_tag_t value_tag; /* Value tag */ + if (!ippFileReadToken(file, temp, sizeof(temp))) + { + report_error(file, "Missing GROUP tag on line %d of '%s'.", file->linenum, file->filename); + ret = false; + break; + } + + if ((group_tag = ippTagValue(temp)) == IPP_TAG_ZERO || group_tag >= IPP_TAG_UNSUPPORTED_VALUE) + { + report_error(file, "Bad GROUP tag '%s' on line %d of '%s'.", temp, file->linenum, file->filename); + ret = false; + break; + } + + if (group_tag == file->group_tag) + ippAddSeparator(file->attrs); + + file->group_tag = group_tag; + } + else if (file->attrs && !_cups_strcasecmp(token, "ATTR")) + { + // Attribute definition... + char syntax[128], // Attribute syntax (value tag) + name[128]; // Attribute name + ipp_tag_t value_tag; // Value tag attr = NULL; - if (!_ippFileReadToken(&f, syntax, sizeof(syntax))) + if (!ippFileReadToken(file, syntax, sizeof(syntax))) { - report_error(&f, v, user_data, "Missing ATTR syntax on line %d of \"%s\".", f.linenum, f.filename); + report_error(file, "Missing ATTR syntax on line %d of '%s'.", file->linenum, file->filename); + ret = false; break; } else if ((value_tag = ippTagValue(syntax)) < IPP_TAG_UNSUPPORTED_VALUE) { - report_error(&f, v, user_data, "Bad ATTR syntax \"%s\" on line %d of \"%s\".", syntax, f.linenum, f.filename); + report_error(file, "Bad ATTR syntax \"%s\" on line %d of '%s'.", syntax, file->linenum, file->filename); + ret = false; break; } - if (!_ippFileReadToken(&f, name, sizeof(name)) || !name[0]) + if (!ippFileReadToken(file, name, sizeof(name)) || !name[0]) { - report_error(&f, v, user_data, "Missing ATTR name on line %d of \"%s\".", f.linenum, f.filename); + report_error(file, "Missing ATTR name on line %d of '%s'.", file->linenum, file->filename); + ret = false; break; } - if (!v->attrcb || (*v->attrcb)(&f, user_data, name)) + if (!file->attr_cb || (*file->attr_cb)(file, file->cb_data, name)) { - /* - * Add this attribute... - */ - - attrs = f.attrs; + // Add this attribute... + attrs = file->attrs; } else { - /* - * Ignore this attribute... - */ - + // Ignore this attribute... if (!ignored) ignored = ippNew(); @@ -145,104 +509,104 @@ _ippFileParse( if (value_tag < IPP_TAG_INTEGER) { - /* - * Add out-of-band attribute - no value string needed... - */ - - ippAddOutOfBand(attrs, f.group_tag, value_tag, name); + // Add out-of-band attribute - no value string needed... + ippAddOutOfBand(attrs, file->group_tag, value_tag, name); } else { - /* - * Add attribute with one or more values... - */ + // Add attribute with one or more values... + attr = ippAddString(attrs, file->group_tag, value_tag, name, NULL, NULL); - attr = ippAddString(attrs, f.group_tag, value_tag, name, NULL, NULL); - - if (!parse_value(&f, v, user_data, attrs, &attr, 0)) + if (!parse_value(file, attrs, &attr, 0)) + { + ret = false; break; + } } - } else if (attr && !_cups_strcasecmp(token, ",")) { - /* - * Additional value... - */ - - if (!parse_value(&f, v, user_data, attrs, &attr, ippGetCount(attr))) + // Additional value... + if (!parse_value(file, attrs, &attr, ippGetCount(attr))) + { + ret = false; break; + } } else { - /* - * Something else... - */ - + // Something else... attr = NULL; attrs = NULL; - if (!(*v->tokencb)(&f, v, user_data, token)) + if (!token_cb) + { + ret = false; + break; + } + else if ((ret = (token_cb)(file, file->cb_data, token)) == false) + { break; + } } } - /* - * Close the file and free ignored attributes, then return any attributes we - * kept... - */ - - cupsFileClose(f.fp); + // Free any ignored attributes and return... ippDelete(ignored); - return (f.attrs); + return (ret); } -/* - * '_ippFileReadToken()' - Read a token from an IPP data file. - */ +// +// 'ippFileReadToken()' - Read a token from an IPP data file. +// +// This function reads a single token or value from an IPP data file, skipping +// comments and whitespace as needed. +// -int /* O - 1 on success, 0 on failure */ -_ippFileReadToken(_ipp_file_t *f, /* I - File to read from */ - char *token, /* I - Token string buffer */ - size_t tokensize)/* I - Size of token string buffer */ +bool // O - `true` on success, `false` on error +ippFileReadToken(ipp_file_t *file, // I - IPP data file + char *token, // I - Token buffer + size_t tokensize) // I - Size of token buffer { - int ch, /* Character from file */ - quote = 0; /* Quoting character */ - char *tokptr = token, /* Pointer into token buffer */ - *tokend = token + tokensize - 1;/* End of token buffer */ + int ch, // Character from file + quote = 0; // Quoting character + char *tokptr = token, // Pointer into token buffer + *tokend = token + tokensize - 1;// End of token buffer + + + // Range check input... + if (!file || !token || tokensize < 32) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + if (token) + *token = '\0'; - /* - * Skip whitespace and comments... - */ + return (false); + } - DEBUG_printf(("1_ippFileReadToken: linenum=%d, pos=%ld", f->linenum, (long)cupsFileTell(f->fp))); + // Skip whitespace and comments... + DEBUG_printf(("1ippFileReadToken: linenum=%d, pos=%ld", file->linenum, (long)cupsFileTell(file->fp))); - while ((ch = cupsFileGetChar(f->fp)) != EOF) + while ((ch = cupsFileGetChar(file->fp)) != EOF) { if (_cups_isspace(ch)) { - /* - * Whitespace... - */ - + // Whitespace... if (ch == '\n') { - f->linenum ++; - DEBUG_printf(("1_ippFileReadToken: LF in leading whitespace, linenum=%d, pos=%ld", f->linenum, (long)cupsFileTell(f->fp))); + file->linenum ++; + DEBUG_printf(("1ippFileReadToken: LF in leading whitespace, linenum=%d, pos=%ld", file->linenum, (long)cupsFileTell(file->fp))); } } else if (ch == '#') { - /* - * Comment... - */ + // Comment... + DEBUG_puts("1ippFileReadToken: Skipping comment in leading whitespace..."); - DEBUG_puts("1_ippFileReadToken: Skipping comment in leading whitespace..."); - - while ((ch = cupsFileGetChar(f->fp)) != EOF) + while ((ch = cupsFileGetChar(file->fp)) != EOF) { if (ch == '\n') break; @@ -250,8 +614,8 @@ _ippFileReadToken(_ipp_file_t *f, /* I - File to read from */ if (ch == '\n') { - f->linenum ++; - DEBUG_printf(("1_ippFileReadToken: LF at end of comment, linenum=%d, pos=%ld", f->linenum, (long)cupsFileTell(f->fp))); + file->linenum ++; + DEBUG_printf(("1ippFileReadToken: LF at end of comment, linenum=%d, pos=%ld", file->linenum, (long)cupsFileTell(file->fp))); } else break; @@ -262,110 +626,83 @@ _ippFileReadToken(_ipp_file_t *f, /* I - File to read from */ if (ch == EOF) { - DEBUG_puts("1_ippFileReadToken: EOF"); - return (0); + DEBUG_puts("1ippFileReadToken: EOF"); + return (false); } - /* - * Read a token... - */ - + // Read a token... while (ch != EOF) { if (ch == '\n') { - f->linenum ++; - DEBUG_printf(("1_ippFileReadToken: LF in token, linenum=%d, pos=%ld", f->linenum, (long)cupsFileTell(f->fp))); + file->linenum ++; + DEBUG_printf(("1ippFileReadToken: LF in token, linenum=%d, pos=%ld", file->linenum, (long)cupsFileTell(file->fp))); } if (ch == quote) { - /* - * End of quoted text... - */ - + // End of quoted text... *tokptr = '\0'; - DEBUG_printf(("1_ippFileReadToken: Returning \"%s\" at closing quote.", token)); - return (1); + DEBUG_printf(("1ippFileReadToken: Returning \"%s\" at closing quote.", token)); + return (true); } else if (!quote && _cups_isspace(ch)) { - /* - * End of unquoted text... - */ - + // End of unquoted text... *tokptr = '\0'; - DEBUG_printf(("1_ippFileReadToken: Returning \"%s\" before whitespace.", token)); - return (1); + DEBUG_printf(("1ippFileReadToken: Returning \"%s\" before whitespace.", token)); + return (true); } else if (!quote && (ch == '\'' || ch == '\"')) { - /* - * Start of quoted text or regular expression... - */ - + // Start of quoted text or regular expression... quote = ch; - DEBUG_printf(("1_ippFileReadToken: Start of quoted string, quote=%c, pos=%ld", quote, (long)cupsFileTell(f->fp))); + DEBUG_printf(("1ippFileReadToken: Start of quoted string, quote=%c, pos=%ld", quote, (long)cupsFileTell(file->fp))); } else if (!quote && ch == '#') { - /* - * Start of comment... - */ - - cupsFileSeek(f->fp, cupsFileTell(f->fp) - 1); + // Start of comment... + cupsFileSeek(file->fp, cupsFileTell(file->fp) - 1); *tokptr = '\0'; - DEBUG_printf(("1_ippFileReadToken: Returning \"%s\" before comment.", token)); - return (1); + DEBUG_printf(("1ippFileReadToken: Returning \"%s\" before comment.", token)); + return (true); } else if (!quote && (ch == '{' || ch == '}' || ch == ',')) { - /* - * Delimiter... - */ - + // Delimiter... if (tokptr > token) { - /* - * Return the preceding token first... - */ - - cupsFileSeek(f->fp, cupsFileTell(f->fp) - 1); + // Return the preceding token first... + cupsFileSeek(file->fp, cupsFileTell(file->fp) - 1); } else { - /* - * Return this delimiter by itself... - */ - + // Return this delimiter by itself... *tokptr++ = (char)ch; } *tokptr = '\0'; - DEBUG_printf(("1_ippFileReadToken: Returning \"%s\".", token)); - return (1); + DEBUG_printf(("1ippFileReadToken: Returning \"%s\".", token)); + return (true); } else { if (ch == '\\') { - /* - * Quoted character... - */ - - DEBUG_printf(("1_ippFileReadToken: Quoted character at pos=%ld", (long)cupsFileTell(f->fp))); + // Quoted character... + DEBUG_printf(("1ippFileReadToken: Quoted character at pos=%ld", (long)cupsFileTell(file->fp))); - if ((ch = cupsFileGetChar(f->fp)) == EOF) + if ((ch = cupsFileGetChar(file->fp)) == EOF) { *token = '\0'; - DEBUG_puts("1_ippFileReadToken: EOF"); - return (0); + DEBUG_puts("1ippFileReadToken: EOF"); + return (false); } else if (ch == '\n') { - f->linenum ++; - DEBUG_printf(("1_ippFileReadToken: quoted LF, linenum=%d, pos=%ld", f->linenum, (long)cupsFileTell(f->fp))); + file->linenum ++; + DEBUG_printf(("1ippFileReadToken: quoted LF, linenum=%d, pos=%ld", file->linenum, (long)cupsFileTell(file->fp))); } else if (ch == 'a') ch = '\a'; @@ -385,97 +722,680 @@ _ippFileReadToken(_ipp_file_t *f, /* I - File to read from */ if (tokptr < tokend) { - /* - * Add to current token... - */ - + // Add to current token... *tokptr++ = (char)ch; } else { - /* - * Token too long... - */ - + // Token too long... *tokptr = '\0'; - DEBUG_printf(("1_ippFileReadToken: Too long: \"%s\".", token)); - return (0); + DEBUG_printf(("1ippFileReadToken: Too long: \"%s\".", token)); + return (false); } } - /* - * Get the next character... - */ - - ch = cupsFileGetChar(f->fp); + // Get the next character... + ch = cupsFileGetChar(file->fp); } *tokptr = '\0'; - DEBUG_printf(("1_ippFileReadToken: Returning \"%s\" at EOF.", token)); + DEBUG_printf(("1ippFileReadToken: Returning \"%s\" at EOF.", token)); return (tokptr > token); } -/* - * 'parse_collection()' - Parse an IPP collection value. - */ +// +// 'ippFileRestorePosition()' - Restore the previous position in an IPP data file. +// +// This function restores the previous position in an IPP data file that is open +// for reading. +// -static ipp_t * /* O - Collection value or @code NULL@ on error */ -parse_collection( - _ipp_file_t *f, /* I - IPP data file */ - _ipp_vars_t *v, /* I - IPP variables */ - void *user_data) /* I - User data pointer */ +bool // O - `true` on success, `false` on failure +ippFileRestorePosition(ipp_file_t *file)// I - IPP data file { - ipp_t *col = ippNew(); /* Collection value */ - ipp_attribute_t *attr = NULL; /* Current member attribute */ - char token[1024]; /* Token string */ + // Range check input... + if (!file || file->mode != 'r' || file->save_line == 0) + return (false); + // Seek back to the saved position... + cupsFileSeek(file->fp, file->save_pos); + file->linenum = file->save_line; + file->save_pos = 0; + file->save_line = 0; + + return (true); +} + + +// +// 'ippFileSavePosition()' - Save the current position in an IPP data file. +// +// This function saves the current position in an IPP data file that is open +// for reading. +// + +bool // O - `true` on success, `false` on failure +ippFileSavePosition(ipp_file_t *file) // I - IPP data file +{ + // Range check input... + if (!file || file->mode != 'r') + return (false); - /* - * Parse the collection value... - */ + // Save the current position... + file->save_pos = cupsFileTell(file->fp); + file->save_line = file->linenum; - while (_ippFileReadToken(f, token, sizeof(token))) + return (true); +} + + +// +// 'ippFileSetAttributes()' - Set the attributes for an IPP data file. +// +// This function sets the current set of attributes for an IPP data file, +// typically an empty collection created with @link ippNew@. +// + +bool // O - `true` on success, `false` otherwise +ippFileSetAttributes(ipp_file_t *file, // I - IPP data file + ipp_t *attrs) // I - IPP attributes +{ + if (file) { - if (!_cups_strcasecmp(token, "}")) + file->attrs = attrs; + return (true); + } + + return (false); +} + + +// +// 'ippFileSetGroupTag()' - Set the group tag for an IPP data file. +// +// This function sets the group tag associated with attributes that are read +// from an IPP data file. +// + +bool // O - `true` on success, `false` otherwise +ippFileSetGroupTag(ipp_file_t *file, // I - IPP data file + ipp_tag_t group_tag)// I - Group tag +{ + if (file && group_tag >= IPP_TAG_OPERATION && group_tag <= IPP_TAG_SYSTEM) + { + file->group_tag = group_tag; + return (true); + } + + return (false); +} + + +// +// 'ippFileSetVar()' - Set an IPP data file variable to a constant value. +// +// This function sets an IPP data file variable to a constant value. Setting +// the "uri" variable also initializes the "scheme", "uriuser", "hostname", +// "port", and "resource" variables. +// + +bool // O - `true` on success, `false` on failure +ippFileSetVar(ipp_file_t *file, // I - IPP data file + const char *name, // I - Variable name + const char *value) // I - Value +{ + if (!file || !name || !value) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + // Save new variable... + if (!strcmp(name, "uri")) + { + // Also set URI component values... + char uri[1024], // New printer URI + resolved[1024], // Resolved mDNS URI + scheme[32], // URI scheme + userpass[256], // URI username:password + *password, // Pointer to password + hostname[256], // URI hostname + resource[256]; // URI resource path + int port; // URI port number + http_uri_status_t uri_status; // URI decoding status + + if (strstr(value, "._tcp")) + { + // Resolve URI... + if (!_httpResolveURI(value, resolved, sizeof(resolved), _HTTP_RESOLVE_DEFAULT, NULL, NULL)) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(ENOENT), 0); + return (false); + } + + value = resolved; + } + + if ((uri_status = httpSeparateURI(HTTP_URI_CODING_ALL, value, scheme, sizeof(scheme), userpass, sizeof(userpass), hostname, sizeof(hostname), &port, resource, sizeof(resource))) < HTTP_URI_STATUS_OK) + { + // Bad URI... + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, httpURIStatusString(uri_status), 0); + return (false); + } + else + { + // Valid URI... + if ((password = strchr(userpass, ':')) != NULL) + { + // Separate and save password from URI... + *password++ = '\0'; + + file->num_vars = cupsAddOption("uripassword", password, file->num_vars, &file->vars); + } + + file->num_vars = cupsAddOption("scheme", scheme, file->num_vars, &file->vars); + file->num_vars = cupsAddOption("uriuser", userpass, file->num_vars, &file->vars); + file->num_vars = cupsAddOption("hostname", hostname, file->num_vars, &file->vars); + file->num_vars = cupsAddIntegerOption("port", port, file->num_vars, &file->vars); + file->num_vars = cupsAddOption("resource", resource, file->num_vars, &file->vars); + + // Reassemble URI without username or password... + httpAssembleURI(HTTP_URI_CODING_ALL, uri, sizeof(uri), scheme, NULL, hostname, port, resource); + file->num_vars = cupsAddOption("uri", uri, file->num_vars, &file->vars); + } + } + else + { + // Set another variable... + file->num_vars = cupsAddOption(name, value, file->num_vars, &file->vars); + } + + return (true); +} + + +// +// 'ippFileSetVarf()' - Set an IPP data file variable to a formatted value. +// +// This function sets an IPP data file variable to a formatted value. Setting +// the "uri" variable also initializes the "scheme", "uriuser", "hostname", +// "port", and "resource" variables. +// + +bool // O - `true` on success, `false` on error +ippFileSetVarf(ipp_file_t *file, // I - IPP data file + const char *name, // I - Variable name + const char *value, // I - Printf-style value + ...) // I - Additional arguments as needed +{ + va_list ap; // Pointer to arguments + char buffer[16384]; // Value buffer + + + if (!file || !name || !value) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + va_start(ap, value); + vsnprintf(buffer, sizeof(buffer), value, ap); + va_end(ap); + + return (ippFileSetVar(file, name, buffer)); +} + + +// +// 'ippFileWriteAttributes()' - Write an IPP message to an IPP data file. +// +// This function writes an IPP message to an IPP data file using the attribute +// filter specified in the call to @link ippFileOpen@. If "with_group" is +// `true`, "GROUP" directives are written as necessary to place the attributes +// in the correct groups. +// + +bool // O - `true` on success, `false` on error +ippFileWriteAttributes( + ipp_file_t *file, // I - IPP data file + ipp_t *ipp, // I - IPP attributes to write + bool with_groups) // I - `true` to include GROUPs, `false` otherwise +{ + bool ret = true; // Return value + ipp_attribute_t *attr; // Current attribute + const char *name; // Attribute name + ipp_tag_t group_tag, // Group tag + value_tag; // Value tag + size_t i, // Looping var + count; // Number of values + + + // Range check input... + if (!file || file->mode != 'w' || !ipp) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + // Make sure we are on a new line... + if (file->column) + { + cupsFilePutChar(file->fp, '\n'); + file->column = 0; + } + + // Loop through the attributes... + for (attr = ippFirstAttribute(ipp); attr; attr = ippNextAttribute(ipp)) + { + if ((name = ippGetName(attr)) == NULL) + continue; + + if (file->attr_cb && !(*file->attr_cb)(file, file->cb_data, name)) + continue; + + count = ippGetCount(attr); + group_tag = ippGetGroupTag(attr); + value_tag = ippGetValueTag(attr); + + if (with_groups && group_tag != IPP_TAG_ZERO && group_tag != file->group_tag) { - /* - * End of collection value... - */ + ret &= ippFileWriteToken(file, "GROUP"); + ret &= ippFileWriteTokenf(file, "%s\n", ippTagString(group_tag)); + file->group_tag = group_tag; + } + + ret &= ippFileWriteToken(file, group_tag == IPP_TAG_ZERO ? "MEMBER" : "ATTR"); + ret &= ippFileWriteToken(file, ippTagString(value_tag)); + ret &= ippFileWriteToken(file, name); + + switch (value_tag) + { + case IPP_TAG_INTEGER : + case IPP_TAG_ENUM : + for (i = 0; i < count; i ++) + ret &= cupsFilePrintf(file->fp, "%s%d", i ? "," : " ", ippGetInteger(attr, i)); + break; + + case IPP_TAG_BOOLEAN : + ret &= cupsFilePuts(file->fp, ippGetBoolean(attr, 0) ? " true" : " false"); + + for (i = 1; i < count; i ++) + ret &= cupsFilePuts(file->fp, ippGetBoolean(attr, 1) ? ",true" : ",false"); + break; + + case IPP_TAG_RANGE : + for (i = 0; i < count; i ++) + { + int upper, lower = ippGetRange(attr, i, &upper); + // Upper/lower range values + + ret &= cupsFilePrintf(file->fp, "%s%d-%d", i ? "," : " ", lower, upper); + } + break; + + case IPP_TAG_RESOLUTION : + for (i = 0; i < count; i ++) + { + ipp_res_t units; // Resolution units + int yres, xres = ippGetResolution(attr, i, &yres, &units); + // X/Y resolution + + if (xres == yres) + ret &= cupsFilePrintf(file->fp, "%s%d%s", i ? "," : " ", xres, units == IPP_RES_PER_INCH ? "dpi" : "dpcm"); + else + ret &= cupsFilePrintf(file->fp, "%s%dx%d%s", i ? "," : " ", xres, yres, units == IPP_RES_PER_INCH ? "dpi" : "dpcm"); + } + break; + + case IPP_TAG_DATE : + for (i = 0; i < count; i ++) + { + time_t utctime = ippDateToTime(ippGetDate(attr, i)); + // Date/time value + struct tm utcdate; // Date/time components + + // Get the UTC date and time corresponding to this date value... + gmtime_r(&utctime, &utcdate); + + ret &= cupsFilePrintf(file->fp, "%s%04d-%02d-%02dT%02d:%02d:%02dZ", i ? "," : " ", utcdate.tm_year + 1900, utcdate.tm_mon + 1, utcdate.tm_mday, utcdate.tm_hour, utcdate.tm_min, utcdate.tm_sec); + } + break; + + case IPP_TAG_STRING : + for (i = 0; i < count; i ++) + { + size_t len; // Length of octetString + const char *s = (const char *)ippGetOctetString(attr, i, &len); + // octetString value + + ret &= cupsFilePuts(file->fp, i ? "," : " "); + ret &= write_string(file, s, len); + } + break; + + case IPP_TAG_TEXT : + case IPP_TAG_TEXTLANG : + case IPP_TAG_NAME : + case IPP_TAG_NAMELANG : + case IPP_TAG_KEYWORD : + case IPP_TAG_URI : + case IPP_TAG_URISCHEME : + case IPP_TAG_CHARSET : + case IPP_TAG_LANGUAGE : + case IPP_TAG_MIMETYPE : + for (i = 0; i < count; i ++) + { + const char *s = ippGetString(attr, i, NULL); + // String value + + ret &= cupsFilePuts(file->fp, i ? "," : " "); + ret &= write_string(file, s, strlen(s)); + } + break; + + case IPP_TAG_BEGIN_COLLECTION : + file->indent += 4; + for (i = 0; i < count; i ++) + { + ret &= cupsFilePuts(file->fp, i ? ",{\n" : " {\n"); + ret &= ippFileWriteAttributes(file, ippGetCollection(attr, i), false); + ret &= cupsFilePrintf(file->fp, "%*s}", file->indent - 4, ""); + } + file->indent -= 4; + break; + + default : + /* Out-of-band value */ + break; + } + + // Finish with a newline after the attribute definition + ret &= cupsFilePutChar(file->fp, '\n'); + } + + return (ret); +} + + +// +// 'ippFileWriteComment()' - Write a comment to an IPP data file. +// +// This function writes a comment to an IPP data file. Every line in the string +// is prefixed with the "#" character and indented as needed. +// + +bool // O - `true` on success, `false` on error +ippFileWriteComment(ipp_file_t *file, // I - IPP data file + const char *comment,// I - Printf-style comment string + ...) // I - Additional arguments as needed +{ + bool ret = true; // Return value + va_list ap, // Pointer to arguments + ap2; // Copy of arguments + int bufsize; // Size of formatted string + const char *start, // Start of comment line + *ptr; // Pointer into comment + + + // Range check input... + if (!file || file->mode != 'w' || !comment) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + // Format the comment... + va_start(ap, comment); + va_copy(ap2, ap); + + if ((bufsize = vsnprintf(file->buffer, file->alloc_buffer, comment, ap2)) >= (int)file->alloc_buffer) + { + if (!expand_buffer(file, (size_t)bufsize + 1)) + return (false); + + vsnprintf(file->buffer, file->alloc_buffer, comment, ap); + } + + va_end(ap); + + // Make sure we start on a new line... + if (file->column > 0) + { + ret &= cupsFilePutChar(file->fp, '\n'); + file->column = 0; + } + + for (start = file->buffer, ptr = start; *ptr; start = ptr) + { + // Find the end of the line... + while (*ptr && *ptr != '\n') + ptr ++; + + // Write this line... + ret &= cupsFilePrintf(file->fp, "%*s# ", file->indent, ""); + ret &= cupsFileWrite(file->fp, start, (size_t)(ptr - start)); + ret &= cupsFilePutChar(file->fp, '\n'); + + // Skip newline, if any... + if (*ptr) + ptr ++; + } + + return (ret); +} + + +// +// 'ippFileWriteToken()' - Write a token or value string to an IPP data file. +// +// This function writes a token or value string to an IPP data file, quoting +// and indenting the string as needed. +// + +bool // O - `true` on success, `false` on error +ippFileWriteToken(ipp_file_t *file, // I - IPP data file + const char *token) // I - Token/value string +{ + const char *ptr; // Pointer into token/value string + bool ret = true; // Return value + + // Range check input... + if (!file || file->mode != 'w' || !token) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + // Handle indentation... + if (!strcmp(token, "}")) + { + // Add newline before '}' as needed and unindent... + if (file->column > 0) + { + ret &= cupsFilePutChar(file->fp, '\n'); + file->column = 0; + } + + if (file->indent > 0) + file->indent -= 4; + } + + if (file->column == 0 && file->indent > 0) + { + ret &= cupsFilePrintf(file->fp, "%*s", file->indent, ""); + file->column += file->indent; + } + else if (strcmp(token, "{") && strcmp(token, "}")) + { + ret &= cupsFilePutChar(file->fp, ' '); + file->column ++; + } + + // Look for whitespace or special characters... + for (ptr = token; *ptr; ptr ++) + { + if (strchr(" \t\'\"\\", *ptr)) break; + } + + if (*ptr) + { + // Need to quote the string + ret &= write_string(file, token, strlen(token)); + } + else if (!strcmp(token, "{")) + { + // Add newline after '{' and indent... + ret &= cupsFilePuts(file->fp, "{\n"); + file->column = 0; + file->indent += 4; + } + else if (!strcmp(token, "}")) + { + // Add newline after '}'... + ret &= cupsFilePuts(file->fp, "}\n"); + file->column = 0; + } + else + { + // Just write the string as-is... + ret &= cupsFilePuts(file->fp, token); + + if ((ptr = token + strlen(token) - 1) >= token && *ptr == '\n') + { + // New line... + file->column = 0; } - else if (!_cups_strcasecmp(token, "MEMBER")) + else { - /* - * Member attribute definition... - */ + // Existing line... + file->column += strlen(token); + } + } + + return (ret); +} + + +// +// 'ippFileWriteTokenf()' - Write a formatted token or value string to an IPP data file. +// +// This function writes a formatted token or value string to an IPP data file, +// quoting and indenting the string as needed. +// + +bool // O - `true` on success, `false` on error +ippFileWriteTokenf(ipp_file_t *file, // I - IPP data file + const char *token, // I - Printf-style token/value string + ...) // I - Additional arguments as needed +{ + va_list ap, // Pointer to arguments + ap2; // Copy of arguments + int bufsize; // Size of formatted string + + + // Range check input... + if (!file || file->mode != 'w' || !token) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); + return (false); + } + + // Format the message... + va_start(ap, token); + va_copy(ap2, ap); + + if ((bufsize = vsnprintf(file->buffer, file->alloc_buffer, token, ap2)) >= (int)file->alloc_buffer) + { + if (!expand_buffer(file, (size_t)bufsize + 1)) + return (false); + + vsnprintf(file->buffer, file->alloc_buffer, token, ap); + } + + va_end(ap); + + return (ippFileWriteToken(file, file->buffer)); +} - char syntax[128], /* Attribute syntax (value tag) */ - name[128]; /* Attribute name */ - ipp_tag_t value_tag; /* Value tag */ + +// +// 'expand_buffer()' - Expand the output buffer of the IPP data file as needed. +// + +static bool // O - `true` on success, `false` on failure +expand_buffer(ipp_file_t *file, // I - IPP data file + size_t buffer_size) // I - Required size +{ + char *buffer; // New buffer pointer + + + // If we already have enough, return right away... + if (buffer_size <= file->alloc_buffer) + return (true); + + // Try allocating/expanding the current buffer... + if ((buffer = realloc(file->buffer, buffer_size)) == NULL) + return (false); + + // Save new buffer and size... + file->buffer = buffer; + file->alloc_buffer = buffer_size; + + return (true); +} + + +// +// 'parse_collection()' - Parse an IPP collection value. +// + +static ipp_t * // O - Collection value or @code NULL@ on error +parse_collection(ipp_file_t *file) // I - IPP data file +{ + ipp_t *col = ippNew(); // Collection value + ipp_attribute_t *attr = NULL; // Current member attribute + char token[1024]; // Token string + + + // Parse the collection value... + while (ippFileReadToken(file, token, sizeof(token))) + { + if (!_cups_strcasecmp(token, "}")) + { + // End of collection value... + break; + } + else if (!_cups_strcasecmp(token, "MEMBER")) + { + // Member attribute definition... + char syntax[128], // Attribute syntax (value tag) + name[128]; // Attribute name + ipp_tag_t value_tag; // Value tag attr = NULL; - if (!_ippFileReadToken(f, syntax, sizeof(syntax))) + if (!ippFileReadToken(file, syntax, sizeof(syntax))) { - report_error(f, v, user_data, "Missing MEMBER syntax on line %d of \"%s\".", f->linenum, f->filename); + report_error(file, "Missing MEMBER syntax on line %d of '%s'.", file->linenum, file->filename); ippDelete(col); col = NULL; break; } else if ((value_tag = ippTagValue(syntax)) < IPP_TAG_UNSUPPORTED_VALUE) { - report_error(f, v, user_data, "Bad MEMBER syntax \"%s\" on line %d of \"%s\".", syntax, f->linenum, f->filename); + report_error(file, "Bad MEMBER syntax \"%s\" on line %d of '%s'.", syntax, file->linenum, file->filename); ippDelete(col); col = NULL; break; } - if (!_ippFileReadToken(f, name, sizeof(name)) || !name[0]) + if (!ippFileReadToken(file, name, sizeof(name)) || !name[0]) { - report_error(f, v, user_data, "Missing MEMBER name on line %d of \"%s\".", f->linenum, f->filename); + report_error(file, "Missing MEMBER name on line %d of '%s'.", file->linenum, file->filename); ippDelete(col); col = NULL; break; @@ -483,21 +1403,15 @@ parse_collection( if (value_tag < IPP_TAG_INTEGER) { - /* - * Add out-of-band attribute - no value string needed... - */ - + // Add out-of-band attribute - no value string needed... ippAddOutOfBand(col, IPP_TAG_ZERO, value_tag, name); } else { - /* - * Add attribute with one or more values... - */ - + // Add attribute with one or more values... attr = ippAddString(col, IPP_TAG_ZERO, value_tag, name, NULL, NULL); - if (!parse_value(f, v, user_data, col, &attr, 0)) + if (!parse_value(file, col, &attr, 0)) { ippDelete(col); col = NULL; @@ -508,11 +1422,8 @@ parse_collection( } else if (attr && !_cups_strcasecmp(token, ",")) { - /* - * Additional value... - */ - - if (!parse_value(f, v, user_data, col, &attr, ippGetCount(attr))) + // Additional value... + if (!parse_value(file, col, &attr, ippGetCount(attr))) { ippDelete(col); col = NULL; @@ -521,11 +1432,8 @@ parse_collection( } else { - /* - * Something else... - */ - - report_error(f, v, user_data, "Unknown directive \"%s\" on line %d of \"%s\".", token, f->linenum, f->filename); + // Something else... + report_error(file, "Unknown directive \"%s\" on line %d of '%s'.", token, file->linenum, file->filename); ippDelete(col); col = NULL; attr = NULL; @@ -538,32 +1446,30 @@ parse_collection( } -/* - * 'parse_value()' - Parse an IPP value. - */ +// +// 'parse_value()' - Parse an IPP value. +// -static int /* O - 1 on success or 0 on error */ -parse_value(_ipp_file_t *f, /* I - IPP data file */ - _ipp_vars_t *v, /* I - IPP variables */ - void *user_data,/* I - User data pointer */ - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - size_t element) /* I - Element number */ +static bool // O - `true` on success or `false` on error +parse_value(ipp_file_t *file, // I - IPP data file + ipp_t *ipp, // I - IPP message + ipp_attribute_t **attr, // IO - IPP attribute + size_t element) // I - Element number { - char value[2049], /* Value string */ - *valueptr, /* Pointer into value string */ - temp[2049], /* Temporary string */ - *tempptr; /* Pointer into temporary string */ - size_t valuelen; /* Length of value */ + char value[2049], // Value string + *valueptr, // Pointer into value string + temp[2049], // Temporary string + *tempptr; // Pointer into temporary string + size_t valuelen; // Length of value - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(file, temp, sizeof(temp))) { - report_error(f, v, user_data, "Missing value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + report_error(file, "Missing value on line %d of '%s'.", file->linenum, file->filename); + return (false); } - _ippVarsExpand(v, value, temp, sizeof(value)); + ippFileExpandVars(file, value, temp, sizeof(value)); switch (ippGetValueTag(*attr)) { @@ -576,24 +1482,21 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ case IPP_TAG_DATE : { - int year, /* Year */ - month, /* Month */ - day, /* Day of month */ - hour, /* Hour */ - minute, /* Minute */ - second, /* Second */ - utc_offset = 0; /* Timezone offset from UTC */ - ipp_uchar_t date[11]; /* dateTime value */ + int year, // Year + month, // Month + day, // Day of month + hour, // Hour + minute, // Minute + second, // Second + utc_offset = 0; // Timezone offset from UTC + ipp_uchar_t date[11]; // dateTime value if (*value == 'P') { - /* - * Time period... - */ - - time_t curtime; /* Current time in seconds */ - int period = 0, /* Current period value */ - saw_T = 0; /* Saw time separator */ + // Time period... + time_t curtime; // Current time in seconds + int period = 0; // Current period value + bool saw_T = false; // Saw time separator? curtime = time(NULL); @@ -605,8 +1508,8 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ if (!valueptr || period < 0) { - report_error(f, v, user_data, "Bad dateTime value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); - return (0); + report_error(file, "Bad dateTime value \"%s\" on line %d of '%s'.", value, file->linenum, file->filename); + return (false); } } @@ -641,13 +1544,13 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ } else if (*valueptr == 'T') { - saw_T = 1; + saw_T = true; period = 0; } else { - report_error(f, v, user_data, "Bad dateTime value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); - return (0); + report_error(file, "Bad dateTime value \"%s\" on line %d of '%s'.", value, file->linenum, file->filename); + return (false); } } @@ -655,12 +1558,9 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ } else if (sscanf(value, "%d-%d-%dT%d:%d:%d%d", &year, &month, &day, &hour, &minute, &second, &utc_offset) < 6) { - /* - * Date/time value did not parse... - */ - - report_error(f, v, user_data, "Bad dateTime value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); - return (0); + // Date/time value did not parse... + report_error(file, "Bad dateTime value \"%s\" on line %d of '%s'.", value, file->linenum, file->filename); + return (false); } date[0] = (ipp_uchar_t)(year >> 8); @@ -689,9 +1589,9 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ case IPP_TAG_RESOLUTION : { - int xres, /* X resolution */ - yres; /* Y resolution */ - char *ptr; /* Pointer into value */ + int xres, // X resolution + yres; // Y resolution + char *ptr; // Pointer into value xres = yres = (int)strtol(value, (char **)&ptr, 10); if (ptr > value && xres > 0) @@ -702,8 +1602,8 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ if (ptr <= value || xres <= 0 || yres <= 0 || !ptr || (_cups_strcasecmp(ptr, "dpi") && _cups_strcasecmp(ptr, "dpc") && _cups_strcasecmp(ptr, "dpcm") && _cups_strcasecmp(ptr, "other"))) { - report_error(f, v, user_data, "Bad resolution value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); - return (0); + report_error(file, "Bad resolution value \"%s\" on line %d of '%s'.", value, file->linenum, file->filename); + return (false); } if (!_cups_strcasecmp(ptr, "dpi")) @@ -716,13 +1616,13 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ case IPP_TAG_RANGE : { - int lower, /* Lower value */ - upper; /* Upper value */ + int lower, // Lower value + upper; // Upper value if (sscanf(value, "%d-%d", &lower, &upper) != 2) { - report_error(f, v, user_data, "Bad rangeOfInteger value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); - return (0); + report_error(file, "Bad rangeOfInteger value \"%s\" on line %d of '%s'.", value, file->linenum, file->filename); + return (false); } return (ippSetRange(ipp, attr, element, lower, upper)); @@ -735,8 +1635,8 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ { if (valuelen & 1) { - report_error(f, v, user_data, "Bad octetString value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + report_error(file, "Bad octetString value on line %d of '%s'.", file->linenum, file->filename); + return (false); } valueptr = value + 1; @@ -746,8 +1646,8 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ { if (!isxdigit(valueptr[0] & 255) || !isxdigit(valueptr[1] & 255)) { - report_error(f, v, user_data, "Bad octetString value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + report_error(file, "Bad octetString value on line %d of '%s'.", file->linenum, file->filename); + return (false); } if (valueptr[0] >= '0' && valueptr[0] <= '9') @@ -782,17 +1682,17 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ case IPP_TAG_BEGIN_COLLECTION : { - int status; /* Add status */ - ipp_t *col; /* Collection value */ + bool status; // Add status + ipp_t *col; // Collection value if (strcmp(value, "{")) { - report_error(f, v, user_data, "Bad collection value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + report_error(file, "Bad collection value on line %d of '%s'.", file->linenum, file->filename); + return (false); } - if ((col = parse_collection(f, v, user_data)) == NULL) - return (0); + if ((col = parse_collection(file)) == NULL) + return (false); status = ippSetCollection(ipp, attr, element, col); ippDelete(col); @@ -801,34 +1701,85 @@ parse_value(_ipp_file_t *f, /* I - IPP data file */ } default : - report_error(f, v, user_data, "Unsupported value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + report_error(file, "Unsupported value on line %d of '%s'.", file->linenum, file->filename); + return (false); } } -/* - * 'report_error()' - Report an error. - */ +// +// 'report_error()' - Report an error. +// -static void +static bool // O - `true` to continue, `false` to stop report_error( - _ipp_file_t *f, /* I - IPP data file */ - _ipp_vars_t *v, /* I - Error callback function, if any */ - void *user_data, /* I - User data pointer */ - const char *message, /* I - Printf-style message */ - ...) /* I - Additional arguments as needed */ + ipp_file_t *file, // I - IPP data file + const char *message, // I - Printf-style message + ...) // I - Additional arguments as needed { - char buffer[8192]; /* Formatted string */ - va_list ap; /* Argument pointer */ + va_list ap; // Argument pointer + char buffer[8192]; // Formatted string va_start(ap, message); vsnprintf(buffer, sizeof(buffer), message, ap); va_end(ap); - if (v->errorcb) - (*v->errorcb)(f, user_data, buffer); - else - fprintf(stderr, "%s\n", buffer); + if (file->error_cb) + return ((*file->error_cb)(file, file->cb_data, buffer)); + + fprintf(stderr, "%s\n", buffer); + return (false); +} + + +// +// 'write_string()' - Write a quoted string value. +// + +static bool // O - `true` on success, `false` on failure +write_string(ipp_file_t *file, // I - IPP data file + const char *s, // I - String + size_t len) // I - Length of string +{ + bool ret = true; // Return value + const char *start, // Start of string + *ptr, // Pointer into string + *end; // End of string + + + // Start with a double quote... + ret &= cupsFilePutChar(file->fp, '\"'); + file->column ++; + + // Loop through the string... + for (start = s, end = s + len, ptr = start; ptr < end; ptr ++) + { + if (*ptr == '\"' || *ptr == '\\') + { + // Something that needs to be quoted... + if (ptr > start) + { + // Write lead-in text... + ret &= cupsFileWrite(file->fp, start, (size_t)(ptr - start)); + file->column += ptr - start; + } + + // Then quote the " or \... + ret &= cupsFilePrintf(file->fp, "\\%c", *ptr); + start = ptr + 1; + file->column ++; + } + } + + if (ptr > start) + { + ret &= cupsFileWrite(file->fp, start, (size_t)(ptr - start)); + file->column += ptr - start; + } + + ret &= cupsFilePutChar(file->fp, '\"'); + file->column ++; + + return (ret); } diff --git a/cups/ipp-private.h b/cups/ipp-private.h index 51e620e68..8dee93d0d 100644 --- a/cups/ipp-private.h +++ b/cups/ipp-private.h @@ -1,199 +1,148 @@ -/* - * Private IPP definitions for CUPS. - * - * Copyright © 2021 by OpenPrinting. - * Copyright © 2007-2018 by Apple Inc. - * Copyright © 1997-2006 by Easy Software Products. - * - * Licensed under Apache License v2.0. See the file "LICENSE" for more - * information. - */ +// +// Private IPP definitions for CUPS. +// +// Copyright © 2021-2022 by OpenPrinting. +// Copyright © 2007-2018 by Apple Inc. +// Copyright © 1997-2006 by Easy Software Products. +// +// Licensed under Apache License v2.0. See the file "LICENSE" for more +// information. +// #ifndef _CUPS_IPP_PRIVATE_H_ # define _CUPS_IPP_PRIVATE_H_ # include "cups.h" # ifdef __cplusplus extern "C" { -# endif /* __cplusplus */ +# endif // __cplusplus -/* - * Constants... - */ +// +// Constants... +// # define IPP_BUF_SIZE (IPP_MAX_LENGTH + 2) - /* Size of buffer */ + // Size of buffer -/* - * Structures... - */ +// +// Structures... +// -typedef union _ipp_request_u /**** Request Header ****/ +typedef union _ipp_request_u // Request Header { - struct /* Any Header */ + struct // Any Header { - ipp_uchar_t version[2]; /* Protocol version number */ + ipp_uchar_t version[2]; // Protocol version number int op_status; /* Operation ID or status code*/ - int request_id; /* Request ID */ + int request_id; // Request ID } any; - struct /* Operation Header */ + struct // Operation Header { - ipp_uchar_t version[2]; /* Protocol version number */ - ipp_op_t operation_id; /* Operation ID */ - int request_id; /* Request ID */ + ipp_uchar_t version[2]; // Protocol version number + ipp_op_t operation_id; // Operation ID + int request_id; // Request ID } op; - struct /* Status Header */ + struct // Status Header { - ipp_uchar_t version[2]; /* Protocol version number */ - ipp_status_t status_code; /* Status code */ - int request_id; /* Request ID */ + ipp_uchar_t version[2]; // Protocol version number + ipp_status_t status_code; // Status code + int request_id; // Request ID } status; - /**** New in CUPS 1.1.19 ****/ - struct /* Event Header */ + struct // Event Header { - ipp_uchar_t version[2]; /* Protocol version number */ - ipp_status_t status_code; /* Status code */ - int request_id; /* Request ID */ + ipp_uchar_t version[2]; // Protocol version number + ipp_status_t status_code; // Status code + int request_id; // Request ID } event; } _ipp_request_t; -typedef union _ipp_value_u /**** Attribute Value ****/ +typedef union _ipp_value_u // Attribute Value { - int integer; /* Integer/enumerated value */ + int integer; // Integer/enumerated value - bool boolean; /* Boolean value */ + bool boolean; // Boolean value - ipp_t *collection; /* Collection value */ + ipp_t *collection; // Collection value - ipp_uchar_t date[11]; /* Date/time value */ + ipp_uchar_t date[11]; // Date/time value struct { - int xres, /* Horizontal resolution */ - yres; /* Vertical resolution */ - ipp_res_t units; /* Resolution units */ - } resolution; /* Resolution value */ + int xres, // Horizontal resolution + yres; // Vertical resolution + ipp_res_t units; // Resolution units + } resolution; // Resolution value struct { - int lower, /* Lower value */ - upper; /* Upper value */ - } range; /* Range of integers value */ + int lower, // Lower value + upper; // Upper value + } range; // Range of integers value struct { - char *language; /* Language code */ - char *text; /* String */ - } string; /* String with language value */ + char *language; // Language code + char *text; // String + } string; // String with language value struct { - size_t length; /* Length of attribute */ - void *data; /* Data in attribute */ - } unknown; /* Unknown attribute type */ + size_t length; // Length of attribute + void *data; // Data in attribute + } unknown; // Unknown attribute type } _ipp_value_t; -struct _ipp_attribute_s /**** IPP attribute ****/ +struct _ipp_attribute_s // IPP attribute { - ipp_attribute_t *next; /* Next attribute in list */ - ipp_tag_t group_tag, /* Job/Printer/Operation group tag */ - value_tag; /* What type of value is it? */ - char *name; /* Name of attribute */ - size_t num_values; /* Number of values */ - _ipp_value_t values[1]; /* Values */ + ipp_attribute_t *next; // Next attribute in list + ipp_tag_t group_tag, // Job/Printer/Operation group tag + value_tag; // What type of value is it? + char *name; // Name of attribute + size_t num_values; // Number of values + _ipp_value_t values[1]; // Values }; -struct _ipp_s /**** IPP Request/Response/Notification ****/ +struct _ipp_s // IPP Request/Response/Notification { - ipp_state_t state; /* State of request */ - _ipp_request_t request; /* Request header */ - ipp_attribute_t *attrs; /* Attributes */ - ipp_attribute_t *last; /* Last attribute in list */ - ipp_attribute_t *current; /* Current attribute (for read/write) */ - ipp_tag_t curtag; /* Current attribute group tag */ - - ipp_attribute_t *prev; /* Previous attribute (for read) */ - int use; /* Use count @since CUPS 1.4.4.?@ */ - bool atend; /* At end of list? */ - size_t curindex; /* Current attribute index for hierarchical search */ + ipp_state_t state; // State of request + _ipp_request_t request; // Request header + ipp_attribute_t *attrs; // Attributes + ipp_attribute_t *last; // Last attribute in list + ipp_attribute_t *current; // Current attribute (for read/write) + ipp_tag_t curtag; // Current attribute group tag + + ipp_attribute_t *prev; // Previous attribute (for read) + size_t use; // Use count + bool atend; // At end of list? + size_t curindex; // Current attribute index for hierarchical search }; -typedef struct _ipp_option_s /**** Attribute mapping data ****/ +typedef struct _ipp_option_s // Attribute mapping data { - int multivalue; /* Option has multiple values? */ - const char *name; /* Option/attribute name */ - ipp_tag_t value_tag; /* Value tag for this attribute */ - ipp_tag_t group_tag; /* Group tag for this attribute */ - ipp_tag_t alt_group_tag; /* Alternate group tag for this attribute */ - const ipp_op_t *operations; /* Allowed operations for this attr */ + int multivalue; // Option has multiple values? + const char *name; // Option/attribute name + ipp_tag_t value_tag; // Value tag for this attribute + ipp_tag_t group_tag; // Group tag for this attribute + ipp_tag_t alt_group_tag; // Alternate group tag for this attribute + const ipp_op_t *operations; // Allowed operations for this attr } _ipp_option_t; -typedef struct _ipp_file_s _ipp_file_t;/**** File Parser ****/ -typedef struct _ipp_vars_s _ipp_vars_t;/**** Variables ****/ -typedef int (*_ipp_fattr_cb_t)(_ipp_file_t *f, void *user_data, const char *attr); - /**** File Attribute (Filter) Callback ****/ -typedef int (*_ipp_ferror_cb_t)(_ipp_file_t *f, void *user_data, const char *error); - /**** File Parser Error Callback ****/ -typedef int (*_ipp_ftoken_cb_t)(_ipp_file_t *f, _ipp_vars_t *v, void *user_data, const char *token); - /**** File Parser Token Callback ****/ +// +// Prototypes for private functions... +// -struct _ipp_vars_s /**** Variables ****/ -{ - char *uri, /* URI for printer */ - scheme[64], /* Scheme from URI */ - username[256], /* Username from URI */ - *password, /* Password from URI (if any) */ - host[256], /* Hostname from URI */ - portstr[32], /* Port number string */ - resource[1024]; /* Resource path from URI */ - int port; /* Port number from URI */ - size_t num_vars; /* Number of variables */ - cups_option_t *vars; /* Array of variables */ - int password_tries; /* Number of retries for password */ - _ipp_fattr_cb_t attrcb; /* Attribute (filter) callback */ - _ipp_ferror_cb_t errorcb; /* Error callback */ - _ipp_ftoken_cb_t tokencb; /* Token callback */ -}; - -struct _ipp_file_s /**** File Parser */ -{ - const char *filename; /* Filename */ - cups_file_t *fp; /* File pointer */ - int linenum; /* Current line number */ - ipp_t *attrs; /* Attributes */ - ipp_tag_t group_tag; /* Current group for new attributes */ -}; - - -/* - * Prototypes for private functions... - */ - -/* encode.c */ #ifdef DEBUG extern const char *_ippCheckOptions(void) _CUPS_PRIVATE; -#endif /* DEBUG */ +#endif // DEBUG extern _ipp_option_t *_ippFindOption(const char *name) _CUPS_PRIVATE; -/* ipp-file.c */ -extern ipp_t *_ippFileParse(_ipp_vars_t *v, const char *filename, void *user_data) _CUPS_PRIVATE; -extern int _ippFileReadToken(_ipp_file_t *f, char *token, size_t tokensize) _CUPS_PRIVATE; - -/* ipp-vars.c */ -extern void _ippVarsDeinit(_ipp_vars_t *v) _CUPS_PRIVATE; -extern void _ippVarsExpand(_ipp_vars_t *v, char *dst, const char *src, size_t dstsize) _CUPS_NONNULL(1,2,3) _CUPS_PRIVATE; -extern const char *_ippVarsGet(_ipp_vars_t *v, const char *name) _CUPS_PRIVATE; -extern void _ippVarsInit(_ipp_vars_t *v, _ipp_fattr_cb_t attrcb, _ipp_ferror_cb_t errorcb, _ipp_ftoken_cb_t tokencb) _CUPS_PRIVATE; -extern const char *_ippVarsPasswordCB(const char *prompt, http_t *http, const char *method, const char *resource, void *user_data) _CUPS_PRIVATE; -extern int _ippVarsSet(_ipp_vars_t *v, const char *name, const char *value) _CUPS_PRIVATE; - # ifdef __cplusplus } -# endif /* __cplusplus */ -#endif /* !_CUPS_IPP_H_ */ +# endif // __cplusplus +#endif // !_CUPS_IPP_H_ diff --git a/cups/ipp-support.c b/cups/ipp-support.c index 59243ee62..cd9bb5934 100644 --- a/cups/ipp-support.c +++ b/cups/ipp-support.c @@ -621,7 +621,7 @@ static size_t ipp_col_string(ipp_t *col, char *buffer, size_t bufsize); * just like (v)snprintf. */ -size_t /* O - Number of bytes less nul */ +size_t /* O - Number of bytes less `nul` */ ippAttributeString( ipp_attribute_t *attr, /* I - Attribute */ char *buffer, /* I - String buffer or NULL */ diff --git a/cups/ipp-vars.c b/cups/ipp-vars.c deleted file mode 100644 index 3af6a0247..000000000 --- a/cups/ipp-vars.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - * IPP data file parsing functions. - * - * Copyright © 2022 by OpenPrinting. - * Copyright © 2007-2019 by Apple Inc. - * Copyright © 1997-2007 by Easy Software Products. - * - * Licensed under Apache License v2.0. See the file "LICENSE" for more - * information. - */ - -/* - * Include necessary headers... - */ - -#include "cups-private.h" -#include "ipp-private.h" -#include "string-private.h" -#include "debug-internal.h" - - -/* - * '_ippVarsDeinit()' - Free all memory associated with the IPP variables. - */ - -void -_ippVarsDeinit(_ipp_vars_t *v) /* I - IPP variables */ -{ - if (v->uri) - { - free(v->uri); - v->uri = NULL; - } - - cupsFreeOptions(v->num_vars, v->vars); - v->num_vars = 0; - v->vars = NULL; -} - - -/* - * '_ippVarsExpand()' - Expand variables in the source string. - */ - -void -_ippVarsExpand(_ipp_vars_t *v, /* I - IPP variables */ - char *dst, /* I - Destination buffer */ - const char *src, /* I - Source string */ - size_t dstsize) /* I - Destination buffer size */ -{ - char *dstptr, /* Pointer into destination */ - *dstend, /* End of destination */ - temp[256], /* Temporary string */ - *tempptr; /* Pointer into temporary string */ - const char *value; /* Value to substitute */ - - - dstptr = dst; - dstend = dst + dstsize - 1; - - while (*src && dstptr < dstend) - { - if (*src == '$') - { - /* - * Substitute a string/number... - */ - - if (!strncmp(src, "$$", 2)) - { - value = "$"; - src += 2; - } - else if (!strncmp(src, "$ENV[", 5)) - { - cupsCopyString(temp, src + 5, sizeof(temp)); - - for (tempptr = temp; *tempptr; tempptr ++) - if (*tempptr == ']') - break; - - if (*tempptr) - *tempptr++ = '\0'; - - value = getenv(temp); - src += tempptr - temp + 5; - } - else - { - if (src[1] == '{') - { - src += 2; - cupsCopyString(temp, src, sizeof(temp)); - if ((tempptr = strchr(temp, '}')) != NULL) - *tempptr = '\0'; - else - tempptr = temp + strlen(temp); - } - else - { - cupsCopyString(temp, src + 1, sizeof(temp)); - - for (tempptr = temp; *tempptr; tempptr ++) - if (!isalnum(*tempptr & 255) && *tempptr != '-' && *tempptr != '_') - break; - - if (*tempptr) - *tempptr = '\0'; - } - - value = _ippVarsGet(v, temp); - - src += tempptr - temp + 1; - } - - if (value) - { - cupsCopyString(dstptr, value, (size_t)(dstend - dstptr + 1)); - dstptr += strlen(dstptr); - } - } - else - *dstptr++ = *src++; - } - - *dstptr = '\0'; -} - - -/* - * '_ippVarsGet()' - Get a variable string. - */ - -const char * /* O - Value or @code NULL@ if not set */ -_ippVarsGet(_ipp_vars_t *v, /* I - IPP variables */ - const char *name) /* I - Variable name */ -{ - if (!v) - return (NULL); - else if (!strcmp(name, "uri")) - return (v->uri); - else if (!strcmp(name, "uriuser") || !strcmp(name, "username")) - return (v->username[0] ? v->username : NULL); - else if (!strcmp(name, "scheme") || !strcmp(name, "method")) - return (v->scheme); - else if (!strcmp(name, "hostname")) - return (v->host); - else if (!strcmp(name, "port")) - return (v->portstr); - else if (!strcmp(name, "resource")) - return (v->resource); - else if (!strcmp(name, "user")) - return (cupsGetUser()); - else - return (cupsGetOption(name, v->num_vars, v->vars)); -} - - -/* - * '_ippVarsInit()' - Initialize . - */ - -void -_ippVarsInit(_ipp_vars_t *v, /* I - IPP variables */ - _ipp_fattr_cb_t attrcb, /* I - Attribute (filter) callback */ - _ipp_ferror_cb_t errorcb, /* I - Error callback */ - _ipp_ftoken_cb_t tokencb) /* I - Token callback */ -{ - memset(v, 0, sizeof(_ipp_vars_t)); - - v->attrcb = attrcb; - v->errorcb = errorcb; - v->tokencb = tokencb; -} - - -/* - * '_ippVarsPasswordCB()' - Password callback using the IPP variables. - */ - -const char * /* O - Password string or @code NULL@ */ -_ippVarsPasswordCB( - const char *prompt, /* I - Prompt string (not used) */ - http_t *http, /* I - HTTP connection (not used) */ - const char *method, /* I - HTTP method (not used) */ - const char *resource, /* I - Resource path (not used) */ - void *user_data) /* I - IPP variables */ -{ - _ipp_vars_t *v = (_ipp_vars_t *)user_data; - /* I - IPP variables */ - - - (void)prompt; - (void)http; - (void)method; - (void)resource; - - if (v->username[0] && v->password && v->password_tries < 3) - { - v->password_tries ++; - - cupsSetUser(v->username); - - return (v->password); - } - else - { - return (NULL); - } -} - - -/* - * '_ippVarsSet()' - Set an IPP variable. - */ - -int /* O - 1 on success, 0 on failure */ -_ippVarsSet(_ipp_vars_t *v, /* I - IPP variables */ - const char *name, /* I - Variable name */ - const char *value) /* I - Variable value */ -{ - if (!strcmp(name, "uri")) - { - char uri[1024]; /* New printer URI */ - char resolved[1024]; /* Resolved mDNS URI */ - - if (strstr(value, "._tcp")) - { - /* - * Resolve URI... - */ - - if (!_httpResolveURI(value, resolved, sizeof(resolved), _HTTP_RESOLVE_DEFAULT, NULL, NULL)) - return (0); - - value = resolved; - } - - if (httpSeparateURI(HTTP_URI_CODING_ALL, value, v->scheme, sizeof(v->scheme), v->username, sizeof(v->username), v->host, sizeof(v->host), &(v->port), v->resource, sizeof(v->resource)) < HTTP_URI_STATUS_OK) - return (0); - - if (v->username[0]) - { - if ((v->password = strchr(v->username, ':')) != NULL) - *(v->password)++ = '\0'; - } - - snprintf(v->portstr, sizeof(v->portstr), "%d", v->port); - - if (v->uri) - free(v->uri); - - httpAssembleURI(HTTP_URI_CODING_ALL, uri, sizeof(uri), v->scheme, NULL, v->host, v->port, v->resource); - v->uri = strdup(uri); - - return (v->uri != NULL); - } - else - { - v->num_vars = cupsAddOption(name, value, v->num_vars, &v->vars); - return (1); - } -} diff --git a/cups/ipp.c b/cups/ipp.c index bf0f3bfa0..a788ffb7c 100644 --- a/cups/ipp.c +++ b/cups/ipp.c @@ -1603,8 +1603,8 @@ ippCopyAttribute( * original source IPP message will not be freed for the life of the destination. * * The @code cb@ and @code context@ parameters provide a generic way to "filter" the - * attributes that are copied - the function must return 1 to copy the attribute or - * 0 to skip it. The function may also choose to do a partial copy of the source attribute + * attributes that are copied - the function must return `true` to copy the attribute or + * `false` to skip it. The function may also choose to do a partial copy of the source attribute * itself. * * @since CUPS 1.6/macOS 10.8@ @@ -1714,7 +1714,7 @@ ippDelete(ipp_t *ipp) /* I - IPP message */ ipp->use --; if (ipp->use > 0) { - DEBUG_printf(("4debug_retain: %p IPP message (use=%d)", (void *)ipp, ipp->use)); + DEBUG_printf(("4debug_retain: %p IPP message (use=%u)", (void *)ipp, (unsigned)ipp->use)); return; } diff --git a/cups/ipp.h b/cups/ipp.h index 4b116283d..c78d05a7a 100644 --- a/cups/ipp.h +++ b/cups/ipp.h @@ -1,13 +1,13 @@ -/* - * Internet Printing Protocol definitions for CUPS. - * - * Copyright © 2021 by OpenPrinting. - * Copyright © 2007-2018 by Apple Inc. - * Copyright © 1997-2006 by Easy Software Products. - * - * Licensed under Apache License v2.0. See the file "LICENSE" for more - * information. - */ +// +// Internet Printing Protocol definitions for CUPS. +// +// Copyright © 2021-2022 by OpenPrinting. +// Copyright © 2007-2018 by Apple Inc. +// Copyright © 1997-2006 by Easy Software Products. +// +// Licensed under Apache License v2.0. See the file "LICENSE" for more +// information. +// #ifndef _CUPS_IPP_H_ # define _CUPS_IPP_H_ @@ -15,42 +15,42 @@ # include # ifdef __cplusplus extern "C" { -# endif /* __cplusplus */ +# endif // __cplusplus -/* - * IPP version string... - */ +// +// IPP version string... +// # define IPP_VERSION "\002\001" -/* - * IPP registered port number... - * - * Note: Applications should never use IPP_PORT, but instead use `ippPort()` to - * allow overrides via the `IPP_PORT` environment variable and services file if - * needed. - */ +// +// IPP registered port number... +// +// Note: Applications should never use IPP_PORT, but instead use `ippPort()` to +// allow overrides via the `IPP_PORT` environment variable and services file if +// needed. +// # define IPP_PORT 631 -/* - * Common limits... - */ +// +// Common limits... +// -# define IPP_MAX_CHARSET 64 /* Maximum length of charset values w/nul */ -# define IPP_MAX_KEYWORD 256 /* Maximum length of keyword values w/nul */ -# define IPP_MAX_LANGUAGE 64 /* Maximum length of naturalLanguage values w/nul */ -# define IPP_MAX_LENGTH 32767 /* Maximum size of any single value */ -# define IPP_MAX_MIMETYPE 256 /* Maximum length of mimeMediaType values w/nul */ -# define IPP_MAX_NAME 256 /* Maximum length of common name values w/nul */ -# define IPP_MAX_OCTETSTRING 1023 /* Maximum length of octetString values w/o nul */ -# define IPP_MAX_TEXT 1024 /* Maximum length of text values w/nul */ -# define IPP_MAX_URI 1024 /* Maximum length of uri values w/nul */ -# define IPP_MAX_URISCHEME 64 /* Maximum length of uriScheme values w/nul */ -# define IPP_MAX_VALUES 8 /* Power-of-2 allocation increment */ +# define IPP_MAX_CHARSET 64 // Maximum length of charset values w/nul +# define IPP_MAX_KEYWORD 256 // Maximum length of keyword values w/nul +# define IPP_MAX_LANGUAGE 64 // Maximum length of naturalLanguage values w/nul +# define IPP_MAX_LENGTH 32767 // Maximum size of any single value +# define IPP_MAX_MIMETYPE 256 // Maximum length of mimeMediaType values w/nul +# define IPP_MAX_NAME 256 // Maximum length of common name values w/nul +# define IPP_MAX_OCTETSTRING 1023 // Maximum length of octetString values w/o nul +# define IPP_MAX_TEXT 1024 // Maximum length of text values w/nul +# define IPP_MAX_URI 1024 // Maximum length of uri values w/nul +# define IPP_MAX_URISCHEME 64 // Maximum length of uriScheme values w/nul +# define IPP_MAX_VALUES 8 // Power-of-2 allocation increment /* @@ -61,471 +61,479 @@ extern "C" { # define IPP_CONST_TAG(x) (ipp_tag_t)(IPP_TAG_CUPS_CONST | (x)) -/* - * Types and structures... - */ +// +// Types and structures... +// -typedef enum ipp_dstate_e /**** "document-state" values ****/ +typedef enum ipp_dstate_e // "document-state" values { - IPP_DSTATE_PENDING = 3, /* Document is pending */ - IPP_DSTATE_PROCESSING = 5, /* Document is processing */ - IPP_DSTATE_CANCELED = 7, /* Document is canceled */ - IPP_DSTATE_ABORTED, /* Document is aborted */ - IPP_DSTATE_COMPLETED /* Document is completed */ + IPP_DSTATE_PENDING = 3, // Document is pending + IPP_DSTATE_PROCESSING = 5, // Document is processing + IPP_DSTATE_CANCELED = 7, // Document is canceled + IPP_DSTATE_ABORTED, // Document is aborted + IPP_DSTATE_COMPLETED // Document is completed } ipp_dstate_t; -typedef enum ipp_finishings_e /**** "finishings" values ****/ +typedef enum ipp_finishings_e // "finishings" values { - IPP_FINISHINGS_NONE = 3, /* No finishing */ - IPP_FINISHINGS_STAPLE, /* Staple (any location/method) */ - IPP_FINISHINGS_PUNCH, /* Punch (any location/count) */ - IPP_FINISHINGS_COVER, /* Add cover */ - IPP_FINISHINGS_BIND, /* Bind */ - IPP_FINISHINGS_SADDLE_STITCH, /* Staple interior */ - IPP_FINISHINGS_EDGE_STITCH, /* Stitch along any side */ - IPP_FINISHINGS_FOLD, /* Fold (any type) */ - IPP_FINISHINGS_TRIM, /* Trim (any type) */ - IPP_FINISHINGS_BALE, /* Bale (any type) */ - IPP_FINISHINGS_BOOKLET_MAKER, /* Fold to make booklet */ - IPP_FINISHINGS_JOG_OFFSET, /* Offset for binding (any type) */ - IPP_FINISHINGS_COAT, /* Apply protective liquid or powder coating */ - IPP_FINISHINGS_LAMINATE, /* Apply protective (solid) material */ - IPP_FINISHINGS_STAPLE_TOP_LEFT = 20, /* Staple top left corner */ - IPP_FINISHINGS_STAPLE_BOTTOM_LEFT, /* Staple bottom left corner */ - IPP_FINISHINGS_STAPLE_TOP_RIGHT, /* Staple top right corner */ - IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT, /* Staple bottom right corner */ - IPP_FINISHINGS_EDGE_STITCH_LEFT, /* Stitch along left side */ - IPP_FINISHINGS_EDGE_STITCH_TOP, /* Stitch along top edge */ - IPP_FINISHINGS_EDGE_STITCH_RIGHT, /* Stitch along right side */ - IPP_FINISHINGS_EDGE_STITCH_BOTTOM, /* Stitch along bottom edge */ - IPP_FINISHINGS_STAPLE_DUAL_LEFT, /* Two staples on left */ - IPP_FINISHINGS_STAPLE_DUAL_TOP, /* Two staples on top */ - IPP_FINISHINGS_STAPLE_DUAL_RIGHT, /* Two staples on right */ - IPP_FINISHINGS_STAPLE_DUAL_BOTTOM, /* Two staples on bottom */ - IPP_FINISHINGS_STAPLE_TRIPLE_LEFT, /* Three staples on left */ - IPP_FINISHINGS_STAPLE_TRIPLE_TOP, /* Three staples on top */ - IPP_FINISHINGS_STAPLE_TRIPLE_RIGHT, /* Three staples on right */ - IPP_FINISHINGS_STAPLE_TRIPLE_BOTTOM, /* Three staples on bottom */ - IPP_FINISHINGS_BIND_LEFT = 50, /* Bind on left */ - IPP_FINISHINGS_BIND_TOP, /* Bind on top */ - IPP_FINISHINGS_BIND_RIGHT, /* Bind on right */ - IPP_FINISHINGS_BIND_BOTTOM, /* Bind on bottom */ - IPP_FINISHINGS_TRIM_AFTER_PAGES = 60, /* Trim output after each page */ - IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS, /* Trim output after each document */ - IPP_FINISHINGS_TRIM_AFTER_COPIES, /* Trim output after each copy */ - IPP_FINISHINGS_TRIM_AFTER_JOB, /* Trim output after job */ - IPP_FINISHINGS_PUNCH_TOP_LEFT = 70, /* Punch 1 hole top left */ - IPP_FINISHINGS_PUNCH_BOTTOM_LEFT, /* Punch 1 hole bottom left */ - IPP_FINISHINGS_PUNCH_TOP_RIGHT, /* Punch 1 hole top right */ - IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT, /* Punch 1 hole bottom right */ - IPP_FINISHINGS_PUNCH_DUAL_LEFT, /* Punch 2 holes left side */ - IPP_FINISHINGS_PUNCH_DUAL_TOP, /* Punch 2 holes top edge */ - IPP_FINISHINGS_PUNCH_DUAL_RIGHT, /* Punch 2 holes right side */ - IPP_FINISHINGS_PUNCH_DUAL_BOTTOM, /* Punch 2 holes bottom edge */ - IPP_FINISHINGS_PUNCH_TRIPLE_LEFT, /* Punch 3 holes left side */ - IPP_FINISHINGS_PUNCH_TRIPLE_TOP, /* Punch 3 holes top edge */ - IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT, /* Punch 3 holes right side */ - IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM, /* Punch 3 holes bottom edge */ - IPP_FINISHINGS_PUNCH_QUAD_LEFT, /* Punch 4 holes left side */ - IPP_FINISHINGS_PUNCH_QUAD_TOP, /* Punch 4 holes top edge */ - IPP_FINISHINGS_PUNCH_QUAD_RIGHT, /* Punch 4 holes right side */ - IPP_FINISHINGS_PUNCH_QUAD_BOTTOM, /* Punch 4 holes bottom edge */ - IPP_FINISHINGS_PUNCH_MULTIPLE_LEFT, /* Punch multiple holes left side */ - IPP_FINISHINGS_PUNCH_MULTIPLE_TOP, /* Punch multiple holes top edge */ - IPP_FINISHINGS_PUNCH_MULTIPLE_RIGHT, /* Punch multiple holes right side */ - IPP_FINISHINGS_PUNCH_MULTIPLE_BOTTOM, /* Punch multiple holes bottom edge */ - IPP_FINISHINGS_FOLD_ACCORDION = 90, /* Accordion-fold the paper vertically into four sections */ - IPP_FINISHINGS_FOLD_DOUBLE_GATE, /* Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically */ - IPP_FINISHINGS_FOLD_GATE, /* Fold the top and bottom quarters of the paper towards the midline */ - IPP_FINISHINGS_FOLD_HALF, /* Fold the paper in half vertically */ - IPP_FINISHINGS_FOLD_HALF_Z, /* Fold the paper in half horizontally, then Z-fold the paper vertically */ - IPP_FINISHINGS_FOLD_LEFT_GATE, /* Fold the top quarter of the paper towards the midline */ + IPP_FINISHINGS_NONE = 3, // No finishing + IPP_FINISHINGS_STAPLE, // Staple (any location/method) + IPP_FINISHINGS_PUNCH, // Punch (any location/count) + IPP_FINISHINGS_COVER, // Add cover + IPP_FINISHINGS_BIND, // Bind + IPP_FINISHINGS_SADDLE_STITCH, // Staple interior + IPP_FINISHINGS_EDGE_STITCH, // Stitch along any side + IPP_FINISHINGS_FOLD, // Fold (any type) + IPP_FINISHINGS_TRIM, // Trim (any type) + IPP_FINISHINGS_BALE, // Bale (any type) + IPP_FINISHINGS_BOOKLET_MAKER, // Fold to make booklet + IPP_FINISHINGS_JOG_OFFSET, // Offset for binding (any type) + IPP_FINISHINGS_COAT, // Apply protective liquid or powder coating + IPP_FINISHINGS_LAMINATE, // Apply protective (solid) material + IPP_FINISHINGS_STAPLE_TOP_LEFT = 20, // Staple top left corner + IPP_FINISHINGS_STAPLE_BOTTOM_LEFT, // Staple bottom left corner + IPP_FINISHINGS_STAPLE_TOP_RIGHT, // Staple top right corner + IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT, // Staple bottom right corner + IPP_FINISHINGS_EDGE_STITCH_LEFT, // Stitch along left side + IPP_FINISHINGS_EDGE_STITCH_TOP, // Stitch along top edge + IPP_FINISHINGS_EDGE_STITCH_RIGHT, // Stitch along right side + IPP_FINISHINGS_EDGE_STITCH_BOTTOM, // Stitch along bottom edge + IPP_FINISHINGS_STAPLE_DUAL_LEFT, // Two staples on left + IPP_FINISHINGS_STAPLE_DUAL_TOP, // Two staples on top + IPP_FINISHINGS_STAPLE_DUAL_RIGHT, // Two staples on right + IPP_FINISHINGS_STAPLE_DUAL_BOTTOM, // Two staples on bottom + IPP_FINISHINGS_STAPLE_TRIPLE_LEFT, // Three staples on left + IPP_FINISHINGS_STAPLE_TRIPLE_TOP, // Three staples on top + IPP_FINISHINGS_STAPLE_TRIPLE_RIGHT, // Three staples on right + IPP_FINISHINGS_STAPLE_TRIPLE_BOTTOM, // Three staples on bottom + IPP_FINISHINGS_BIND_LEFT = 50, // Bind on left + IPP_FINISHINGS_BIND_TOP, // Bind on top + IPP_FINISHINGS_BIND_RIGHT, // Bind on right + IPP_FINISHINGS_BIND_BOTTOM, // Bind on bottom + IPP_FINISHINGS_TRIM_AFTER_PAGES = 60, // Trim output after each page + IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS, // Trim output after each document + IPP_FINISHINGS_TRIM_AFTER_COPIES, // Trim output after each copy + IPP_FINISHINGS_TRIM_AFTER_JOB, // Trim output after job + IPP_FINISHINGS_PUNCH_TOP_LEFT = 70, // Punch 1 hole top left + IPP_FINISHINGS_PUNCH_BOTTOM_LEFT, // Punch 1 hole bottom left + IPP_FINISHINGS_PUNCH_TOP_RIGHT, // Punch 1 hole top right + IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT, // Punch 1 hole bottom right + IPP_FINISHINGS_PUNCH_DUAL_LEFT, // Punch 2 holes left side + IPP_FINISHINGS_PUNCH_DUAL_TOP, // Punch 2 holes top edge + IPP_FINISHINGS_PUNCH_DUAL_RIGHT, // Punch 2 holes right side + IPP_FINISHINGS_PUNCH_DUAL_BOTTOM, // Punch 2 holes bottom edge + IPP_FINISHINGS_PUNCH_TRIPLE_LEFT, // Punch 3 holes left side + IPP_FINISHINGS_PUNCH_TRIPLE_TOP, // Punch 3 holes top edge + IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT, // Punch 3 holes right side + IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM, // Punch 3 holes bottom edge + IPP_FINISHINGS_PUNCH_QUAD_LEFT, // Punch 4 holes left side + IPP_FINISHINGS_PUNCH_QUAD_TOP, // Punch 4 holes top edge + IPP_FINISHINGS_PUNCH_QUAD_RIGHT, // Punch 4 holes right side + IPP_FINISHINGS_PUNCH_QUAD_BOTTOM, // Punch 4 holes bottom edge + IPP_FINISHINGS_PUNCH_MULTIPLE_LEFT, // Punch multiple holes left side + IPP_FINISHINGS_PUNCH_MULTIPLE_TOP, // Punch multiple holes top edge + IPP_FINISHINGS_PUNCH_MULTIPLE_RIGHT, // Punch multiple holes right side + IPP_FINISHINGS_PUNCH_MULTIPLE_BOTTOM, // Punch multiple holes bottom edge + IPP_FINISHINGS_FOLD_ACCORDION = 90, // Accordion-fold the paper vertically into four sections + IPP_FINISHINGS_FOLD_DOUBLE_GATE, // Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically + IPP_FINISHINGS_FOLD_GATE, // Fold the top and bottom quarters of the paper towards the midline + IPP_FINISHINGS_FOLD_HALF, // Fold the paper in half vertically + IPP_FINISHINGS_FOLD_HALF_Z, // Fold the paper in half horizontally, then Z-fold the paper vertically + IPP_FINISHINGS_FOLD_LEFT_GATE, // Fold the top quarter of the paper towards the midline IPP_FINISHINGS_FOLD_LETTER, /* Fold the paper into three sections vertically; sometimes also known as a C fold*/ - IPP_FINISHINGS_FOLD_PARALLEL, /* Fold the paper in half vertically two times, yielding four sections */ - IPP_FINISHINGS_FOLD_POSTER, /* Fold the paper in half horizontally and vertically; sometimes also called a cross fold */ - IPP_FINISHINGS_FOLD_RIGHT_GATE, /* Fold the bottom quarter of the paper towards the midline */ - IPP_FINISHINGS_FOLD_Z, /* Fold the paper vertically into three sections, forming a Z */ - IPP_FINISHINGS_FOLD_ENGINEERING_Z, /* Fold the paper vertically into two small sections and one larger, forming an elongated Z */ + IPP_FINISHINGS_FOLD_PARALLEL, // Fold the paper in half vertically two times, yielding four sections + IPP_FINISHINGS_FOLD_POSTER, // Fold the paper in half horizontally and vertically; sometimes also called a cross fold + IPP_FINISHINGS_FOLD_RIGHT_GATE, // Fold the bottom quarter of the paper towards the midline + IPP_FINISHINGS_FOLD_Z, // Fold the paper vertically into three sections, forming a Z + IPP_FINISHINGS_FOLD_ENGINEERING_Z, // Fold the paper vertically into two small sections and one larger, forming an elongated Z - /* CUPS extensions for finishings (pre-standard versions of values above) */ + // CUPS extensions for finishings (pre-standard versions of values above) IPP_FINISHINGS_CUPS_PUNCH_TOP_LEFT = 0x40000046, - /* Punch 1 hole top left @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_BOTTOM_LEFT,/* Punch 1 hole bottom left @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_TOP_RIGHT, /* Punch 1 hole top right @exclude all@ */ + // Punch 1 hole top left @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_BOTTOM_LEFT,// Punch 1 hole bottom left @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_TOP_RIGHT, // Punch 1 hole top right @exclude all@ IPP_FINISHINGS_CUPS_PUNCH_BOTTOM_RIGHT, - /* Punch 1 hole bottom right @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_DUAL_LEFT, /* Punch 2 holes left side @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_DUAL_TOP, /* Punch 2 holes top edge @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_DUAL_RIGHT, /* Punch 2 holes right side @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_DUAL_BOTTOM,/* Punch 2 holes bottom edge @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_TRIPLE_LEFT,/* Punch 3 holes left side @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_TRIPLE_TOP, /* Punch 3 holes top edge @exclude all@ */ + // Punch 1 hole bottom right @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_DUAL_LEFT, // Punch 2 holes left side @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_DUAL_TOP, // Punch 2 holes top edge @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_DUAL_RIGHT, // Punch 2 holes right side @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_DUAL_BOTTOM,// Punch 2 holes bottom edge @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_TRIPLE_LEFT,// Punch 3 holes left side @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_TRIPLE_TOP, // Punch 3 holes top edge @exclude all@ IPP_FINISHINGS_CUPS_PUNCH_TRIPLE_RIGHT, - /* Punch 3 holes right side @exclude all@ */ + // Punch 3 holes right side @exclude all@ IPP_FINISHINGS_CUPS_PUNCH_TRIPLE_BOTTOM, - /* Punch 3 holes bottom edge @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_QUAD_LEFT, /* Punch 4 holes left side @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_QUAD_TOP, /* Punch 4 holes top edge @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_QUAD_RIGHT, /* Punch 4 holes right side @exclude all@ */ - IPP_FINISHINGS_CUPS_PUNCH_QUAD_BOTTOM,/* Punch 4 holes bottom edge @exclude all@ */ + // Punch 3 holes bottom edge @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_QUAD_LEFT, // Punch 4 holes left side @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_QUAD_TOP, // Punch 4 holes top edge @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_QUAD_RIGHT, // Punch 4 holes right side @exclude all@ + IPP_FINISHINGS_CUPS_PUNCH_QUAD_BOTTOM,// Punch 4 holes bottom edge @exclude all@ IPP_FINISHINGS_CUPS_FOLD_ACCORDION = 0x4000005A, - /* Accordion-fold the paper vertically into four sections @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_DOUBLE_GATE, /* Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_GATE, /* Fold the top and bottom quarters of the paper towards the midline @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_HALF, /* Fold the paper in half vertically @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_HALF_Z, /* Fold the paper in half horizontally, then Z-fold the paper vertically @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_LEFT_GATE, /* Fold the top quarter of the paper towards the midline @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_LETTER, /* Fold the paper into three sections vertically; sometimes also known as a C fold @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_PARALLEL, /* Fold the paper in half vertically two times, yielding four sections @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_POSTER, /* Fold the paper in half horizontally and vertically; sometimes also called a cross fold @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_RIGHT_GATE, /* Fold the bottom quarter of the paper towards the midline @exclude all@ */ - IPP_FINISHINGS_CUPS_FOLD_Z /* Fold the paper vertically into three sections, forming a Z @exclude all@ */ + // Accordion-fold the paper vertically into four sections @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_DOUBLE_GATE, // Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_GATE, // Fold the top and bottom quarters of the paper towards the midline @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_HALF, // Fold the paper in half vertically @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_HALF_Z, // Fold the paper in half horizontally, then Z-fold the paper vertically @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_LEFT_GATE, // Fold the top quarter of the paper towards the midline @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_LETTER, // Fold the paper into three sections vertically; sometimes also known as a C fold @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_PARALLEL, // Fold the paper in half vertically two times, yielding four sections @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_POSTER, // Fold the paper in half horizontally and vertically; sometimes also called a cross fold @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_RIGHT_GATE, // Fold the bottom quarter of the paper towards the midline @exclude all@ + IPP_FINISHINGS_CUPS_FOLD_Z // Fold the paper vertically into three sections, forming a Z @exclude all@ } ipp_finishings_t; -typedef enum ipp_jstate_e /**** "job-state" values ****/ +typedef enum ipp_jstate_e // "job-state" values { - IPP_JSTATE_PENDING = 3, /* Job is waiting to be printed */ - IPP_JSTATE_HELD, /* Job is held for printing */ - IPP_JSTATE_PROCESSING, /* Job is currently printing */ - IPP_JSTATE_STOPPED, /* Job has been stopped */ - IPP_JSTATE_CANCELED, /* Job has been canceled */ - IPP_JSTATE_ABORTED, /* Job has aborted due to error */ - IPP_JSTATE_COMPLETED /* Job has completed successfully */ + IPP_JSTATE_PENDING = 3, // Job is waiting to be printed + IPP_JSTATE_HELD, // Job is held for printing + IPP_JSTATE_PROCESSING, // Job is currently printing + IPP_JSTATE_STOPPED, // Job has been stopped + IPP_JSTATE_CANCELED, // Job has been canceled + IPP_JSTATE_ABORTED, // Job has aborted due to error + IPP_JSTATE_COMPLETED // Job has completed successfully } ipp_jstate_t; -typedef enum ipp_op_e /**** IPP operations ****/ +typedef enum ipp_op_e // IPP operations { - IPP_OP_CUPS_INVALID = -1, /* Invalid operation name for @link ippOpValue@ */ - IPP_OP_CUPS_NONE = 0, /* No operation @private@ */ - IPP_OP_PRINT_JOB = 0x0002, /* Print-Job: Print a single file */ - IPP_OP_PRINT_URI, /* Print-URI: Print a single URL @exclude all@ */ - IPP_OP_VALIDATE_JOB, /* Validate-Job: Validate job values prior to submission */ - IPP_OP_CREATE_JOB, /* Create-Job: Create an empty print job */ - IPP_OP_SEND_DOCUMENT, /* Send-Document: Add a file to a job */ - IPP_OP_SEND_URI, /* Send-URI: Add a URL to a job @exclude all@ */ - IPP_OP_CANCEL_JOB, /* Cancel-Job: Cancel a job */ - IPP_OP_GET_JOB_ATTRIBUTES, /* Get-Job-Attribute: Get information about a job */ - IPP_OP_GET_JOBS, /* Get-Jobs: Get a list of jobs */ - IPP_OP_GET_PRINTER_ATTRIBUTES, /* Get-Printer-Attributes: Get information about a printer */ - IPP_OP_HOLD_JOB, /* Hold-Job: Hold a job for printing */ - IPP_OP_RELEASE_JOB, /* Release-Job: Release a job for printing */ - IPP_OP_RESTART_JOB, /* Restart-Job: Reprint a job @deprecated@ */ - IPP_OP_PAUSE_PRINTER = 0x0010, /* Pause-Printer: Stop a printer */ - IPP_OP_RESUME_PRINTER, /* Resume-Printer: Start a printer */ - IPP_OP_PURGE_JOBS, /* Purge-Jobs: Delete all jobs @deprecated@ @exclude all@ */ - IPP_OP_SET_PRINTER_ATTRIBUTES, /* Set-Printer-Attributes: Set printer values */ - IPP_OP_SET_JOB_ATTRIBUTES, /* Set-Job-Attributes: Set job values */ - IPP_OP_GET_PRINTER_SUPPORTED_VALUES, /* Get-Printer-Supported-Values: Get supported values */ - IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS, /* Create-Printer-Subscriptions: Create one or more printer subscriptions */ - IPP_OP_CREATE_JOB_SUBSCRIPTIONS, /* Create-Job-Subscriptions: Create one of more job subscriptions */ - IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES, /* Get-Subscription-Attributes: Get subscription information */ - IPP_OP_GET_SUBSCRIPTIONS, /* Get-Subscriptions: Get list of subscriptions */ - IPP_OP_RENEW_SUBSCRIPTION, /* Renew-Subscription: Renew a printer subscription */ - IPP_OP_CANCEL_SUBSCRIPTION, /* Cancel-Subscription: Cancel a subscription */ - IPP_OP_GET_NOTIFICATIONS, /* Get-Notifications: Get notification events */ - IPP_OP_SEND_NOTIFICATIONS, /* Send-Notifications: Send notification events @private@ */ - IPP_OP_GET_RESOURCE_ATTRIBUTES, /* Get-Resource-Attributes: Get resource information @private@ */ - IPP_OP_GET_RESOURCE_DATA, /* Get-Resource-Data: Get resource data @private@ @deprecated@ */ - IPP_OP_GET_RESOURCES, /* Get-Resources: Get list of resources @private@ */ - IPP_OP_GET_PRINT_SUPPORT_FILES, /* Get-Printer-Support-Files: Get printer support files @private@ */ - IPP_OP_ENABLE_PRINTER, /* Enable-Printer: Accept new jobs for a printer */ - IPP_OP_DISABLE_PRINTER, /* Disable-Printer: Reject new jobs for a printer */ + IPP_OP_CUPS_INVALID = -1, // Invalid operation name for @link ippOpValue@ + IPP_OP_CUPS_NONE = 0, // No operation @private@ + IPP_OP_PRINT_JOB = 0x0002, // Print-Job: Print a single file + IPP_OP_PRINT_URI, // Print-URI: Print a single URL @exclude all@ + IPP_OP_VALIDATE_JOB, // Validate-Job: Validate job values prior to submission + IPP_OP_CREATE_JOB, // Create-Job: Create an empty print job + IPP_OP_SEND_DOCUMENT, // Send-Document: Add a file to a job + IPP_OP_SEND_URI, // Send-URI: Add a URL to a job @exclude all@ + IPP_OP_CANCEL_JOB, // Cancel-Job: Cancel a job + IPP_OP_GET_JOB_ATTRIBUTES, // Get-Job-Attribute: Get information about a job + IPP_OP_GET_JOBS, // Get-Jobs: Get a list of jobs + IPP_OP_GET_PRINTER_ATTRIBUTES, // Get-Printer-Attributes: Get information about a printer + IPP_OP_HOLD_JOB, // Hold-Job: Hold a job for printing + IPP_OP_RELEASE_JOB, // Release-Job: Release a job for printing + IPP_OP_RESTART_JOB, // Restart-Job: Reprint a job @deprecated@ + IPP_OP_PAUSE_PRINTER = 0x0010, // Pause-Printer: Stop a printer + IPP_OP_RESUME_PRINTER, // Resume-Printer: Start a printer + IPP_OP_PURGE_JOBS, // Purge-Jobs: Delete all jobs @deprecated@ @exclude all@ + IPP_OP_SET_PRINTER_ATTRIBUTES, // Set-Printer-Attributes: Set printer values + IPP_OP_SET_JOB_ATTRIBUTES, // Set-Job-Attributes: Set job values + IPP_OP_GET_PRINTER_SUPPORTED_VALUES, // Get-Printer-Supported-Values: Get supported values + IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS, // Create-Printer-Subscriptions: Create one or more printer subscriptions + IPP_OP_CREATE_JOB_SUBSCRIPTIONS, // Create-Job-Subscriptions: Create one of more job subscriptions + IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES, // Get-Subscription-Attributes: Get subscription information + IPP_OP_GET_SUBSCRIPTIONS, // Get-Subscriptions: Get list of subscriptions + IPP_OP_RENEW_SUBSCRIPTION, // Renew-Subscription: Renew a printer subscription + IPP_OP_CANCEL_SUBSCRIPTION, // Cancel-Subscription: Cancel a subscription + IPP_OP_GET_NOTIFICATIONS, // Get-Notifications: Get notification events + IPP_OP_SEND_NOTIFICATIONS, // Send-Notifications: Send notification events @private@ + IPP_OP_GET_RESOURCE_ATTRIBUTES, // Get-Resource-Attributes: Get resource information @private@ + IPP_OP_GET_RESOURCE_DATA, // Get-Resource-Data: Get resource data @private@ @deprecated@ + IPP_OP_GET_RESOURCES, // Get-Resources: Get list of resources @private@ + IPP_OP_GET_PRINT_SUPPORT_FILES, // Get-Printer-Support-Files: Get printer support files @private@ + IPP_OP_ENABLE_PRINTER, // Enable-Printer: Accept new jobs for a printer + IPP_OP_DISABLE_PRINTER, // Disable-Printer: Reject new jobs for a printer IPP_OP_PAUSE_PRINTER_AFTER_CURRENT_JOB, - /* Pause-Printer-After-Current-Job: Stop printer after the current job */ - IPP_OP_HOLD_NEW_JOBS, /* Hold-New-Jobs: Hold new jobs */ - IPP_OP_RELEASE_HELD_NEW_JOBS, /* Release-Held-New-Jobs: Release new jobs that were previously held */ - IPP_OP_DEACTIVATE_PRINTER, /* Deactivate-Printer: Stop a printer and do not accept jobs @deprecated@ @exclude all@ */ - IPP_OP_ACTIVATE_PRINTER, /* Activate-Printer: Start a printer and accept jobs @deprecated@ @exclude all@ */ - IPP_OP_RESTART_PRINTER, /* Restart-Printer: Restart a printer @exclude all@ */ - IPP_OP_SHUTDOWN_PRINTER, /* Shutdown-Printer: Turn a printer off @exclude all@ */ - IPP_OP_STARTUP_PRINTER, /* Startup-Printer: Turn a printer on @exclude all@ */ + // Pause-Printer-After-Current-Job: Stop printer after the current job + IPP_OP_HOLD_NEW_JOBS, // Hold-New-Jobs: Hold new jobs + IPP_OP_RELEASE_HELD_NEW_JOBS, // Release-Held-New-Jobs: Release new jobs that were previously held + IPP_OP_DEACTIVATE_PRINTER, // Deactivate-Printer: Stop a printer and do not accept jobs @deprecated@ @exclude all@ + IPP_OP_ACTIVATE_PRINTER, // Activate-Printer: Start a printer and accept jobs @deprecated@ @exclude all@ + IPP_OP_RESTART_PRINTER, // Restart-Printer: Restart a printer @exclude all@ + IPP_OP_SHUTDOWN_PRINTER, // Shutdown-Printer: Turn a printer off @exclude all@ + IPP_OP_STARTUP_PRINTER, // Startup-Printer: Turn a printer on @exclude all@ IPP_OP_REPROCESS_JOB, /* Reprocess-Job: Reprint a job @deprecated@ @exclude all@*/ - IPP_OP_CANCEL_CURRENT_JOB, /* Cancel-Current-Job: Cancel the current job */ - IPP_OP_SUSPEND_CURRENT_JOB, /* Suspend-Current-Job: Suspend the current job */ - IPP_OP_RESUME_JOB, /* Resume-Job: Resume the current job */ - IPP_OP_PROMOTE_JOB, /* Promote-Job: Promote a job to print sooner */ - IPP_OP_SCHEDULE_JOB_AFTER, /* Schedule-Job-After: Schedule a job to print after another */ - IPP_OP_CANCEL_DOCUMENT = 0x0033, /* Cancel-Document: Cancel a document @exclude all@ */ - IPP_OP_GET_DOCUMENT_ATTRIBUTES, /* Get-Document-Attributes: Get document information @exclude all@ */ - IPP_OP_GET_DOCUMENTS, /* Get-Documents: Get a list of documents in a job @exclude all@ */ - IPP_OP_DELETE_DOCUMENT, /* Delete-Document: Delete a document @deprecated@ @exclude all@ */ - IPP_OP_SET_DOCUMENT_ATTRIBUTES, /* Set-Document-Attributes: Set document values @exclude all@ */ - IPP_OP_CANCEL_JOBS, /* Cancel-Jobs: Cancel all jobs (administrative) */ - IPP_OP_CANCEL_MY_JOBS, /* Cancel-My-Jobs: Cancel a user's jobs */ - IPP_OP_RESUBMIT_JOB, /* Resubmit-Job: Copy and reprint a job @exclude all@ */ - IPP_OP_CLOSE_JOB, /* Close-Job: Close a job and start printing */ - IPP_OP_IDENTIFY_PRINTER, /* Identify-Printer: Make the printer beep, flash, or display a message for identification */ - IPP_OP_VALIDATE_DOCUMENT, /* Validate-Document: Validate document values prior to submission @exclude all@ */ - IPP_OP_ADD_DOCUMENT_IMAGES, /* Add-Document-Images: Add image(s) from the specified scanner source @exclude all@ */ - IPP_OP_ACKNOWLEDGE_DOCUMENT, /* Acknowledge-Document: Acknowledge processing of a document @exclude all@ */ - IPP_OP_ACKNOWLEDGE_IDENTIFY_PRINTER, /* Acknowledge-Identify-Printer: Acknowledge action on an Identify-Printer request @exclude all@ */ - IPP_OP_ACKNOWLEDGE_JOB, /* Acknowledge-Job: Acknowledge processing of a job @exclude all@ */ - IPP_OP_FETCH_DOCUMENT, /* Fetch-Document: Fetch a document for processing @exclude all@ */ - IPP_OP_FETCH_JOB, /* Fetch-Job: Fetch a job for processing @exclude all@ */ - IPP_OP_GET_OUTPUT_DEVICE_ATTRIBUTES, /* Get-Output-Device-Attributes: Get printer information for a specific output device @exclude all@ */ - IPP_OP_UPDATE_ACTIVE_JOBS, /* Update-Active-Jobs: Update the list of active jobs that a proxy has processed @exclude all@ */ - IPP_OP_DEREGISTER_OUTPUT_DEVICE, /* Deregister-Output-Device: Remove an output device @exclude all@ */ - IPP_OP_UPDATE_DOCUMENT_STATUS, /* Update-Document-Status: Update document values @exclude all@ */ - IPP_OP_UPDATE_JOB_STATUS, /* Update-Job-Status: Update job values @exclude all@ */ + IPP_OP_CANCEL_CURRENT_JOB, // Cancel-Current-Job: Cancel the current job + IPP_OP_SUSPEND_CURRENT_JOB, // Suspend-Current-Job: Suspend the current job + IPP_OP_RESUME_JOB, // Resume-Job: Resume the current job + IPP_OP_PROMOTE_JOB, // Promote-Job: Promote a job to print sooner + IPP_OP_SCHEDULE_JOB_AFTER, // Schedule-Job-After: Schedule a job to print after another + IPP_OP_CANCEL_DOCUMENT = 0x0033, // Cancel-Document: Cancel a document @exclude all@ + IPP_OP_GET_DOCUMENT_ATTRIBUTES, // Get-Document-Attributes: Get document information @exclude all@ + IPP_OP_GET_DOCUMENTS, // Get-Documents: Get a list of documents in a job @exclude all@ + IPP_OP_DELETE_DOCUMENT, // Delete-Document: Delete a document @deprecated@ @exclude all@ + IPP_OP_SET_DOCUMENT_ATTRIBUTES, // Set-Document-Attributes: Set document values @exclude all@ + IPP_OP_CANCEL_JOBS, // Cancel-Jobs: Cancel all jobs (administrative) + IPP_OP_CANCEL_MY_JOBS, // Cancel-My-Jobs: Cancel a user's jobs + IPP_OP_RESUBMIT_JOB, // Resubmit-Job: Copy and reprint a job @exclude all@ + IPP_OP_CLOSE_JOB, // Close-Job: Close a job and start printing + IPP_OP_IDENTIFY_PRINTER, // Identify-Printer: Make the printer beep, flash, or display a message for identification + IPP_OP_VALIDATE_DOCUMENT, // Validate-Document: Validate document values prior to submission @exclude all@ + IPP_OP_ADD_DOCUMENT_IMAGES, // Add-Document-Images: Add image(s) from the specified scanner source @exclude all@ + IPP_OP_ACKNOWLEDGE_DOCUMENT, // Acknowledge-Document: Acknowledge processing of a document @exclude all@ + IPP_OP_ACKNOWLEDGE_IDENTIFY_PRINTER, // Acknowledge-Identify-Printer: Acknowledge action on an Identify-Printer request @exclude all@ + IPP_OP_ACKNOWLEDGE_JOB, // Acknowledge-Job: Acknowledge processing of a job @exclude all@ + IPP_OP_FETCH_DOCUMENT, // Fetch-Document: Fetch a document for processing @exclude all@ + IPP_OP_FETCH_JOB, // Fetch-Job: Fetch a job for processing @exclude all@ + IPP_OP_GET_OUTPUT_DEVICE_ATTRIBUTES, // Get-Output-Device-Attributes: Get printer information for a specific output device @exclude all@ + IPP_OP_UPDATE_ACTIVE_JOBS, // Update-Active-Jobs: Update the list of active jobs that a proxy has processed @exclude all@ + IPP_OP_DEREGISTER_OUTPUT_DEVICE, // Deregister-Output-Device: Remove an output device @exclude all@ + IPP_OP_UPDATE_DOCUMENT_STATUS, // Update-Document-Status: Update document values @exclude all@ + IPP_OP_UPDATE_JOB_STATUS, // Update-Job-Status: Update job values @exclude all@ IPP_OP_UPDATE_OUTPUT_DEVICE_ATTRIBUTES, - /* Update-Output-Device-Attributes: Update output device values @exclude all@ */ - IPP_OP_GET_NEXT_DOCUMENT_DATA, /* Get-Next-Document-Data: Scan more document data @exclude all@ */ - IPP_OP_ALLOCATE_PRINTER_RESOURCES, /* Allocate-Printer-Resources: Use resources for a printer. */ - IPP_OP_CREATE_PRINTER, /* Create-Printer: Create a new service. */ - IPP_OP_DEALLOCATE_PRINTER_RESOURCES, /* Deallocate-Printer-Resources: Stop using resources for a printer. */ - IPP_OP_DELETE_PRINTER, /* Delete-Printer: Delete an existing service. */ - IPP_OP_GET_PRINTERS, /* Get-Printers: Get a list of services. */ - IPP_OP_SHUTDOWN_ONE_PRINTER, /* Shutdown-One-Printer: Shutdown a service. */ - IPP_OP_STARTUP_ONE_PRINTER, /* Startup-One-Printer: Start a service. */ - IPP_OP_CANCEL_RESOURCE, /* Cancel-Resource: Uninstall a resource. */ - IPP_OP_CREATE_RESOURCE, /* Create-Resource: Create a new (empty) resource. */ - IPP_OP_INSTALL_RESOURCE, /* Install-Resource: Install a resource. */ - IPP_OP_SEND_RESOURCE_DATA, /* Send-Resource-Data: Upload the data for a resource. */ - IPP_OP_SET_RESOURCE_ATTRIBUTES, /* Set-Resource-Attributes: Set resource object attributes. */ - IPP_OP_CREATE_RESOURCE_SUBSCRIPTIONS, /* Create-Resource-Subscriptions: Create event subscriptions for a resource. */ - IPP_OP_CREATE_SYSTEM_SUBSCRIPTIONS, /* Create-System-Subscriptions: Create event subscriptions for a system. */ - IPP_OP_DISABLE_ALL_PRINTERS, /* Disable-All-Printers: Stop accepting new jobs on all services. */ - IPP_OP_ENABLE_ALL_PRINTERS, /* Enable-All-Printers: Start accepting new jobs on all services. */ - IPP_OP_GET_SYSTEM_ATTRIBUTES, /* Get-System-Attributes: Get system object attributes. */ - IPP_OP_GET_SYSTEM_SUPPORTED_VALUES, /* Get-System-Supported-Values: Get supported values for system object attributes. */ - IPP_OP_PAUSE_ALL_PRINTERS, /* Pause-All-Printers: Stop all services immediately. */ + // Update-Output-Device-Attributes: Update output device values @exclude all@ + IPP_OP_GET_NEXT_DOCUMENT_DATA, // Get-Next-Document-Data: Scan more document data @exclude all@ + IPP_OP_ALLOCATE_PRINTER_RESOURCES, // Allocate-Printer-Resources: Use resources for a printer. + IPP_OP_CREATE_PRINTER, // Create-Printer: Create a new service. + IPP_OP_DEALLOCATE_PRINTER_RESOURCES, // Deallocate-Printer-Resources: Stop using resources for a printer. + IPP_OP_DELETE_PRINTER, // Delete-Printer: Delete an existing service. + IPP_OP_GET_PRINTERS, // Get-Printers: Get a list of services. + IPP_OP_SHUTDOWN_ONE_PRINTER, // Shutdown-One-Printer: Shutdown a service. + IPP_OP_STARTUP_ONE_PRINTER, // Startup-One-Printer: Start a service. + IPP_OP_CANCEL_RESOURCE, // Cancel-Resource: Uninstall a resource. + IPP_OP_CREATE_RESOURCE, // Create-Resource: Create a new (empty) resource. + IPP_OP_INSTALL_RESOURCE, // Install-Resource: Install a resource. + IPP_OP_SEND_RESOURCE_DATA, // Send-Resource-Data: Upload the data for a resource. + IPP_OP_SET_RESOURCE_ATTRIBUTES, // Set-Resource-Attributes: Set resource object attributes. + IPP_OP_CREATE_RESOURCE_SUBSCRIPTIONS, // Create-Resource-Subscriptions: Create event subscriptions for a resource. + IPP_OP_CREATE_SYSTEM_SUBSCRIPTIONS, // Create-System-Subscriptions: Create event subscriptions for a system. + IPP_OP_DISABLE_ALL_PRINTERS, // Disable-All-Printers: Stop accepting new jobs on all services. + IPP_OP_ENABLE_ALL_PRINTERS, // Enable-All-Printers: Start accepting new jobs on all services. + IPP_OP_GET_SYSTEM_ATTRIBUTES, // Get-System-Attributes: Get system object attributes. + IPP_OP_GET_SYSTEM_SUPPORTED_VALUES, // Get-System-Supported-Values: Get supported values for system object attributes. + IPP_OP_PAUSE_ALL_PRINTERS, // Pause-All-Printers: Stop all services immediately. IPP_OP_PAUSE_ALL_PRINTERS_AFTER_CURRENT_JOB, - /* Pause-All-Printers-After-Current-Job: Stop all services after processing the current jobs. */ - IPP_OP_REGISTER_OUTPUT_DEVICE, /* Register-Output-Device: Register a remote service. */ - IPP_OP_RESTART_SYSTEM, /* Restart-System: Restart all services. */ - IPP_OP_RESUME_ALL_PRINTERS, /* Resume-All-Printers: Start job processing on all services. */ - IPP_OP_SET_SYSTEM_ATTRIBUTES, /* Set-System-Attributes: Set system object attributes. */ - IPP_OP_SHUTDOWN_ALL_PRINTERS, /* Shutdown-All-Printers: Shutdown all services. */ - IPP_OP_STARTUP_ALL_PRINTERS, /* Startup-All-Printers: Startup all services. */ - IPP_OP_GET_PRINTER_RESOURCES, /* Get-Printer-Resources: Get a list of resources for a printer */ - IPP_OP_GET_USER_PRINTER_ATTRIBUTES, /* Get-User-Printer-Attributes: Get printer capabilities with authentication */ - IPP_OP_RESTART_ONE_PRINTER, /* Restart-One-Printer: Restart a single printer/service */ + // Pause-All-Printers-After-Current-Job: Stop all services after processing the current jobs. + IPP_OP_REGISTER_OUTPUT_DEVICE, // Register-Output-Device: Register a remote service. + IPP_OP_RESTART_SYSTEM, // Restart-System: Restart all services. + IPP_OP_RESUME_ALL_PRINTERS, // Resume-All-Printers: Start job processing on all services. + IPP_OP_SET_SYSTEM_ATTRIBUTES, // Set-System-Attributes: Set system object attributes. + IPP_OP_SHUTDOWN_ALL_PRINTERS, // Shutdown-All-Printers: Shutdown all services. + IPP_OP_STARTUP_ALL_PRINTERS, // Startup-All-Printers: Startup all services. + IPP_OP_GET_PRINTER_RESOURCES, // Get-Printer-Resources: Get a list of resources for a printer + IPP_OP_GET_USER_PRINTER_ATTRIBUTES, // Get-User-Printer-Attributes: Get printer capabilities with authentication + IPP_OP_RESTART_ONE_PRINTER, // Restart-One-Printer: Restart a single printer/service IPP_OP_ACKNOWLEDGE_ENCRYPTED_JOB_ATTRIBUTES, - /* Acknowledge-Encrypted-Job-Attributes: Acknowledge receipt of encrypted job attributes */ - IPP_OP_FETCH_ENCRYPTED_JOB_ATTRIBUTES,/* Fetch-Encrypted-Job-Attributes: Download encrypted job attributes */ - IPP_OP_GET_ENCRYPTED_JOB_ATTRIBUTES, /* Get-Encrypted-Job-Attributes: Query job attributes and return in an encrypted form */ - - IPP_OP_PRIVATE = 0x4000, /* Reserved @private@ */ - IPP_OP_CUPS_GET_DEFAULT, /* CUPS-Get-Default: Get the default printer */ - IPP_OP_CUPS_GET_PRINTERS, /* CUPS-Get-Printers: Get a list of printers and/or classes */ - IPP_OP_CUPS_ADD_MODIFY_PRINTER, /* CUPS-Add-Modify-Printer: Add or modify a printer */ - IPP_OP_CUPS_DELETE_PRINTER, /* CUPS-Delete-Printer: Delete a printer */ - IPP_OP_CUPS_GET_CLASSES, /* CUPS-Get-Classes: Get a list of classes @deprecated@ @exclude all@ */ - IPP_OP_CUPS_ADD_MODIFY_CLASS, /* CUPS-Add-Modify-Class: Add or modify a class */ - IPP_OP_CUPS_DELETE_CLASS, /* CUPS-Delete-Class: Delete a class */ - IPP_OP_CUPS_ACCEPT_JOBS, /* CUPS-Accept-Jobs: Accept new jobs on a printer @exclude all@ */ - IPP_OP_CUPS_REJECT_JOBS, /* CUPS-Reject-Jobs: Reject new jobs on a printer @exclude all@ */ - IPP_OP_CUPS_SET_DEFAULT, /* CUPS-Set-Default: Set the default printer */ - IPP_OP_CUPS_GET_DEVICES, /* CUPS-Get-Devices: Get a list of supported devices @deprecated@ */ - IPP_OP_CUPS_GET_PPDS, /* CUPS-Get-PPDs: Get a list of supported drivers @deprecated@ */ - IPP_OP_CUPS_MOVE_JOB, /* CUPS-Move-Job: Move a job to a different printer */ - IPP_OP_CUPS_AUTHENTICATE_JOB, /* CUPS-Authenticate-Job: Authenticate a job */ - IPP_OP_CUPS_GET_PPD, /* CUPS-Get-PPD: Get a PPD file @deprecated@ */ - IPP_OP_CUPS_GET_DOCUMENT = 0x4027, /* CUPS-Get-Document: Get a document file */ - IPP_OP_CUPS_CREATE_LOCAL_PRINTER /* CUPS-Create-Local-Printer: Create a local (temporary) printer */ + // Acknowledge-Encrypted-Job-Attributes: Acknowledge receipt of encrypted job attributes + IPP_OP_FETCH_ENCRYPTED_JOB_ATTRIBUTES,// Fetch-Encrypted-Job-Attributes: Download encrypted job attributes + IPP_OP_GET_ENCRYPTED_JOB_ATTRIBUTES, // Get-Encrypted-Job-Attributes: Query job attributes and return in an encrypted form + + IPP_OP_PRIVATE = 0x4000, // Reserved @private@ + IPP_OP_CUPS_GET_DEFAULT, // CUPS-Get-Default: Get the default printer + IPP_OP_CUPS_GET_PRINTERS, // CUPS-Get-Printers: Get a list of printers and/or classes + IPP_OP_CUPS_ADD_MODIFY_PRINTER, // CUPS-Add-Modify-Printer: Add or modify a printer + IPP_OP_CUPS_DELETE_PRINTER, // CUPS-Delete-Printer: Delete a printer + IPP_OP_CUPS_GET_CLASSES, // CUPS-Get-Classes: Get a list of classes @deprecated@ @exclude all@ + IPP_OP_CUPS_ADD_MODIFY_CLASS, // CUPS-Add-Modify-Class: Add or modify a class + IPP_OP_CUPS_DELETE_CLASS, // CUPS-Delete-Class: Delete a class + IPP_OP_CUPS_ACCEPT_JOBS, // CUPS-Accept-Jobs: Accept new jobs on a printer @exclude all@ + IPP_OP_CUPS_REJECT_JOBS, // CUPS-Reject-Jobs: Reject new jobs on a printer @exclude all@ + IPP_OP_CUPS_SET_DEFAULT, // CUPS-Set-Default: Set the default printer + IPP_OP_CUPS_GET_DEVICES, // CUPS-Get-Devices: Get a list of supported devices @deprecated@ + IPP_OP_CUPS_GET_PPDS, // CUPS-Get-PPDs: Get a list of supported drivers @deprecated@ + IPP_OP_CUPS_MOVE_JOB, // CUPS-Move-Job: Move a job to a different printer + IPP_OP_CUPS_AUTHENTICATE_JOB, // CUPS-Authenticate-Job: Authenticate a job + IPP_OP_CUPS_GET_PPD, // CUPS-Get-PPD: Get a PPD file @deprecated@ + IPP_OP_CUPS_GET_DOCUMENT = 0x4027, // CUPS-Get-Document: Get a document file + IPP_OP_CUPS_CREATE_LOCAL_PRINTER // CUPS-Create-Local-Printer: Create a local (temporary) printer } ipp_op_t; -typedef enum ipp_orient_e /**** "orientation-requested" values ****/ +typedef enum ipp_orient_e // "orientation-requested" values { - IPP_ORIENT_PORTRAIT = 3, /* No rotation */ - IPP_ORIENT_LANDSCAPE, /* 90 degrees counter-clockwise */ - IPP_ORIENT_REVERSE_LANDSCAPE, /* 90 degrees clockwise */ - IPP_ORIENT_REVERSE_PORTRAIT, /* 180 degrees */ - IPP_ORIENT_NONE /* No rotation */ + IPP_ORIENT_PORTRAIT = 3, // No rotation + IPP_ORIENT_LANDSCAPE, // 90 degrees counter-clockwise + IPP_ORIENT_REVERSE_LANDSCAPE, // 90 degrees clockwise + IPP_ORIENT_REVERSE_PORTRAIT, // 180 degrees + IPP_ORIENT_NONE // No rotation } ipp_orient_t; -typedef enum ipp_pstate_e /**** "printer-state" values ****/ +typedef enum ipp_pstate_e // "printer-state" values { - IPP_PSTATE_IDLE = 3, /* Printer is idle */ - IPP_PSTATE_PROCESSING, /* Printer is working */ - IPP_PSTATE_STOPPED /* Printer is stopped */ + IPP_PSTATE_IDLE = 3, // Printer is idle + IPP_PSTATE_PROCESSING, // Printer is working + IPP_PSTATE_STOPPED // Printer is stopped } ipp_pstate_t; -typedef enum ipp_quality_e /**** "print-quality" values ****/ +typedef enum ipp_quality_e // "print-quality" values { - IPP_QUALITY_DRAFT = 3, /* Draft quality */ - IPP_QUALITY_NORMAL, /* Normal quality */ - IPP_QUALITY_HIGH /* High quality */ + IPP_QUALITY_DRAFT = 3, // Draft quality + IPP_QUALITY_NORMAL, // Normal quality + IPP_QUALITY_HIGH // High quality } ipp_quality_t; -typedef enum ipp_res_e /**** Resolution units ****/ +typedef enum ipp_res_e // Resolution units { - IPP_RES_PER_INCH = 3, /* Pixels per inch */ - IPP_RES_PER_CM /* Pixels per centimeter */ + IPP_RES_PER_INCH = 3, // Pixels per inch + IPP_RES_PER_CM // Pixels per centimeter } ipp_res_t; -typedef enum ipp_rstate_e /**** "resource-state" values ****/ +typedef enum ipp_rstate_e // "resource-state" values { - IPP_RSTATE_PENDING = 3, /* Resource is created but has no data yet. */ - IPP_RSTATE_AVAILABLE, /* Resource is available for installation. */ - IPP_RSTATE_INSTALLED, /* Resource is installed. */ - IPP_RSTATE_CANCELED, /* Resource has been canceled and is pending deletion. */ - IPP_RSTATE_ABORTED /* Resource has been aborted and is pending deletion. */ + IPP_RSTATE_PENDING = 3, // Resource is created but has no data yet. + IPP_RSTATE_AVAILABLE, // Resource is available for installation. + IPP_RSTATE_INSTALLED, // Resource is installed. + IPP_RSTATE_CANCELED, // Resource has been canceled and is pending deletion. + IPP_RSTATE_ABORTED // Resource has been aborted and is pending deletion. } ipp_rstate_t; -typedef enum ipp_sstate_e /**** "system-state" values ****/ +typedef enum ipp_sstate_e // "system-state" values { - IPP_SSTATE_IDLE = 3, /* At least one printer is idle and none are processing a job. */ - IPP_SSTATE_PROCESSING, /* At least one printer is processing a job. */ - IPP_SSTATE_STOPPED /* All printers are stopped. */ + IPP_SSTATE_IDLE = 3, // At least one printer is idle and none are processing a job. + IPP_SSTATE_PROCESSING, // At least one printer is processing a job. + IPP_SSTATE_STOPPED // All printers are stopped. } ipp_sstate_t; -typedef enum ipp_state_e /**** `ipp_t` state values ****/ +typedef enum ipp_state_e // `ipp_t` state values { - IPP_STATE_ERROR = -1, /* An error occurred */ - IPP_STATE_IDLE, /* Nothing is happening/request completed */ - IPP_STATE_HEADER, /* The request header needs to be sent/received */ - IPP_STATE_ATTRIBUTE, /* One or more attributes need to be sent/received */ - IPP_STATE_DATA /* IPP request data needs to be sent/received */ + IPP_STATE_ERROR = -1, // An error occurred + IPP_STATE_IDLE, // Nothing is happening/request completed + IPP_STATE_HEADER, // The request header needs to be sent/received + IPP_STATE_ATTRIBUTE, // One or more attributes need to be sent/received + IPP_STATE_DATA // IPP request data needs to be sent/received } ipp_state_t; -typedef enum ipp_status_e /**** IPP status code values ****/ +typedef enum ipp_status_e // IPP status code values { - IPP_STATUS_CUPS_INVALID = -1, /* Invalid status name for @link ippErrorValue@ */ - IPP_STATUS_OK = 0x0000, /* successful-ok */ - IPP_STATUS_OK_IGNORED_OR_SUBSTITUTED, /* successful-ok-ignored-or-substituted-attributes */ - IPP_STATUS_OK_CONFLICTING, /* successful-ok-conflicting-attributes */ - IPP_STATUS_OK_IGNORED_SUBSCRIPTIONS, /* successful-ok-ignored-subscriptions */ - IPP_STATUS_OK_IGNORED_NOTIFICATIONS, /* successful-ok-ignored-notifications @private@ */ - IPP_STATUS_OK_TOO_MANY_EVENTS, /* successful-ok-too-many-events */ - IPP_STATUS_OK_BUT_CANCEL_SUBSCRIPTION,/* successful-ok-but-cancel-subscription @private@ */ - IPP_STATUS_OK_EVENTS_COMPLETE, /* successful-ok-events-complete */ + IPP_STATUS_CUPS_INVALID = -1, // Invalid status name for @link ippErrorValue@ + IPP_STATUS_OK = 0x0000, // successful-ok + IPP_STATUS_OK_IGNORED_OR_SUBSTITUTED, // successful-ok-ignored-or-substituted-attributes + IPP_STATUS_OK_CONFLICTING, // successful-ok-conflicting-attributes + IPP_STATUS_OK_IGNORED_SUBSCRIPTIONS, // successful-ok-ignored-subscriptions + IPP_STATUS_OK_IGNORED_NOTIFICATIONS, // successful-ok-ignored-notifications @private@ + IPP_STATUS_OK_TOO_MANY_EVENTS, // successful-ok-too-many-events + IPP_STATUS_OK_BUT_CANCEL_SUBSCRIPTION,// successful-ok-but-cancel-subscription @private@ + IPP_STATUS_OK_EVENTS_COMPLETE, // successful-ok-events-complete IPP_STATUS_REDIRECTION_OTHER_SITE = 0x0200, - /* redirection-other-site @private@ */ - IPP_STATUS_CUPS_SEE_OTHER = 0x0280, /* cups-see-other @private@ */ - IPP_STATUS_ERROR_BAD_REQUEST = 0x0400,/* client-error-bad-request */ - IPP_STATUS_ERROR_FORBIDDEN, /* client-error-forbidden */ - IPP_STATUS_ERROR_NOT_AUTHENTICATED, /* client-error-not-authenticated */ - IPP_STATUS_ERROR_NOT_AUTHORIZED, /* client-error-not-authorized */ - IPP_STATUS_ERROR_NOT_POSSIBLE, /* client-error-not-possible */ - IPP_STATUS_ERROR_TIMEOUT, /* client-error-timeout */ - IPP_STATUS_ERROR_NOT_FOUND, /* client-error-not-found */ - IPP_STATUS_ERROR_GONE, /* client-error-gone */ - IPP_STATUS_ERROR_REQUEST_ENTITY, /* client-error-request-entity-too-large */ - IPP_STATUS_ERROR_REQUEST_VALUE, /* client-error-request-value-too-long */ + // redirection-other-site @private@ + IPP_STATUS_CUPS_SEE_OTHER = 0x0280, // cups-see-other @private@ + IPP_STATUS_ERROR_BAD_REQUEST = 0x0400,// client-error-bad-request + IPP_STATUS_ERROR_FORBIDDEN, // client-error-forbidden + IPP_STATUS_ERROR_NOT_AUTHENTICATED, // client-error-not-authenticated + IPP_STATUS_ERROR_NOT_AUTHORIZED, // client-error-not-authorized + IPP_STATUS_ERROR_NOT_POSSIBLE, // client-error-not-possible + IPP_STATUS_ERROR_TIMEOUT, // client-error-timeout + IPP_STATUS_ERROR_NOT_FOUND, // client-error-not-found + IPP_STATUS_ERROR_GONE, // client-error-gone + IPP_STATUS_ERROR_REQUEST_ENTITY, // client-error-request-entity-too-large + IPP_STATUS_ERROR_REQUEST_VALUE, // client-error-request-value-too-long IPP_STATUS_ERROR_DOCUMENT_FORMAT_NOT_SUPPORTED, - /* client-error-document-format-not-supported */ - IPP_STATUS_ERROR_ATTRIBUTES_OR_VALUES,/* client-error-attributes-or-values-not-supported */ - IPP_STATUS_ERROR_URI_SCHEME, /* client-error-uri-scheme-not-supported */ - IPP_STATUS_ERROR_CHARSET, /* client-error-charset-not-supported */ - IPP_STATUS_ERROR_CONFLICTING, /* client-error-conflicting-attributes */ + // client-error-document-format-not-supported + IPP_STATUS_ERROR_ATTRIBUTES_OR_VALUES,// client-error-attributes-or-values-not-supported + IPP_STATUS_ERROR_URI_SCHEME, // client-error-uri-scheme-not-supported + IPP_STATUS_ERROR_CHARSET, // client-error-charset-not-supported + IPP_STATUS_ERROR_CONFLICTING, // client-error-conflicting-attributes IPP_STATUS_ERROR_COMPRESSION_NOT_SUPPORTED, - /* client-error-compression-not-supported */ - IPP_STATUS_ERROR_COMPRESSION_ERROR, /* client-error-compression-error */ + // client-error-compression-not-supported + IPP_STATUS_ERROR_COMPRESSION_ERROR, // client-error-compression-error IPP_STATUS_ERROR_DOCUMENT_FORMAT_ERROR, - /* client-error-document-format-error */ - IPP_STATUS_ERROR_DOCUMENT_ACCESS, /* client-error-document-access-error */ + // client-error-document-format-error + IPP_STATUS_ERROR_DOCUMENT_ACCESS, // client-error-document-access-error IPP_STATUS_ERROR_ATTRIBUTES_NOT_SETTABLE, - /* client-error-attributes-not-settable */ + // client-error-attributes-not-settable IPP_STATUS_ERROR_IGNORED_ALL_SUBSCRIPTIONS, - /* client-error-ignored-all-subscriptions */ + // client-error-ignored-all-subscriptions IPP_STATUS_ERROR_TOO_MANY_SUBSCRIPTIONS, - /* client-error-too-many-subscriptions */ + // client-error-too-many-subscriptions IPP_STATUS_ERROR_IGNORED_ALL_NOTIFICATIONS, - /* client-error-ignored-all-notifications @private@ */ + // client-error-ignored-all-notifications @private@ IPP_STATUS_ERROR_PRINT_SUPPORT_FILE_NOT_FOUND, - /* client-error-print-support-file-not-found @private@ */ - IPP_STATUS_ERROR_DOCUMENT_PASSWORD, /* client-error-document-password-error */ - IPP_STATUS_ERROR_DOCUMENT_PERMISSION, /* client-error-document-permission-error */ - IPP_STATUS_ERROR_DOCUMENT_SECURITY, /* client-error-document-security-error */ - IPP_STATUS_ERROR_DOCUMENT_UNPRINTABLE,/* client-error-document-unprintable-error */ - IPP_STATUS_ERROR_ACCOUNT_INFO_NEEDED, /* client-error-account-info-needed */ - IPP_STATUS_ERROR_ACCOUNT_CLOSED, /* client-error-account-closed */ + // client-error-print-support-file-not-found @private@ + IPP_STATUS_ERROR_DOCUMENT_PASSWORD, // client-error-document-password-error + IPP_STATUS_ERROR_DOCUMENT_PERMISSION, // client-error-document-permission-error + IPP_STATUS_ERROR_DOCUMENT_SECURITY, // client-error-document-security-error + IPP_STATUS_ERROR_DOCUMENT_UNPRINTABLE,// client-error-document-unprintable-error + IPP_STATUS_ERROR_ACCOUNT_INFO_NEEDED, // client-error-account-info-needed + IPP_STATUS_ERROR_ACCOUNT_CLOSED, // client-error-account-closed IPP_STATUS_ERROR_ACCOUNT_LIMIT_REACHED, - /* client-error-account-limit-reached */ + // client-error-account-limit-reached IPP_STATUS_ERROR_ACCOUNT_AUTHORIZATION_FAILED, - /* client-error-account-authorization-failed */ - IPP_STATUS_ERROR_NOT_FETCHABLE, /* client-error-not-fetchable */ + // client-error-account-authorization-failed + IPP_STATUS_ERROR_NOT_FETCHABLE, // client-error-not-fetchable - IPP_STATUS_ERROR_INTERNAL = 0x0500, /* server-error-internal-error */ + IPP_STATUS_ERROR_INTERNAL = 0x0500, // server-error-internal-error IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED, - /* server-error-operation-not-supported */ - IPP_STATUS_ERROR_SERVICE_UNAVAILABLE, /* server-error-service-unavailable */ + // server-error-operation-not-supported + IPP_STATUS_ERROR_SERVICE_UNAVAILABLE, // server-error-service-unavailable IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED, - /* server-error-version-not-supported */ - IPP_STATUS_ERROR_DEVICE, /* server-error-device-error */ - IPP_STATUS_ERROR_TEMPORARY, /* server-error-temporary-error */ - IPP_STATUS_ERROR_NOT_ACCEPTING_JOBS, /* server-error-not-accepting-jobs */ - IPP_STATUS_ERROR_BUSY, /* server-error-busy */ - IPP_STATUS_ERROR_JOB_CANCELED, /* server-error-job-canceled */ + // server-error-version-not-supported + IPP_STATUS_ERROR_DEVICE, // server-error-device-error + IPP_STATUS_ERROR_TEMPORARY, // server-error-temporary-error + IPP_STATUS_ERROR_NOT_ACCEPTING_JOBS, // server-error-not-accepting-jobs + IPP_STATUS_ERROR_BUSY, // server-error-busy + IPP_STATUS_ERROR_JOB_CANCELED, // server-error-job-canceled IPP_STATUS_ERROR_MULTIPLE_JOBS_NOT_SUPPORTED, - /* server-error-multiple-document-jobs-not-supported */ + // server-error-multiple-document-jobs-not-supported IPP_STATUS_ERROR_PRINTER_IS_DEACTIVATED, - /* server-error-printer-is-deactivated */ - IPP_STATUS_ERROR_TOO_MANY_JOBS, /* server-error-too-many-jobs */ - IPP_STATUS_ERROR_TOO_MANY_DOCUMENTS, /* server-error-too-many-documents */ + // server-error-printer-is-deactivated + IPP_STATUS_ERROR_TOO_MANY_JOBS, // server-error-too-many-jobs + IPP_STATUS_ERROR_TOO_MANY_DOCUMENTS, // server-error-too-many-documents - /* These are internal and never sent over the wire... */ + // These are internal and never sent over the wire... IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED = 0x1000, - /* cups-authentication-canceled - Authentication canceled by user */ - IPP_STATUS_ERROR_CUPS_PKI, /* cups-pki-error - Error negotiating a secure connection */ - IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED/* cups-upgrade-required - TLS upgrade required */ + // cups-authentication-canceled - Authentication canceled by user + IPP_STATUS_ERROR_CUPS_PKI, // cups-pki-error - Error negotiating a secure connection + IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED// cups-upgrade-required - TLS upgrade required } ipp_status_t; -typedef enum ipp_tag_e /**** Value and group tag values for attributes ****/ +typedef enum ipp_tag_e // Value and group tag values for attributes { - IPP_TAG_CUPS_INVALID = -1, /* Invalid tag name for @link ippTagValue@ */ - IPP_TAG_ZERO = 0x00, /* Zero tag - used for separators */ - IPP_TAG_OPERATION, /* Operation group */ - IPP_TAG_JOB, /* Job group */ - IPP_TAG_END, /* End-of-attributes */ - IPP_TAG_PRINTER, /* Printer group */ - IPP_TAG_UNSUPPORTED_GROUP, /* Unsupported attributes group */ - IPP_TAG_SUBSCRIPTION, /* Subscription group */ - IPP_TAG_EVENT_NOTIFICATION, /* Event group */ - IPP_TAG_RESOURCE, /* Resource group */ - IPP_TAG_DOCUMENT, /* Document group */ - IPP_TAG_SYSTEM, /* System group */ - IPP_TAG_UNSUPPORTED_VALUE = 0x10, /* Unsupported value */ - IPP_TAG_DEFAULT, /* Default value */ - IPP_TAG_UNKNOWN, /* Unknown value */ - IPP_TAG_NOVALUE, /* No-value value */ - IPP_TAG_NOTSETTABLE = 0x15, /* Not-settable value */ - IPP_TAG_DELETEATTR, /* Delete-attribute value */ - IPP_TAG_ADMINDEFINE, /* Admin-defined value */ - IPP_TAG_INTEGER = 0x21, /* Integer value */ - IPP_TAG_BOOLEAN, /* Boolean value */ - IPP_TAG_ENUM, /* Enumeration value */ - IPP_TAG_STRING = 0x30, /* Octet string value */ - IPP_TAG_DATE, /* Date/time value */ - IPP_TAG_RESOLUTION, /* Resolution value */ - IPP_TAG_RANGE, /* Range value */ - IPP_TAG_BEGIN_COLLECTION, /* Beginning of collection value @exclude all@ */ - IPP_TAG_TEXTLANG, /* Text-with-language value */ - IPP_TAG_NAMELANG, /* Name-with-language value */ - IPP_TAG_END_COLLECTION, /* End of collection value @exclude all@ */ - IPP_TAG_TEXT = 0x41, /* Text value */ - IPP_TAG_NAME, /* Name value */ - IPP_TAG_RESERVED_STRING, /* Reserved for future string value @private@ */ - IPP_TAG_KEYWORD, /* Keyword value */ - IPP_TAG_URI, /* URI value */ - IPP_TAG_URISCHEME, /* URI scheme value */ - IPP_TAG_CHARSET, /* Character set value */ - IPP_TAG_LANGUAGE, /* Language value */ - IPP_TAG_MIMETYPE, /* MIME media type value */ - IPP_TAG_MEMBERNAME, /* Collection member name value @exclude all@ */ - IPP_TAG_EXTENSION = 0x7f, /* Extension point for 32-bit tags @exclude all@ */ - IPP_TAG_CUPS_MASK = 0x7fffffff, /* Mask for copied attribute values @private@ */ - /* The following expression is used to avoid compiler warnings with +/-0x80000000 */ - IPP_TAG_CUPS_CONST = -0x7fffffff-1 /* Bitflag for copied/const attribute values @private@ */ + IPP_TAG_CUPS_INVALID = -1, // Invalid tag name for @link ippTagValue@ + IPP_TAG_ZERO = 0x00, // Zero tag - used for separators + IPP_TAG_OPERATION, // Operation group + IPP_TAG_JOB, // Job group + IPP_TAG_END, // End-of-attributes + IPP_TAG_PRINTER, // Printer group + IPP_TAG_UNSUPPORTED_GROUP, // Unsupported attributes group + IPP_TAG_SUBSCRIPTION, // Subscription group + IPP_TAG_EVENT_NOTIFICATION, // Event group + IPP_TAG_RESOURCE, // Resource group + IPP_TAG_DOCUMENT, // Document group + IPP_TAG_SYSTEM, // System group + IPP_TAG_UNSUPPORTED_VALUE = 0x10, // Unsupported value + IPP_TAG_DEFAULT, // Default value + IPP_TAG_UNKNOWN, // Unknown value + IPP_TAG_NOVALUE, // No-value value + IPP_TAG_NOTSETTABLE = 0x15, // Not-settable value + IPP_TAG_DELETEATTR, // Delete-attribute value + IPP_TAG_ADMINDEFINE, // Admin-defined value + IPP_TAG_INTEGER = 0x21, // Integer value + IPP_TAG_BOOLEAN, // Boolean value + IPP_TAG_ENUM, // Enumeration value + IPP_TAG_STRING = 0x30, // Octet string value + IPP_TAG_DATE, // Date/time value + IPP_TAG_RESOLUTION, // Resolution value + IPP_TAG_RANGE, // Range value + IPP_TAG_BEGIN_COLLECTION, // Beginning of collection value @exclude all@ + IPP_TAG_TEXTLANG, // Text-with-language value + IPP_TAG_NAMELANG, // Name-with-language value + IPP_TAG_END_COLLECTION, // End of collection value @exclude all@ + IPP_TAG_TEXT = 0x41, // Text value + IPP_TAG_NAME, // Name value + IPP_TAG_RESERVED_STRING, // Reserved for future string value @private@ + IPP_TAG_KEYWORD, // Keyword value + IPP_TAG_URI, // URI value + IPP_TAG_URISCHEME, // URI scheme value + IPP_TAG_CHARSET, // Character set value + IPP_TAG_LANGUAGE, // Language value + IPP_TAG_MIMETYPE, // MIME media type value + IPP_TAG_MEMBERNAME, // Collection member name value @exclude all@ + IPP_TAG_EXTENSION = 0x7f, // Extension point for 32-bit tags @exclude all@ + IPP_TAG_CUPS_MASK = 0x7fffffff, // Mask for copied attribute values @private@ + // The following expression is used to avoid compiler warnings with +/-0x80000000 + IPP_TAG_CUPS_CONST = -0x7fffffff-1 // Bitflag for copied/const attribute values @private@ } ipp_tag_t; -typedef unsigned char ipp_uchar_t; /**** Unsigned 8-bit integer/character ****/ -typedef struct _ipp_s ipp_t; /**** IPP request/response data ****/ +typedef unsigned char ipp_uchar_t; // Unsigned 8-bit integer/character +typedef struct _ipp_s ipp_t; // IPP request/response data typedef struct _ipp_attribute_s ipp_attribute_t; - /**** IPP attribute ****/ + // IPP attribute + +typedef struct _ipp_file_s ipp_file_t; // IPP data file +typedef bool (*ipp_fattr_cb_t)(ipp_file_t *file, void *cb_data, const char *name); + // IPP data file attribute callback +typedef bool (*ipp_ferror_cb_t)(ipp_file_t *file, void *cb_data, const char *error); + // IPP data file error callback +typedef bool (*ipp_ftoken_cb_t)(ipp_file_t *file, void *cb_data, const char *token); + // IPP data file token callback typedef ssize_t (*ipp_iocb_t)(void *context, ipp_uchar_t *buffer, size_t bytes); - /**** ippReadIO/ippWriteIO callback function ****/ + // ippReadIO/ippWriteIO callback function -typedef int (*ipp_copycb_t)(void *context, ipp_t *dst, ipp_attribute_t *attr); - /**** ippCopyAttributes callback function @since CUPS 1.6 ****/ +typedef bool (*ipp_copycb_t)(void *context, ipp_t *dst, ipp_attribute_t *attr); + // ippCopyAttributes callback function -/* - * Prototypes... - */ +// +// Prototypes... +// extern ipp_attribute_t *ippAddBoolean(ipp_t *ipp, ipp_tag_t group, const char *name, bool value) _CUPS_PUBLIC; extern ipp_attribute_t *ippAddBooleans(ipp_t *ipp, ipp_tag_t group, const char *name, size_t num_values, const bool *values) _CUPS_PUBLIC; @@ -546,22 +554,50 @@ extern ipp_attribute_t *ippAddStringf(ipp_t *ipp, ipp_tag_t group, ipp_tag_t val extern ipp_attribute_t *ippAddStringfv(ipp_t *ipp, ipp_tag_t group, ipp_tag_t value_tag, const char *name, const char *language, const char *format, va_list ap) _CUPS_PUBLIC; extern ipp_attribute_t *ippAddStrings(ipp_t *ipp, ipp_tag_t group, ipp_tag_t value_tag, const char *name, size_t num_values, const char *language, const char * const *values) _CUPS_PUBLIC; extern size_t ippAttributeString(ipp_attribute_t *attr, char *buffer, size_t bufsize) _CUPS_PUBLIC; + extern int ippContainsInteger(ipp_attribute_t *attr, int value) _CUPS_PUBLIC; extern int ippContainsString(ipp_attribute_t *attr, const char *value) _CUPS_PUBLIC; extern ipp_attribute_t *ippCopyAttribute(ipp_t *dst, ipp_attribute_t *attr, int quickcopy) _CUPS_PUBLIC; extern int ippCopyAttributes(ipp_t *dst, ipp_t *src, int quickcopy, ipp_copycb_t cb, void *context) _CUPS_PUBLIC; extern cups_array_t *ippCreateRequestedArray(ipp_t *request) _CUPS_PUBLIC; + extern time_t ippDateToTime(const ipp_uchar_t *date) _CUPS_PUBLIC; extern void ippDelete(ipp_t *ipp) _CUPS_PUBLIC; extern void ippDeleteAttribute(ipp_t *ipp, ipp_attribute_t *attr) _CUPS_PUBLIC; extern int ippDeleteValues(ipp_t *ipp, ipp_attribute_t **attr, size_t element, size_t count) _CUPS_PUBLIC; + extern const char *ippEnumString(const char *attrname, int enumvalue) _CUPS_PUBLIC; extern int ippEnumValue(const char *attrname, const char *enumstring) _CUPS_PUBLIC; extern const char *ippErrorString(ipp_status_t error) _CUPS_PUBLIC; extern ipp_status_t ippErrorValue(const char *name) _CUPS_PUBLIC; + +extern bool ippFileClose(ipp_file_t *file) _CUPS_PUBLIC; +extern bool ippFileDelete(ipp_file_t *file) _CUPS_PUBLIC; +extern size_t ippFileExpandVars(ipp_file_t *file, char *dst, const char *src, size_t dstsize) _CUPS_PUBLIC; +extern ipp_attribute_t *ippFileGetAttribute(ipp_file_t *file, const char *name, ipp_tag_t value_tag) _CUPS_PUBLIC; +extern ipp_t *ippFileGetAttributes(ipp_file_t *file) _CUPS_PUBLIC; +extern const char *ippFileGetFilename(ipp_file_t *file) _CUPS_PUBLIC; +extern int ippFileGetLineNumber(ipp_file_t *file) _CUPS_PUBLIC; +extern const char *ippFileGetVar(ipp_file_t *file, const char *name) _CUPS_PUBLIC; +extern ipp_file_t *ippFileNew(ipp_file_t *parent, ipp_fattr_cb_t attr_cb, ipp_ferror_cb_t error_cb, void *cb_data) _CUPS_PUBLIC; +extern bool ippFileOpen(ipp_file_t *file, const char *filename, const char *mode) _CUPS_PUBLIC; +extern bool ippFileRead(ipp_file_t *file, ipp_ftoken_cb_t token_cb, bool with_groups) _CUPS_PUBLIC; +extern bool ippFileReadToken(ipp_file_t *file, char *token, size_t tokensize) _CUPS_PUBLIC; +extern bool ippFileRestorePosition(ipp_file_t *file) _CUPS_PUBLIC; +extern bool ippFileSavePosition(ipp_file_t *file) _CUPS_PUBLIC; +extern bool ippFileSetAttributes(ipp_file_t *file, ipp_t *attrs) _CUPS_PUBLIC; +extern bool ippFileSetGroupTag(ipp_file_t *file, ipp_tag_t group_tag) _CUPS_PUBLIC; +extern bool ippFileSetVar(ipp_file_t *file, const char *name, const char *value) _CUPS_PUBLIC; +extern bool ippFileSetVarf(ipp_file_t *file, const char *name, const char *value, ...) _CUPS_FORMAT(3,4) _CUPS_PUBLIC; +extern bool ippFileWriteAttributes(ipp_file_t *file, ipp_t *ipp, bool with_groups) _CUPS_PUBLIC; +extern bool ippFileWriteComment(ipp_file_t *file, const char *comment, ...) _CUPS_FORMAT(2,3) _CUPS_PUBLIC; +extern bool ippFileWriteToken(ipp_file_t *file, const char *token) _CUPS_PUBLIC; +extern bool ippFileWriteTokenf(ipp_file_t *file, const char *token, ...) _CUPS_FORMAT(2,3) _CUPS_PUBLIC; + extern ipp_attribute_t *ippFindAttribute(ipp_t *ipp, const char *name, ipp_tag_t value_tag) _CUPS_PUBLIC; extern ipp_attribute_t *ippFindNextAttribute(ipp_t *ipp, const char *name, ipp_tag_t value_tag) _CUPS_PUBLIC; extern ipp_attribute_t *ippFirstAttribute(ipp_t *ipp) _CUPS_PUBLIC; + extern bool ippGetBoolean(ipp_attribute_t *attr, size_t element) _CUPS_PUBLIC; extern ipp_t *ippGetCollection(ipp_attribute_t *attr, size_t element) _CUPS_PUBLIC; extern size_t ippGetCount(ipp_attribute_t *attr) _CUPS_PUBLIC; @@ -579,17 +615,23 @@ extern ipp_status_t ippGetStatusCode(ipp_t *ipp) _CUPS_PUBLIC; extern const char *ippGetString(ipp_attribute_t *attr, size_t element, const char **language) _CUPS_PUBLIC; extern ipp_tag_t ippGetValueTag(ipp_attribute_t *attr) _CUPS_PUBLIC; extern int ippGetVersion(ipp_t *ipp, int *minor) _CUPS_PUBLIC; + extern size_t ippLength(ipp_t *ipp) _CUPS_PUBLIC; + extern ipp_t *ippNew(void) _CUPS_PUBLIC; extern ipp_t *ippNewRequest(ipp_op_t op) _CUPS_PUBLIC; extern ipp_t *ippNewResponse(ipp_t *request) _CUPS_PUBLIC; extern ipp_attribute_t *ippNextAttribute(ipp_t *ipp) _CUPS_PUBLIC; + extern const char *ippOpString(ipp_op_t op) _CUPS_PUBLIC; extern ipp_op_t ippOpValue(const char *name) _CUPS_PUBLIC; + extern int ippPort(void) _CUPS_PUBLIC; + extern ipp_state_t ippRead(http_t *http, ipp_t *ipp) _CUPS_PUBLIC; extern ipp_state_t ippReadFile(int fd, ipp_t *ipp) _CUPS_PUBLIC; extern ipp_state_t ippReadIO(void *src, ipp_iocb_t cb, bool blocking, ipp_t *parent, ipp_t *ipp) _CUPS_PUBLIC; + extern int ippSetBoolean(ipp_t *ipp, ipp_attribute_t **attr, size_t element, bool boolvalue) _CUPS_PUBLIC; extern int ippSetCollection(ipp_t *ipp, ipp_attribute_t **attr, size_t element, ipp_t *colvalue) _CUPS_PUBLIC; extern int ippSetDate(ipp_t *ipp, ipp_attribute_t **attr, size_t element, const ipp_uchar_t *datevalue) _CUPS_PUBLIC; @@ -610,11 +652,14 @@ extern int ippSetStringfv(ipp_t *ipp, ipp_attribute_t **attr, size_t element, c extern int ippSetValueTag(ipp_t *ipp, ipp_attribute_t **attr, ipp_tag_t value_tag) _CUPS_PUBLIC; extern int ippSetVersion(ipp_t *ipp, int major, int minor) _CUPS_PUBLIC; extern const char *ippStateString(ipp_state_t state) _CUPS_PUBLIC; + extern const char *ippTagString(ipp_tag_t tag) _CUPS_PUBLIC; extern ipp_tag_t ippTagValue(const char *name) _CUPS_PUBLIC; extern const ipp_uchar_t *ippTimeToDate(time_t t) _CUPS_PUBLIC; + extern int ippValidateAttribute(ipp_attribute_t *attr) _CUPS_PUBLIC; extern int ippValidateAttributes(ipp_t *ipp) _CUPS_PUBLIC; + extern ipp_state_t ippWrite(http_t *http, ipp_t *ipp) _CUPS_PUBLIC; extern ipp_state_t ippWriteFile(int fd, ipp_t *ipp) _CUPS_PUBLIC; extern ipp_state_t ippWriteIO(void *dst, ipp_iocb_t cb, bool blocking, ipp_t *parent, ipp_t *ipp) _CUPS_PUBLIC; @@ -622,5 +667,5 @@ extern ipp_state_t ippWriteIO(void *dst, ipp_iocb_t cb, bool blocking, ipp_t *pa # ifdef __cplusplus } -# endif /* __cplusplus */ -#endif /* !_CUPS_IPP_H_ */ +# endif // __cplusplus +#endif // !_CUPS_IPP_H_ diff --git a/cups/libcups3.def b/cups/libcups3.def index 21c5236f9..312dc887c 100644 --- a/cups/libcups3.def +++ b/cups/libcups3.def @@ -40,6 +40,8 @@ _cupsStrFree _cupsStrRetain _cupsStrScand _cupsStrStatistics +_cups_debug_printf +_cups_debug_puts _cups_debug_set _cups_gettimeofday _cups_hstrerror @@ -66,15 +68,8 @@ _httpTLSStop _httpTLSWrite _httpUpdate _httpWait -_ippFileParse -_ippFileReadToken +_ippCheckOptions _ippFindOption -_ippVarsDeinit -_ippVarsExpand -_ippVarsGet -_ippVarsInit -_ippVarsPasswordCB -_ippVarsSet _pwgMediaNearSize _pwgMediaTable cupsAddDest @@ -379,6 +374,28 @@ ippEnumString ippEnumValue ippErrorString ippErrorValue +ippFileClose +ippFileDelete +ippFileExpandVars +ippFileGetAttribute +ippFileGetAttributes +ippFileGetFilename +ippFileGetLineNumber +ippFileGetVar +ippFileNew +ippFileOpen +ippFileRead +ippFileReadToken +ippFileRestorePosition +ippFileSavePosition +ippFileSetAttributes +ippFileSetGroupTag +ippFileSetVar +ippFileSetVarf +ippFileWriteAttributes +ippFileWriteComment +ippFileWriteToken +ippFileWriteTokenf ippFindAttribute ippFindNextAttribute ippFirstAttribute diff --git a/cups/testipp.c b/cups/testipp.c index 933943f68..70d480b7a 100644 --- a/cups/testipp.c +++ b/cups/testipp.c @@ -1,7 +1,7 @@ /* * IPP unit test program for libcups. * - * Copyright © 2021 by OpenPrinting. + * Copyright © 2021-2022 by OpenPrinting. * Copyright © 2007-2019 by Apple Inc. * Copyright © 1997-2005 by Easy Software Products. * @@ -291,7 +291,7 @@ static ipp_uchar_t mixed[] = /* Mixed value buffer */ void print_attributes(ipp_t *ipp, int indent); ssize_t read_cb(_ippdata_t *data, ipp_uchar_t *buffer, size_t bytes); ssize_t read_hex(cups_file_t *fp, ipp_uchar_t *buffer, size_t bytes); -int token_cb(_ipp_file_t *f, _ipp_vars_t *v, void *user_data, const char *token); +bool token_cb(ipp_file_t *f, void *user_data, const char *token); ssize_t write_cb(_ippdata_t *data, ipp_uchar_t *buffer, size_t bytes); @@ -799,11 +799,14 @@ main(int argc, /* I - Number of command-line arguments */ * Read an ASCII IPP message... */ - _ipp_vars_t v; /* IPP variables */ + ipp_file_t *file; // IPP data file - _ippVarsInit(&v, NULL, NULL, token_cb); - request = _ippFileParse(&v, argv[i], NULL); - _ippVarsDeinit(&v); + file = ippFileNew(NULL, NULL, NULL, NULL); + request = ippNew(); + + ippFileOpen(file, argv[i], "r"); + ippFileRead(file, token_cb, true); + ippFileDelete(file); } else if (strlen(argv[i]) > 4 && !strcmp(argv[i] + strlen(argv[i]) - 4, ".hex")) { @@ -986,27 +989,21 @@ read_hex(cups_file_t *fp, /* I - File to read from */ * 'token_cb()' - Token callback for ASCII IPP data file parser. */ -int /* O - 1 on success, 0 on failure */ -token_cb(_ipp_file_t *f, /* I - IPP file data */ - _ipp_vars_t *v, /* I - IPP variables */ - void *user_data, /* I - User data pointer */ - const char *token) /* I - Token string */ +bool /* O - `true` on success, `false` on failure */ +token_cb(ipp_file_t *f, /* I - IPP file data */ + void *user_data, /* I - User data pointer */ + const char *token) /* I - Token string */ { - (void)v; (void)user_data; - if (!token) - { - f->attrs = ippNew(); - f->group_tag = IPP_TAG_PRINTER; - } - else + // TODO: Add a custom directive to test this. + if (strcasecmp(token, "TEST")) { - fprintf(stderr, "Unknown directive \"%s\" on line %d of \"%s\".\n", token, f->linenum, f->filename); - return (0); + fprintf(stderr, "Unknown directive '%s' on line %d of '%s'.\n", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - return (1); + return (true); } diff --git a/doc/IPPFILE.md b/doc/IPPFILE.md index 74fd2efb9..fbb419a6c 100644 --- a/doc/IPPFILE.md +++ b/doc/IPPFILE.md @@ -1,5 +1,5 @@ -IPP Tools File API -================== +IPP Data File API +================= API to read and write IPP attributes and other commands or data using a common base format that supports tools such as `ipptool` and `ippeveprinter`. @@ -21,6 +21,7 @@ An open IPP tools file with associated variables and callbacks. The following s - "scheme": URI scheme from the "uri" value, if any - "uri": URI, if any - "uriuser": Username from the "uri" value, if any +- "uripassword": Password from the "uri" value, if any - "user": Current login user typedef bool (*ipp_fattr_cb_t)(ipp_file_t *file, void *cb_data, const char *name); @@ -40,23 +41,42 @@ Public API ---------- ipp_file_t * - ippFileOpen(const char *filename, const char *mode, ipp_file_t *parent, - ipp_fattr_cb_t attr_cb, ipp_ferror_cb_t error_cb, - void *cb_data); + ippFileNew(ipp_file_t *parent, ipp_fattr_cb_t attr_cb, + ipp_ferror_cb_t error_cb, void *cb_data); -Open an IPP tools file for reading (mode = "r") or writing (mode = "w"). If an error occurs while opening the file, `NULL` is returned and the reason for the error can be found by calling the `cupsLastErrorString` function. If an error callback is specified, that function is also called with the error message. +Create a new IPP data file object. The "parent" pointer causes the new file to contain the same variables as the parent and is typically used when processing the `INCLUDE` directive. -The "parent" pointer causes the new file to contain the same variables as the parent and is typically used when processing the `INCLUDE` directive. + bool + ippFileOpen(ipp_file_t *file, const char *filename, const char *mode); + +Open an IPP tools file for reading (mode = "r") or writing (mode = "w"). bool ippFileClose(ipp_file_t *file); -Closes an IPP tools file, frees all memory used, and returns `true` on success or `false` on failure. +Closes an IPP tools file and returns `true` on success or `false` on failure. + + bool + ippFileDelete(ipp_file_t *file); + +Closes an IPP tools file (if needed), frees all memory used, and returns `true` on success or `false` on failure. + + size_t + ippFileExpandVars(ipp_file_t *file, char *dst, const char *src, + size_t dstsize); + +Expands variables in the source string, copying to the destination string. + + ipp_attribute_t * + ippFileGetAttribute(ipp_file_t *file, const char *name, + ipp_tag_t value_tag); + +Get the named IPP attribute if it has been read. ipp_t * ippFileGetAttributes(ipp_file_t *file); -Get the IPP attributes that have been read so far. You must call `ippDelete` or `cupsDo*Request` to free the resulting attributes. +Get the IPP attributes that have been read so far. const char * ippFileGetFilename(ipp_file_t *file); @@ -77,7 +97,7 @@ Gets the current line number in the file. Get and set file variables. Setting the "uri" variable also sets the "hostname", "port", "resource", "scheme", and "uriuser" variables. bool - ippFileRead(ipp_file_t *file, ipp_ftoken_cb_t token_cb); + ippFileRead(ipp_file_t *file, ipp_ftoken_cb_t token_cb, bool with_groups); Reads the IPP tools file using the specified token callback. @@ -87,9 +107,40 @@ Reads the IPP tools file using the specified token callback. Reads a single token from the file, returning `false` on end-of-file. bool - ippFileWrite(ipp_file_t *file, ipp_t *ipp); + ippFileRestorePosition(ipp_file_t *file); + + bool + ippFileSavePosition(ipp_file_t *file); + +Saves and restores the current read position in a file. + + bool + ippFileSetAttributes(ipp_file_t *file, ipp_t *attrs); + +Set the IPP message to add attributes to when reading. + + bool + ippFileSetGroupTag(ipp_file_t *file, ipp_tag_t group_tag); + +Set the current IPP group tag for new attributes. + + bool + ippFileSetVar(ipp_file_t *file, const char *name, const char *value); + + bool + ippFileSetVarf(ipp_file_t *file, const char *name, const char *value, ...); + +Set the named variable. + + bool + ippFileWriteAttributes(ipp_file_t *file, ipp_t *ipp, bool with_groups); + +Writes the attributes in "ipp" to the file, including "GROUP" directives when "with_groups" is `true`. Returns `false` on error or `true` on success. + + bool + ippFileWriteComment(ipp_file_t *file, const char *comment, ...); -Writes the attributes in "ipp" to the file. Returns `false` on error or `true` on success. +Writes a comment to the file. bool ippFileWriteToken(ipp_file_t *file, const char *token); diff --git a/examples/ipp-1.1.test b/examples/ipp-1.1.test index e406d0ecc..0dd69ad16 100644 --- a/examples/ipp-1.1.test +++ b/examples/ipp-1.1.test @@ -1,6 +1,7 @@ # # IPP/1.1 test suite. # +# Copyright © 2022 by OpenPrinting. # Copyright © 2007-2017 by Apple Inc. # Copyright © 2001-2006 by Easy Software Products. All rights reserved. # @@ -27,16 +28,16 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.1.1 { - NAME "RFC 8011 section 4.1.1: Bad request-id value 0" - REQUEST-ID 0 - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri + NAME "RFC 8011 section 4.1.1: Bad request-id value 0" + REQUEST-ID 0 + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri - STATUS client-error-bad-request - EXPECT !printer-uri-supported + STATUS client-error-bad-request + EXPECT !printer-uri-supported } @@ -45,55 +46,55 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.1.4 { - NAME "RFC 8011 section 4.1.4: No Operation Attributes" - REQUEST-ID random - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag + NAME "RFC 8011 section 4.1.4: No Operation Attributes" + REQUEST-ID random + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag - STATUS client-error-bad-request - EXPECT !printer-uri-supported + STATUS client-error-bad-request + EXPECT !printer-uri-supported } { - NAME "RFC 8011 section 4.1.4: attributes-charset" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR uri printer-uri $uri + NAME "RFC 8011 section 4.1.4: attributes-charset" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR uri printer-uri $uri - STATUS client-error-bad-request - EXPECT !printer-uri-supported + STATUS client-error-bad-request + EXPECT !printer-uri-supported } { - NAME "RFC 8011 section 4.1.4: attributes-natural-language" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri + NAME "RFC 8011 section 4.1.4: attributes-natural-language" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri - STATUS client-error-bad-request - EXPECT !printer-uri-supported + STATUS client-error-bad-request + EXPECT !printer-uri-supported } { - NAME "RFC 8011 section 4.1.4: attributes-natural-language + attributes-charset" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR naturalLanguage attributes-natural-language en - ATTR charset attributes-charset utf-8 - ATTR uri printer-uri $uri + NAME "RFC 8011 section 4.1.4: attributes-natural-language + attributes-charset" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR naturalLanguage attributes-natural-language en + ATTR charset attributes-charset utf-8 + ATTR uri printer-uri $uri - STATUS client-error-bad-request - EXPECT !printer-uri-supported + STATUS client-error-bad-request + EXPECT !printer-uri-supported } { - NAME "RFC 8011 section 4.1.4: attributes-charset + attributes-natural-language" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri + NAME "RFC 8011 section 4.1.4: attributes-charset + attributes-natural-language" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri - STATUS successful-ok - EXPECT printer-uri-supported OF-TYPE uri WITH-ALL-VALUES "$IPP_URI_SCHEME" + STATUS successful-ok + EXPECT printer-uri-supported OF-TYPE uri WITH-ALL-VALUES "$IPP_URI_SCHEME" } @@ -101,17 +102,17 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.1.8 { - # The name of the test... - NAME "RFC 8011 section 4.1.8: Unsupported IPP version 0.0" - VERSION 0.0 - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri + # The name of the test... + NAME "RFC 8011 section 4.1.8: Unsupported IPP version 0.0" + VERSION 0.0 + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri - STATUS server-error-version-not-supported - EXPECT !printer-uri-supported + STATUS server-error-version-not-supported + EXPECT !printer-uri-supported } @@ -119,14 +120,14 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2 { - NAME "RFC 8011 section 4.2: No printer-uri operation attribute" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en + NAME "RFC 8011 section 4.2: No printer-uri operation attribute" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en - STATUS client-error-bad-request - EXPECT !printer-uri-supported + STATUS client-error-bad-request + EXPECT !printer-uri-supported } @@ -134,55 +135,53 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.1 { - NAME "RFC 8011 section 4.2.1: Print-Job Operation" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype - FILE $filename - - STATUS successful-ok - STATUS client-error-document-format-not-supported - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + NAME "RFC 8011 section 4.2.1: Print-Job Operation" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + FILE $filename + + STATUS successful-ok + STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Test Validate-Job operation # # Required by: RFC 8011 section 4.2.3 { - NAME "RFC 8011 section 4.2.3: Validate-Job Operation" - OPERATION Validate-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype + NAME "RFC 8011 section 4.2.3: Validate-Job Operation" + OPERATION Validate-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype - STATUS successful-ok + STATUS successful-ok } @@ -190,143 +189,143 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.5 { - NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (default)" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format $filetype - - STATUS successful-ok - - # Display some useful information to identify the test - DISPLAY color-supported - DISPLAY compression-supported - DISPLAY document-format-supported - DISPLAY finishings-supported - DISPLAY ipp-versions-supported - DISPLAY job-sheets-supported - DISPLAY media-supported - DISPLAY number-up-supported - DISPLAY operations-supported - DISPLAY pages-per-minute - DISPLAY pages-per-minute-color - DISPLAY print-quality-supported - DISPLAY printer-uri-supported - DISPLAY reference-uri-schemes-supported - DISPLAY sizes-supported - DISPLAY uri-authentication-supported - DISPLAY uri-security-supported - - # Operations - EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job - EXPECT operations-supported WITH-VALUE 0x0003 DEFINE-MATCH OPTIONAL_PRINT_URI # Print-URI - EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job - EXPECT operations-supported WITH-VALUE 0x0005 DEFINE-MATCH OPTIONAL_CREATE_JOB # Create-Job - EXPECT operations-supported WITH-VALUE 0x0006 DEFINE-MATCH OPTIONAL_SEND_DOCUMENT # Send-Document - EXPECT operations-supported WITH-VALUE 0x0007 DEFINE-MATCH OPTIONAL_SEND_URI # Send-URI - EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job - EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes - EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs - EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes - EXPECT operations-supported WITH-VALUE 0x000c DEFINE-MATCH OPTIONAL_HOLD_JOB # Hold-Job - EXPECT operations-supported WITH-VALUE 0x000d DEFINE-MATCH OPTIONAL_RELEASE_JOB # Release-Job - EXPECT operations-supported WITH-VALUE 0x000e DEFINE-MATCH OPTIONAL_RESTART_JOB # Restart-Job - EXPECT operations-supported WITH-VALUE 0x0010 DEFINE-MATCH OPTIONAL_PAUSE_PRINTER # Pause-Printer - EXPECT operations-supported WITH-VALUE 0x0011 DEFINE-MATCH OPTIONAL_RESUME_PRINTER # Resume-Printer - EXPECT operations-supported WITH-VALUE 0x0012 DEFINE-MATCH OPTIONAL_PURGE_JOBS # Purge-Jobs - - # Job template attributes - EXPECT ?copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag - EXPECT ?finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag - EXPECT ?finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3 - EXPECT ?job-hold-until-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?job-hold-until-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE no-hold - EXPECT job-hold-until-default IF-DEFINED OPTIONAL_HOLD_JOB - EXPECT job-hold-until-supported IF-DEFINED OPTIONAL_HOLD_JOB - EXPECT ?job-priority-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 - EXPECT ?job-priority-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 - EXPECT ?job-sheets-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag - EXPECT ?job-sheets-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE none - EXPECT ?media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag - EXPECT ?media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag - EXPECT ?multiple-document-handling-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" - EXPECT ?multiple-document-handling-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" - EXPECT ?number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 - EXPECT ?number-up-supported WITH-VALUE 1 - EXPECT ?orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 - EXPECT ?orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6 - EXPECT ?pages-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag - EXPECT ?print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5 - EXPECT ?print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5 - EXPECT ?printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag - EXPECT ?sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" - EXPECT ?sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" - - # Job template attributes for specific tests... - EXPECT copies-supported WITH-VALUE >1 DEFINE-MATCH OPTIONAL_COPIES - EXPECT document-format-supported WITH-VALUE "application/pdf" DEFINE-MATCH OPTIONAL_PDF - EXPECT document-format-supported WITH-VALUE "application/postscript" DEFINE-MATCH OPTIONAL_POSTSCRIPT - EXPECT document-format-supported WITH-VALUE "image/jpeg" DEFINE-MATCH OPTIONAL_JPEG - EXPECT job-sheets-supported WITH-VALUE "standard" DEFINE-MATCH OPTIONAL_STANDARD_SHEET - EXPECT media-supported WITH-VALUE "a4" DEFINE-VALUE OPTIONAL_A4_MEDIA - EXPECT media-supported WITH-VALUE "iso-a4" DEFINE-VALUE OPTIONAL_A4_MEDIA - EXPECT media-supported WITH-VALUE "iso_a4_210x297mm" DEFINE-VALUE OPTIONAL_A4_MEDIA - EXPECT media-supported WITH-VALUE "letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA - EXPECT media-supported WITH-VALUE "na-letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA - EXPECT media-supported WITH-VALUE "na_letter_8.5x11in" DEFINE-VALUE OPTIONAL_LETTER_MEDIA - EXPECT media-supported WITH-VALUE "index-4x6" DEFINE-VALUE OPTIONAL_4X6_MEDIA - EXPECT media-supported WITH-VALUE "na_index-4x6_4x6in" DEFINE-VALUE OPTIONAL_4X6_MEDIA - EXPECT number-up-supported WITH-VALUE 2 DEFINE-MATCH OPTIONAL_2UP - EXPECT print-quality WITH-VALUE 3 DEFINE-MATCH OPTIONAL_DRAFT_QUALITY - EXPECT print-quality WITH-VALUE 4 DEFINE-MATCH OPTIONAL_NORMAL_QUALITY - EXPECT print-quality WITH-VALUE 5 DEFINE-MATCH OPTIONAL_BEST_QUALITY - EXPECT sides-supported WITH-VALUE "two-sided-long-edge" DEFINE-MATCH OPTIONAL_DUPLEX - - # Printer description attributes - EXPECT ?color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?job-impressions-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?job-k-octets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?job-media-sheets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?printer-driver-installer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT ?printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT ?printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT ?printer-message-from-operator OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" - EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" - EXPECT ?printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag - EXPECT ?reference-uri-schemes-supported OF-TYPE uriScheme IN-GROUP printer-attributes-tag - EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_PRINT_URI - EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_SEND_URI IF-NOT-DEFINED OPTIONAL_PRINT_URI - EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1 - EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8 - EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE none - EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1 - EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag - EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag - EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE 1.1 - EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1 - EXPECT pdl-override-supported OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5 - EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported WITH-ALL-VALUES "$IPP_URI_SCHEME" - EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 - EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported + NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (default)" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR mimeMediaType document-format $filetype + + STATUS successful-ok + + # Display some useful information to identify the test + DISPLAY color-supported + DISPLAY compression-supported + DISPLAY document-format-supported + DISPLAY finishings-supported + DISPLAY ipp-versions-supported + DISPLAY job-sheets-supported + DISPLAY media-supported + DISPLAY number-up-supported + DISPLAY operations-supported + DISPLAY pages-per-minute + DISPLAY pages-per-minute-color + DISPLAY print-quality-supported + DISPLAY printer-uri-supported + DISPLAY reference-uri-schemes-supported + DISPLAY sizes-supported + DISPLAY uri-authentication-supported + DISPLAY uri-security-supported + + # Operations + EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job + EXPECT operations-supported WITH-VALUE 0x0003 DEFINE-MATCH OPTIONAL_PRINT_URI # Print-URI + EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job + EXPECT operations-supported WITH-VALUE 0x0005 DEFINE-MATCH OPTIONAL_CREATE_JOB # Create-Job + EXPECT operations-supported WITH-VALUE 0x0006 DEFINE-MATCH OPTIONAL_SEND_DOCUMENT # Send-Document + EXPECT operations-supported WITH-VALUE 0x0007 DEFINE-MATCH OPTIONAL_SEND_URI # Send-URI + EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job + EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes + EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs + EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes + EXPECT operations-supported WITH-VALUE 0x000c DEFINE-MATCH OPTIONAL_HOLD_JOB # Hold-Job + EXPECT operations-supported WITH-VALUE 0x000d DEFINE-MATCH OPTIONAL_RELEASE_JOB # Release-Job + EXPECT operations-supported WITH-VALUE 0x000e DEFINE-MATCH OPTIONAL_RESTART_JOB # Restart-Job + EXPECT operations-supported WITH-VALUE 0x0010 DEFINE-MATCH OPTIONAL_PAUSE_PRINTER # Pause-Printer + EXPECT operations-supported WITH-VALUE 0x0011 DEFINE-MATCH OPTIONAL_RESUME_PRINTER # Resume-Printer + EXPECT operations-supported WITH-VALUE 0x0012 DEFINE-MATCH OPTIONAL_PURGE_JOBS # Purge-Jobs + + # Job template attributes + EXPECT ?copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag + EXPECT ?finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag + EXPECT ?finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3 + EXPECT ?job-hold-until-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?job-hold-until-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE no-hold + EXPECT job-hold-until-default IF-DEFINED OPTIONAL_HOLD_JOB + EXPECT job-hold-until-supported IF-DEFINED OPTIONAL_HOLD_JOB + EXPECT ?job-priority-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 + EXPECT ?job-priority-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 + EXPECT ?job-sheets-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag + EXPECT ?job-sheets-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE none + EXPECT ?media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag + EXPECT ?media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag + EXPECT ?multiple-document-handling-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" + EXPECT ?multiple-document-handling-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" + EXPECT ?number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 + EXPECT ?number-up-supported WITH-VALUE 1 + EXPECT ?orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 + EXPECT ?orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6 + EXPECT ?pages-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag + EXPECT ?print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5 + EXPECT ?print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5 + EXPECT ?printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag + EXPECT ?sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + EXPECT ?sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + + # Job template attributes for specific tests... + EXPECT copies-supported WITH-VALUE >1 DEFINE-MATCH OPTIONAL_COPIES + EXPECT document-format-supported WITH-VALUE "application/pdf" DEFINE-MATCH OPTIONAL_PDF + EXPECT document-format-supported WITH-VALUE "application/postscript" DEFINE-MATCH OPTIONAL_POSTSCRIPT + EXPECT document-format-supported WITH-VALUE "image/jpeg" DEFINE-MATCH OPTIONAL_JPEG + EXPECT job-sheets-supported WITH-VALUE "standard" DEFINE-MATCH OPTIONAL_STANDARD_SHEET + EXPECT media-supported WITH-VALUE "a4" DEFINE-VALUE OPTIONAL_A4_MEDIA + EXPECT media-supported WITH-VALUE "iso-a4" DEFINE-VALUE OPTIONAL_A4_MEDIA + EXPECT media-supported WITH-VALUE "iso_a4_210x297mm" DEFINE-VALUE OPTIONAL_A4_MEDIA + EXPECT media-supported WITH-VALUE "letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA + EXPECT media-supported WITH-VALUE "na-letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA + EXPECT media-supported WITH-VALUE "na_letter_8.5x11in" DEFINE-VALUE OPTIONAL_LETTER_MEDIA + EXPECT media-supported WITH-VALUE "index-4x6" DEFINE-VALUE OPTIONAL_4X6_MEDIA + EXPECT media-supported WITH-VALUE "na_index-4x6_4x6in" DEFINE-VALUE OPTIONAL_4X6_MEDIA + EXPECT number-up-supported WITH-VALUE 2 DEFINE-MATCH OPTIONAL_2UP + EXPECT print-quality WITH-VALUE 3 DEFINE-MATCH OPTIONAL_DRAFT_QUALITY + EXPECT print-quality WITH-VALUE 4 DEFINE-MATCH OPTIONAL_NORMAL_QUALITY + EXPECT print-quality WITH-VALUE 5 DEFINE-MATCH OPTIONAL_BEST_QUALITY + EXPECT sides-supported WITH-VALUE "two-sided-long-edge" DEFINE-MATCH OPTIONAL_DUPLEX + + # Printer description attributes + EXPECT ?color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?job-impressions-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?job-k-octets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?job-media-sheets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-driver-installer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-info OF-TYPE text(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-location OF-TYPE text(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-make-and-model OF-TYPE text(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-message-from-operator OF-TYPE text(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" + EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" + EXPECT ?printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag + EXPECT ?reference-uri-schemes-supported OF-TYPE uriScheme IN-GROUP printer-attributes-tag + EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_PRINT_URI + EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_SEND_URI IF-NOT-DEFINED OPTIONAL_PRINT_URI + EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1 + EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8 + EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE none + EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1 + EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag + EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag + EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE 1.1 + EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1 + EXPECT pdl-override-supported OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 + EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 + EXPECT printer-name OF-TYPE name(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5 + EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag + EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported WITH-ALL-VALUES "$IPP_URI_SCHEME" + EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 + EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag + EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported } @@ -334,20 +333,20 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.5 { - NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (requested-attributes)" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format $filetype - ATTR keyword requested-attributes printer-uri-supported + NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (requested-attributes)" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR mimeMediaType document-format $filetype + ATTR keyword requested-attributes printer-uri-supported - STATUS successful-ok + STATUS successful-ok - EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$IPP_URI_SCHEME" - EXPECT !printer-name + EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$IPP_URI_SCHEME" + EXPECT !printer-name } @@ -355,56 +354,56 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.6 { - NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (default)" - OPERATION Get-Jobs - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - - STATUS successful-ok - EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT !job-printer-uri - EXPECT !job-more-info - EXPECT !job-name - EXPECT !job-originating-user-name - EXPECT !job-state - EXPECT !job-state-reasons - EXPECT !job-state-message - EXPECT !job-detailed-status-messages - EXPECT !number-of-documents - EXPECT !output-device-assigned - EXPECT !time-at-creation - EXPECT !time-at-processing - EXPECT !time-at-completed - EXPECT !job-printer-up-time - EXPECT !date-time-at-creation - EXPECT !date-time-at-processing - EXPECT !date-time-at-completed - EXPECT !number-of-intervening-jobs - EXPECT !job-message-from-operator - EXPECT !job-k-octets - EXPECT !job-impressions - EXPECT !job-media-sheets - EXPECT !job-k-octets-processed - EXPECT !job-impressions-completed - EXPECT !job-media-sheets-completed - - EXPECT !copies - EXPECT !finishings - EXPECT !job-hold-until - EXPECT !job-priority - EXPECT !job-sheets - EXPECT !media - EXPECT !multiple-document-handling - EXPECT !number-up - EXPECT !orientation-requested - EXPECT !pages-ranges - EXPECT !print-quality - EXPECT !printer-resolution - EXPECT !sides + NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (default)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + + STATUS successful-ok + EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT !job-printer-uri + EXPECT !job-more-info + EXPECT !job-name + EXPECT !job-originating-user-name + EXPECT !job-state + EXPECT !job-state-reasons + EXPECT !job-state-message + EXPECT !job-detailed-status-messages + EXPECT !number-of-documents + EXPECT !output-device-assigned + EXPECT !time-at-creation + EXPECT !time-at-processing + EXPECT !time-at-completed + EXPECT !job-printer-up-time + EXPECT !date-time-at-creation + EXPECT !date-time-at-processing + EXPECT !date-time-at-completed + EXPECT !number-of-intervening-jobs + EXPECT !job-message-from-operator + EXPECT !job-k-octets + EXPECT !job-impressions + EXPECT !job-media-sheets + EXPECT !job-k-octets-processed + EXPECT !job-impressions-completed + EXPECT !job-media-sheets-completed + + EXPECT !copies + EXPECT !finishings + EXPECT !job-hold-until + EXPECT !job-priority + EXPECT !job-sheets + EXPECT !media + EXPECT !multiple-document-handling + EXPECT !number-up + EXPECT !orientation-requested + EXPECT !pages-ranges + EXPECT !print-quality + EXPECT !printer-resolution + EXPECT !sides } @@ -412,59 +411,59 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.6 { - SKIP-IF-DEFINED PRINT_JOB_COMPLETED - - NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (requested-attributes)" - OPERATION Get-Jobs - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR keyword requested-attributes all - - STATUS successful-ok - EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT ?job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" - EXPECT ?job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 - EXPECT ?job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT ?time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT ?time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT ?job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - - EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag - EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101 - EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag - EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" - EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 - EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag - EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5 - EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (requested-attributes)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR keyword requested-attributes all + + STATUS successful-ok + EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" + EXPECT ?job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 + EXPECT ?job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT ?time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT ?time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT ?job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + + EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag + EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101 + EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag + EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" + EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 + EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag + EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5 + EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" } @@ -472,59 +471,59 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.6 { - SKIP-IF-DEFINED PRINT_JOB_COMPLETED - - NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs)" - OPERATION Get-Jobs - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR boolean my-jobs true - - STATUS successful-ok - EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT !job-printer-uri - EXPECT !job-more-info - EXPECT !job-name - EXPECT !job-originating-user-name - EXPECT !job-state - EXPECT !job-state-reasons - EXPECT !job-state-message - EXPECT !job-detailed-status-messages - EXPECT !number-of-documents - EXPECT !output-device-assigned - EXPECT !time-at-creation - EXPECT !time-at-processing - EXPECT !time-at-completed - EXPECT !job-printer-up-time - EXPECT !date-time-at-creation - EXPECT !date-time-at-processing - EXPECT !date-time-at-completed - EXPECT !number-of-intervening-jobs - EXPECT !job-message-from-operator - EXPECT !job-k-octets - EXPECT !job-impressions - EXPECT !job-media-sheets - EXPECT !job-k-octets-processed - EXPECT !job-impressions-completed - EXPECT !job-media-sheets-completed - - EXPECT !copies - EXPECT !finishings - EXPECT !job-hold-until - EXPECT !job-priority - EXPECT !job-sheets - EXPECT !media - EXPECT !multiple-document-handling - EXPECT !number-up - EXPECT !orientation-requested - EXPECT !pages-ranges - EXPECT !print-quality - EXPECT !printer-resolution - EXPECT !sides + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR boolean my-jobs true + + STATUS successful-ok + EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT !job-printer-uri + EXPECT !job-more-info + EXPECT !job-name + EXPECT !job-originating-user-name + EXPECT !job-state + EXPECT !job-state-reasons + EXPECT !job-state-message + EXPECT !job-detailed-status-messages + EXPECT !number-of-documents + EXPECT !output-device-assigned + EXPECT !time-at-creation + EXPECT !time-at-processing + EXPECT !time-at-completed + EXPECT !job-printer-up-time + EXPECT !date-time-at-creation + EXPECT !date-time-at-processing + EXPECT !date-time-at-completed + EXPECT !number-of-intervening-jobs + EXPECT !job-message-from-operator + EXPECT !job-k-octets + EXPECT !job-impressions + EXPECT !job-media-sheets + EXPECT !job-k-octets-processed + EXPECT !job-impressions-completed + EXPECT !job-media-sheets-completed + + EXPECT !copies + EXPECT !finishings + EXPECT !job-hold-until + EXPECT !job-priority + EXPECT !job-sheets + EXPECT !media + EXPECT !multiple-document-handling + EXPECT !number-up + EXPECT !orientation-requested + EXPECT !pages-ranges + EXPECT !print-quality + EXPECT !printer-resolution + EXPECT !sides } @@ -532,63 +531,63 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.6 { - SKIP-IF-DEFINED PRINT_JOB_COMPLETED - - # Skip this test when doing authenticated printing since we'll always - # use the authenticated username over the requesting-user-name value. - SKIP-IF-DEFINED uriuser - - NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs different user)" - OPERATION Get-Jobs - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name not-$user - ATTR boolean my-jobs true - - STATUS successful-ok - EXPECT !job-id - EXPECT !job-uri - EXPECT !job-printer-uri - EXPECT !job-more-info - EXPECT !job-name - EXPECT !job-originating-user-name - EXPECT !job-state - EXPECT !job-state-reasons - EXPECT !job-state-message - EXPECT !job-detailed-status-messages - EXPECT !number-of-documents - EXPECT !output-device-assigned - EXPECT !time-at-creation - EXPECT !time-at-processing - EXPECT !time-at-completed - EXPECT !job-printer-up-time - EXPECT !date-time-at-creation - EXPECT !date-time-at-processing - EXPECT !date-time-at-completed - EXPECT !number-of-intervening-jobs - EXPECT !job-message-from-operator - EXPECT !job-k-octets - EXPECT !job-impressions - EXPECT !job-media-sheets - EXPECT !job-k-octets-processed - EXPECT !job-impressions-completed - EXPECT !job-media-sheets-completed - - EXPECT !copies - EXPECT !finishings - EXPECT !job-hold-until - EXPECT !job-priority - EXPECT !job-sheets - EXPECT !media - EXPECT !multiple-document-handling - EXPECT !number-up - EXPECT !orientation-requested - EXPECT !pages-ranges - EXPECT !print-quality - EXPECT !printer-resolution - EXPECT !sides + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + # Skip this test when doing authenticated printing since we'll always + # use the authenticated username over the requesting-user-name value. + SKIP-IF-DEFINED uriuser + + NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs different user)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name not-$user + ATTR boolean my-jobs true + + STATUS successful-ok + EXPECT !job-id + EXPECT !job-uri + EXPECT !job-printer-uri + EXPECT !job-more-info + EXPECT !job-name + EXPECT !job-originating-user-name + EXPECT !job-state + EXPECT !job-state-reasons + EXPECT !job-state-message + EXPECT !job-detailed-status-messages + EXPECT !number-of-documents + EXPECT !output-device-assigned + EXPECT !time-at-creation + EXPECT !time-at-processing + EXPECT !time-at-completed + EXPECT !job-printer-up-time + EXPECT !date-time-at-creation + EXPECT !date-time-at-processing + EXPECT !date-time-at-completed + EXPECT !number-of-intervening-jobs + EXPECT !job-message-from-operator + EXPECT !job-k-octets + EXPECT !job-impressions + EXPECT !job-media-sheets + EXPECT !job-k-octets-processed + EXPECT !job-impressions-completed + EXPECT !job-media-sheets-completed + + EXPECT !copies + EXPECT !finishings + EXPECT !job-hold-until + EXPECT !job-priority + EXPECT !job-sheets + EXPECT !media + EXPECT !multiple-document-handling + EXPECT !number-up + EXPECT !orientation-requested + EXPECT !pages-ranges + EXPECT !print-quality + EXPECT !printer-resolution + EXPECT !sides } @@ -596,78 +595,78 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.6 { - SKIP-IF-DEFINED PRINT_JOB_COMPLETED - - NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=not-completed)" - OPERATION Get-Jobs - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR keyword which-jobs not-completed - - STATUS successful-ok - EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT !job-printer-uri - EXPECT !job-more-info - EXPECT !job-name - EXPECT !job-originating-user-name - EXPECT !job-state - EXPECT !job-state-reasons - EXPECT !job-state-message - EXPECT !job-detailed-status-messages - EXPECT !number-of-documents - EXPECT !output-device-assigned - EXPECT !time-at-creation - EXPECT !time-at-processing - EXPECT !time-at-completed - EXPECT !job-printer-up-time - EXPECT !date-time-at-creation - EXPECT !date-time-at-processing - EXPECT !date-time-at-completed - EXPECT !number-of-intervening-jobs - EXPECT !job-message-from-operator - EXPECT !job-k-octets - EXPECT !job-impressions - EXPECT !job-media-sheets - EXPECT !job-k-octets-processed - EXPECT !job-impressions-completed - EXPECT !job-media-sheets-completed - - EXPECT !copies - EXPECT !finishings - EXPECT !job-hold-until - EXPECT !job-priority - EXPECT !job-sheets - EXPECT !media - EXPECT !multiple-document-handling - EXPECT !number-up - EXPECT !orientation-requested - EXPECT !pages-ranges - EXPECT !print-quality - EXPECT !printer-resolution - EXPECT !sides + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=not-completed)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR keyword which-jobs not-completed + + STATUS successful-ok + EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT !job-printer-uri + EXPECT !job-more-info + EXPECT !job-name + EXPECT !job-originating-user-name + EXPECT !job-state + EXPECT !job-state-reasons + EXPECT !job-state-message + EXPECT !job-detailed-status-messages + EXPECT !number-of-documents + EXPECT !output-device-assigned + EXPECT !time-at-creation + EXPECT !time-at-processing + EXPECT !time-at-completed + EXPECT !job-printer-up-time + EXPECT !date-time-at-creation + EXPECT !date-time-at-processing + EXPECT !date-time-at-completed + EXPECT !number-of-intervening-jobs + EXPECT !job-message-from-operator + EXPECT !job-k-octets + EXPECT !job-impressions + EXPECT !job-media-sheets + EXPECT !job-k-octets-processed + EXPECT !job-impressions-completed + EXPECT !job-media-sheets-completed + + EXPECT !copies + EXPECT !finishings + EXPECT !job-hold-until + EXPECT !job-priority + EXPECT !job-sheets + EXPECT !media + EXPECT !multiple-document-handling + EXPECT !number-up + EXPECT !orientation-requested + EXPECT !pages-ranges + EXPECT !print-quality + EXPECT !printer-resolution + EXPECT !sides } # Wait for job to complete... { - SKIP-IF-NOT-DEFINED job-id + SKIP-IF-NOT-DEFINED job-id - NAME "Get-Job-Attributes Until Job Complete" - OPERATION Get-Job-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user + NAME "Get-Job-Attributes Until Job Complete" + OPERATION Get-Job-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user - STATUS successful-ok - EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30 - DISPLAY job-state + STATUS successful-ok + EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30 + DISPLAY job-state } @@ -675,57 +674,57 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.6 { - NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=completed)" - OPERATION Get-Jobs - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR keyword which-jobs completed - - STATUS successful-ok - EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT !job-printer-uri - EXPECT !job-more-info - EXPECT !job-name - EXPECT !job-originating-user-name - EXPECT !job-state - EXPECT !job-state-reasons - EXPECT !job-state-message - EXPECT !job-detailed-status-messages - EXPECT !number-of-documents - EXPECT !output-device-assigned - EXPECT !time-at-creation - EXPECT !time-at-processing - EXPECT !time-at-completed - EXPECT !job-printer-up-time - EXPECT !date-time-at-creation - EXPECT !date-time-at-processing - EXPECT !date-time-at-completed - EXPECT !number-of-intervening-jobs - EXPECT !job-message-from-operator - EXPECT !job-k-octets - EXPECT !job-impressions - EXPECT !job-media-sheets - EXPECT !job-k-octets-processed - EXPECT !job-impressions-completed - EXPECT !job-media-sheets-completed - - EXPECT !copies - EXPECT !finishings - EXPECT !job-hold-until - EXPECT !job-priority - EXPECT !job-sheets - EXPECT !media - EXPECT !multiple-document-handling - EXPECT !number-up - EXPECT !orientation-requested - EXPECT !pages-ranges - EXPECT !print-quality - EXPECT !printer-resolution - EXPECT !sides + NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=completed)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR keyword which-jobs completed + + STATUS successful-ok + EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT !job-printer-uri + EXPECT !job-more-info + EXPECT !job-name + EXPECT !job-originating-user-name + EXPECT !job-state + EXPECT !job-state-reasons + EXPECT !job-state-message + EXPECT !job-detailed-status-messages + EXPECT !number-of-documents + EXPECT !output-device-assigned + EXPECT !time-at-creation + EXPECT !time-at-processing + EXPECT !time-at-completed + EXPECT !job-printer-up-time + EXPECT !date-time-at-creation + EXPECT !date-time-at-processing + EXPECT !date-time-at-completed + EXPECT !number-of-intervening-jobs + EXPECT !job-message-from-operator + EXPECT !job-k-octets + EXPECT !job-impressions + EXPECT !job-media-sheets + EXPECT !job-k-octets-processed + EXPECT !job-impressions-completed + EXPECT !job-media-sheets-completed + + EXPECT !copies + EXPECT !finishings + EXPECT !job-hold-until + EXPECT !job-priority + EXPECT !job-sheets + EXPECT !media + EXPECT !multiple-document-handling + EXPECT !number-up + EXPECT !orientation-requested + EXPECT !pages-ranges + EXPECT !print-quality + EXPECT !printer-resolution + EXPECT !sides } @@ -733,60 +732,60 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.6 { - SKIP-IF-DEFINED PRINT_JOB_COMPLETED - - NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs, requested-attributes)" - OPERATION Get-Jobs - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR keyword requested-attributes all - ATTR keyword which-jobs completed - - STATUS successful-ok - EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" - EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - - EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag - EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101 - EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag - EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" - EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 - EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag - EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5 - EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs, requested-attributes)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR keyword requested-attributes all + ATTR keyword which-jobs completed + + STATUS successful-ok + EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" + EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + + EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag + EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101 + EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag + EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" + EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 + EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag + EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5 + EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" } @@ -794,16 +793,16 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.3.3 { - NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (completed job)" - OPERATION Cancel-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user + NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (completed job)" + OPERATION Cancel-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user - STATUS client-error-not-possible + STATUS client-error-not-possible } @@ -811,34 +810,32 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.2.1 { - NAME "RFC 8011 section 4.2.1: Print-Job Operation" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype - FILE $filename - - STATUS successful-ok - STATUS client-error-document-format-not-supported - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + NAME "RFC 8011 section 4.2.1: Print-Job Operation" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + FILE $filename + + STATUS successful-ok + STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } @@ -846,17 +843,17 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.3.3 { - NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (pending/processing job)" - OPERATION Cancel-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user + NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (pending/processing job)" + OPERATION Cancel-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user - STATUS successful-ok - STATUS client-error-not-possible + STATUS successful-ok + STATUS client-error-not-possible } @@ -864,57 +861,57 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 8011 section 4.3.4 { - NAME "RFC 8011 section 4.3.4: Get-Job-Attributes Operation" - OPERATION Get-Job-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user - - STATUS successful-ok - EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" - EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 - EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 - - EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag - EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101 - EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag - EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" - EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 - EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag - EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5 - EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + NAME "RFC 8011 section 4.3.4: Get-Job-Attributes Operation" + OPERATION Get-Job-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + + STATUS successful-ok + EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" + EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 + + EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag + EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101 + EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag + EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/" + EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 + EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag + EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5 + EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" } @@ -922,35 +919,33 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Defined by: RFC 8011 section 4.2.2 { - SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI - SKIP-IF-NOT-DEFINED document-uri - - NAME "RFC 8011 section 4.2.2: Print-URI Operation" - OPERATION Print-URI - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name $filename - ATTR keyword compression none - ATTR uri document-uri $document-uri - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI + SKIP-IF-NOT-DEFINED document-uri + + NAME "RFC 8011 section 4.2.2: Print-URI Operation" + OPERATION Print-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR uri document-uri $document-uri + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } @@ -958,29 +953,29 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Defined by: RFC 8011 section 4.2.2 { - SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI - SKIP-IF-NOT-DEFINED document-uri + SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI + SKIP-IF-NOT-DEFINED document-uri - NAME "Print-URI with bad URI: Print-URI Operation" - OPERATION Print-URI - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name $filename - ATTR keyword compression none - ATTR uri document-uri "bogus://bogus" + NAME "Print-URI with bad URI: Print-URI Operation" + OPERATION Print-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR uri document-uri "bogus://bogus" - STATUS client-error-uri-scheme-not-supported + STATUS client-error-uri-scheme-not-supported - EXPECT !job-uri - EXPECT !job-id - EXPECT !job-state - EXPECT !job-state-reasons - EXPECT !job-state-message + EXPECT !job-uri + EXPECT !job-id + EXPECT !job-state + EXPECT !job-state-reasons + EXPECT !job-state-message } @@ -988,177 +983,174 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Defined by: RFC 8011 section 4.2.4 and 4.3.1 { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT - - NAME "RFC 8011 section 4.2.4: Create-Job Operation" - OPERATION Create-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - - STATUS successful-ok - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT - SKIP-PREVIOUS-ERROR yes - - NAME "RFC 8011 section 4.3.1: Send-Document Operation" - OPERATION Send-Document - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user - ATTR boolean last-document true - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype - FILE $filename - - STATUS successful-ok - STATUS client-error-document-format-not-supported - STATUS server-error-job-canceled + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + + NAME "RFC 8011 section 4.2.4: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + + STATUS successful-ok + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + SKIP-PREVIOUS-ERROR yes + + NAME "RFC 8011 section 4.3.1: Send-Document Operation" + OPERATION Send-Document + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR boolean last-document true + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + FILE $filename + + STATUS successful-ok + STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled } # Test Create-Job and Send-Document operations (no last-document) # # Defined by: RFC 8011 section 4.2.4 and 4.3.1 { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT - NAME "Send-Document missing last-document: Create-Job Operation" - OPERATION Create-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false + NAME "Send-Document missing last-document: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false - STATUS successful-ok + STATUS successful-ok + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT - SKIP-PREVIOUS-ERROR yes + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + SKIP-PREVIOUS-ERROR yes - NAME "Send-Document missing last-document: Send-Document Operation" - OPERATION Send-Document - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype - FILE $filename + NAME "Send-Document missing last-document: Send-Document Operation" + OPERATION Send-Document + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + FILE $filename - STATUS client-error-bad-request + STATUS client-error-bad-request } { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT - SKIP-PREVIOUS-ERROR yes + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + SKIP-PREVIOUS-ERROR yes - NAME "RFC 8011 section 4.3.3: Cancel-Job Operation" - OPERATION Cancel-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user + NAME "RFC 8011 section 4.3.3: Cancel-Job Operation" + OPERATION Cancel-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user - STATUS successful-ok - STATUS server-error-job-canceled + STATUS successful-ok + STATUS server-error-job-canceled } # Test Create-Job and Send-URI operations # # Defined by: RFC 8011 section 4.2.4 and 4.3.2 { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI - SKIP-IF-NOT-DEFINED document-uri - - NAME "RFC 8011 section 4.2.4: Create-Job Operation" - OPERATION Create-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - - STATUS successful-ok - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI - SKIP-IF-NOT-DEFINED document-uri - SKIP-PREVIOUS-ERROR yes - - NAME "RFC 8011 section 4.3.2: Send-URI Operation" - OPERATION Send-URI - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user - ATTR boolean last-document true - ATTR name document-name $filename - ATTR keyword compression none - ATTR uri document-uri $document-uri - - STATUS successful-ok - STATUS server-error-job-canceled + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-IF-NOT-DEFINED document-uri + + NAME "RFC 8011 section 4.2.4: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + + STATUS successful-ok + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-IF-NOT-DEFINED document-uri + SKIP-PREVIOUS-ERROR yes + + NAME "RFC 8011 section 4.3.2: Send-URI Operation" + OPERATION Send-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR boolean last-document true + ATTR name document-name $filename + ATTR keyword compression none + ATTR uri document-uri $document-uri + + STATUS successful-ok + STATUS server-error-job-canceled } @@ -1166,1175 +1158,1116 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Defined by: RFC 8011 section 4.2.4 and 4.3.2 { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI - NAME "Send-URI with bad URI: Create-Job Operation" - OPERATION Create-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false + NAME "Send-URI with bad URI: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false - STATUS successful-ok + STATUS successful-ok + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI - SKIP-IF-NOT-DEFINED document-uri - SKIP-PREVIOUS-ERROR yes + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-IF-NOT-DEFINED document-uri + SKIP-PREVIOUS-ERROR yes - NAME "Send-URI with bad URI: Send-URI Operation (bad URI)" - OPERATION Send-URI - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user - ATTR boolean last-document true - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype - ATTR uri document-uri "bogus://bogus" + NAME "Send-URI with bad URI: Send-URI Operation (bad URI)" + OPERATION Send-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR boolean last-document true + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + ATTR uri document-uri "bogus://bogus" - STATUS client-error-uri-scheme-not-supported + STATUS client-error-uri-scheme-not-supported } { - SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB - SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI - SKIP-PREVIOUS-ERROR yes + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-PREVIOUS-ERROR yes - NAME "Send-URI with bad URI: Cancel-Job Operation" - OPERATION Cancel-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user + NAME "Send-URI with bad URI: Cancel-Job Operation" + OPERATION Cancel-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user - STATUS successful-ok - STATUS server-error-job-canceled + STATUS successful-ok + STATUS server-error-job-canceled } # Test multiple copy output { - SKIP-IF-NOT-DEFINED OPTIONAL_COPIES - - NAME "Print-Job with copies" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name $filename - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype - GROUP job-attributes-tag - ATTR integer copies 2 - FILE $filename - - STATUS successful-ok - STATUS client-error-document-format-not-supported - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-NOT-DEFINED OPTIONAL_COPIES + + NAME "Print-Job with copies" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + GROUP job-attributes-tag + ATTR integer copies 2 + FILE $filename + + STATUS successful-ok + STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Test PDF output { - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - - NAME "Print-Job with A4 PDF" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - FILE document-a4.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX - - NAME "Print-Job with A4 PDF, Duplex" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document, Duplex" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - ATTR keyword sides two-sided-long-edge - FILE document-a4.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - - NAME "Print-Job with US Letter PDF" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-letter.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - FILE document-letter.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX - - NAME "Print-Job with US Letter PDF, Duplex" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document, Duplex" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-letter.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - ATTR keyword sides two-sided-long-edge - FILE document-letter.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with A4 PDF" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with A4 PDF, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with US Letter PDF" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with US Letter PDF, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Test PostScript output { - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - - NAME "Print-Job with A4 PostScript" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document, Duplex" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - FILE document-a4.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX - - NAME "Print-Job with A4 PostScript, Duplex" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - ATTR keyword sides two-sided-long-edge - FILE document-a4.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - - NAME "Print-Job with US Letter PostScript" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document, Duplex" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-letter.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - FILE document-letter.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX - - NAME "Print-Job with US Letter PostScript, Duplex" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-letter.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - ATTR keyword sides two-sided-long-edge - FILE document-letter.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with A4 PostScript" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with A4 PostScript, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with US Letter PostScript" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE document-letter.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with US Letter PostScript, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-letter.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Test JPEG output { - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - - NAME "Print-Job with Color JPEG on A4" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "Color JPEG on A4" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name color.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - FILE color.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - - NAME "Print-Job with Color JPEG on US Letter" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "Color JPEG on US Letter" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name color.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - FILE color.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA - - NAME "Print-Job with Color JPEG on 4x6" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "Color JPEG on 4x6" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name color.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_4X6_MEDIA - FILE color.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - - NAME "Print-Job with Grayscale JPEG on A4" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "Grayscale JPEG on A4" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name gray.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - FILE gray.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - - NAME "Print-Job with Grayscale JPEG on US Letter" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "Grayscale JPEG on US Letter" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name gray.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - FILE gray.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA - - NAME "Print-Job with Grayscale JPEG on 4x6" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "Grayscale JPEG on 4x6" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name gray.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_4X6_MEDIA - FILE gray.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with Color JPEG on A4" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Color JPEG on A4" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with Color JPEG on US Letter" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Color JPEG on US Letter" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + + NAME "Print-Job with Color JPEG on 4x6" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Color JPEG on 4x6" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with Grayscale JPEG on A4" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Grayscale JPEG on A4" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name gray.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + FILE gray.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with Grayscale JPEG on US Letter" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Grayscale JPEG on US Letter" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name gray.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE gray.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + + NAME "Print-Job with Grayscale JPEG on 4x6" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Grayscale JPEG on 4x6" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name gray.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + FILE gray.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Print-Job with job-sheets { - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET - - NAME "Print-Job with A4 PDF and Standard Sheet" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document w/Standard Sheet" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - ATTR keyword job-sheets standard - FILE document-a4.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET - - NAME "Print-Job with US Letter PDF and Standard Sheet" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document w/Standard Sheet" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - ATTR keyword job-sheets standard - FILE document-a4.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET - - NAME "Print-Job with A4 PDF and Standard Sheet" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document w/Standard Sheet" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - ATTR keyword job-sheets standard - FILE document-a4.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET - - NAME "Print-Job with US Letter PDF and Standard Sheet" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document w/Standard Sheet" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - ATTR keyword job-sheets standard - FILE document-a4.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with A4 PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with US Letter PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with A4 PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with US Letter PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Test number-up output { - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_2UP - - NAME "Print-Job with A4 PDF, 2-Up" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document; 2-Up" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - ATTR integer number-up 2 - FILE document-a4.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_2UP - - NAME "Print-Job with US Letter PDF, 2-Up" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document; 2-Up" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-letter.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - ATTR integer number-up 2 - FILE document-letter.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_2UP - - NAME "Print-Job with A4 PDF, 2-Up" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document; 2-Up" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - ATTR integer number-up 2 - FILE document-a4.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_2UP - - NAME "Print-Job with US Letter PDF, 2-Up" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document; 2-Up" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-letter.ps - ATTR keyword compression none - ATTR mimeMediaType document-format application/postscript - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - ATTR integer number-up 2 - FILE document-letter.ps - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with A4 PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document; 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR integer number-up 2 + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with US Letter PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document; 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR integer number-up 2 + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with A4 PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document; 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR integer number-up 2 + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with US Letter PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document; 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR integer number-up 2 + FILE document-letter.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Test output with print-quality... { - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY - - NAME "Print-Job with JPEG on 4x6, Draft Quality" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "4x6 Color JPEG; Draft Quality" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name color.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_4X6_MEDIA - ATTR enum print-quality 3 - FILE color.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_NORMAL_QUALITY - - NAME "Print-Job with JPEG on 4x6, Normal Quality" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "4x6 Color JPEG; Normal Quality" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name color.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_4X6_MEDIA - ATTR enum print-quality 4 - FILE color.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_JPEG - SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_HIGH_QUALITY - - NAME "Print-Job with JPEG on 4x6, High Quality" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "4x6 Color JPEG; High Quality" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name color.jpg - ATTR keyword compression none - ATTR mimeMediaType document-format image/jpeg - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_4X6_MEDIA - ATTR enum print-quality 5 - FILE color.jpg - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY - - NAME "Print-Job with A4 PDF, Draft Quality" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "A4 Test Document; 2-Up" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-a4.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_A4_MEDIA - ATTR enum print-quality 3 - FILE document-a4.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-DEFINED NOPRINT - SKIP-IF-NOT-DEFINED OPTIONAL_PDF - SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA - SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY - - NAME "Print-Job with US Letter PDF, Draft Quality" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "US Letter Test Document; 2-Up" - ATTR boolean ipp-attribute-fidelity false - ATTR name document-name document-letter.pdf - ATTR keyword compression none - ATTR mimeMediaType document-format application/pdf - GROUP job-attributes-tag - ATTR keyword media $OPTIONAL_LETTER_MEDIA - ATTR enum print-quality 3 - FILE document-letter.pdf - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY + + NAME "Print-Job with JPEG on 4x6, Draft Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "4x6 Color JPEG; Draft Quality" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + ATTR enum print-quality 3 + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_NORMAL_QUALITY + + NAME "Print-Job with JPEG on 4x6, Normal Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "4x6 Color JPEG; Normal Quality" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + ATTR enum print-quality 4 + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_HIGH_QUALITY + + NAME "Print-Job with JPEG on 4x6, High Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "4x6 Color JPEG; High Quality" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + ATTR enum print-quality 5 + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY + + NAME "Print-Job with A4 PDF, Draft Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document; 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR enum print-quality 3 + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-DEFINED NOPRINT + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY + + NAME "Print-Job with US Letter PDF, Draft Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document; 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR enum print-quality 3 + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 } # Test hold/release in the context of Print-Job w/job-hold-until + Release-Job { - SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB - - NAME "Print-Job with job-hold-until" - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR name job-name "Test Document w/Hold" - ATTR name document-name $filename - ATTR keyword compression none - ATTR mimeMediaType document-format $filetype - GROUP job-attributes-tag - ATTR keyword job-hold-until indefinite - FILE $filename - - STATUS successful-ok - STATUS server-error-job-canceled - STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 - - EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE >0 - EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag - WITH-VALUE 3,4,5,6,7,8,9 - EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag - EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag - EXPECT ?number-of-intervening-jobs OF-TYPE integer - IN-GROUP job-attributes-tag WITH-VALUE >-1 -} - -{ - SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB - - NAME "Release-Job" - OPERATION Release-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR integer job-id $job-id - ATTR name requesting-user-name $user - - STATUS successful-ok - STATUS client-error-not-possible + SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB + + NAME "Print-Job with job-hold-until" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Test Document w/Hold" + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + GROUP job-attributes-tag + ATTR keyword job-hold-until indefinite + FILE $filename + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30 + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB + + NAME "Release-Job" + OPERATION Release-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + + STATUS successful-ok + STATUS client-error-not-possible } diff --git a/examples/ipp-2.0.test b/examples/ipp-2.0.test index 3746663eb..c682e3236 100644 --- a/examples/ipp-2.0.test +++ b/examples/ipp-2.0.test @@ -1,6 +1,7 @@ # # IPP/2.0 test suite. # +# Copyright © 2022 by OpenPrinting. # Copyright © 2007-2017 by Apple Inc. # Copyright © 2001-2006 by Easy Software Products. All rights reserved. # @@ -26,80 +27,80 @@ DEFINE MEDIA_REGEX "/^(choice(_((custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_ # # Required by: PWG 5100.12 section 6.2 { - NAME "PWG 5100.12 section 6.2 - Required Printer Description Attributes" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format application/octet-stream + NAME "PWG 5100.12 section 6.2 - Required Printer Description Attributes" + OPERATION Get-Printer-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR mimeMediaType document-format application/octet-stream - STATUS successful-ok + STATUS successful-ok - # Figure out capabilities - EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true DEFINE-MATCH PRINTER_IS_COLOR + # Figure out capabilities + EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true DEFINE-MATCH PRINTER_IS_COLOR - # Job template attributes - EXPECT copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag - EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag - EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3 - EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$MEDIA_REGEX" - EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX" - EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX" - EXPECT orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 - EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6 - EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 - EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag - EXPECT print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5 - EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5 - EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag - EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" - EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + # Job template attributes + EXPECT copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag + EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag + EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3 + EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$MEDIA_REGEX" + EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX" + EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX" + EXPECT orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 + EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6 + EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 + EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag + EXPECT print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5 + EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5 + EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1 + EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag + EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" - # Optional media-col support - EXPECT ?media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?media-col-ready OF-TYPE collection IN-GROUP printer-attributes-tag - EXPECT ?media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT media-col-supported WITH-VALUE media-back-coating DEFINE-MATCH HAVE_MEDIA_BACK_COATING - EXPECT media-col-supported WITH-VALUE media-color DEFINE-MATCH HAVE_MEDIA_COLOR - EXPECT media-col-supported WITH-VALUE media-front-coating DEFINE-MATCH HAVE_MEDIA_FRONT_COATING - EXPECT media-col-supported WITH-VALUE media-grain DEFINE-MATCH HAVE_MEDIA_GRAIN - EXPECT media-col-supported WITH-VALUE media-hole-count DEFINE-MATCH HAVE_MEDIA_HOLE_COUNT - EXPECT media-col-supported WITH-VALUE media-info DEFINE-MATCH HAVE_MEDIA_INFO - EXPECT media-col-supported WITH-VALUE media-key DEFINE-MATCH HAVE_MEDIA_KEY - EXPECT media-col-supported WITH-VALUE media-order-count DEFINE-MATCH HAVE_MEDIA_ORDER_COUNT - EXPECT media-col-supported WITH-VALUE media-pre-printed DEFINE-MATCH HAVE_MEDIA_PRE_PRINTED - EXPECT media-col-supported WITH-VALUE media-recycled DEFINE-MATCH HAVE_MEDIA_RECYCLED - EXPECT media-col-supported WITH-VALUE media-size DEFINE-MATCH HAVE_MEDIA_SIZE - EXPECT media-col-supported WITH-VALUE media-tooth DEFINE-MATCH HAVE_MEDIA_TOOTH - EXPECT media-col-supported WITH-VALUE media-type DEFINE-MATCH HAVE_MEDIA_TYPE - EXPECT media-col-supported WITH-VALUE media-weight-metric DEFINE-MATCH HAVE_MEDIA_WEIGHT_METRIC + # Optional media-col support + EXPECT ?media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?media-col-ready OF-TYPE collection IN-GROUP printer-attributes-tag + EXPECT ?media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag + EXPECT media-col-supported WITH-VALUE media-back-coating DEFINE-MATCH HAVE_MEDIA_BACK_COATING + EXPECT media-col-supported WITH-VALUE media-color DEFINE-MATCH HAVE_MEDIA_COLOR + EXPECT media-col-supported WITH-VALUE media-front-coating DEFINE-MATCH HAVE_MEDIA_FRONT_COATING + EXPECT media-col-supported WITH-VALUE media-grain DEFINE-MATCH HAVE_MEDIA_GRAIN + EXPECT media-col-supported WITH-VALUE media-hole-count DEFINE-MATCH HAVE_MEDIA_HOLE_COUNT + EXPECT media-col-supported WITH-VALUE media-info DEFINE-MATCH HAVE_MEDIA_INFO + EXPECT media-col-supported WITH-VALUE media-key DEFINE-MATCH HAVE_MEDIA_KEY + EXPECT media-col-supported WITH-VALUE media-order-count DEFINE-MATCH HAVE_MEDIA_ORDER_COUNT + EXPECT media-col-supported WITH-VALUE media-pre-printed DEFINE-MATCH HAVE_MEDIA_PRE_PRINTED + EXPECT media-col-supported WITH-VALUE media-recycled DEFINE-MATCH HAVE_MEDIA_RECYCLED + EXPECT media-col-supported WITH-VALUE media-size DEFINE-MATCH HAVE_MEDIA_SIZE + EXPECT media-col-supported WITH-VALUE media-tooth DEFINE-MATCH HAVE_MEDIA_TOOTH + EXPECT media-col-supported WITH-VALUE media-type DEFINE-MATCH HAVE_MEDIA_TYPE + EXPECT media-col-supported WITH-VALUE media-weight-metric DEFINE-MATCH HAVE_MEDIA_WEIGHT_METRIC - EXPECT media-back-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_BACK_COATING - EXPECT media-color-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_COLOR - EXPECT media-front-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_FRONT_COATING - EXPECT media-grain-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_GRAIN - EXPECT media-hole-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_HOLE_COUNT - EXPECT media-info-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_INFO - EXPECT media-key-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_KEY - EXPECT media-order-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 IF-DEFINED HAVE_MEDIA_ORDER_COUNT - EXPECT media-pre-printed-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_PRE_PRINTED - EXPECT media-recycled-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_RECYCLED - EXPECT media-size-supported OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_SIZE - EXPECT media-tooth-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TOOTH - EXPECT media-type-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TYPE - EXPECT media-weight-metric-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_WEIGHT_METRIC + EXPECT media-back-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_BACK_COATING + EXPECT media-color-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_COLOR + EXPECT media-front-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_FRONT_COATING + EXPECT media-grain-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_GRAIN + EXPECT media-hole-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_HOLE_COUNT + EXPECT media-info-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_INFO + EXPECT media-key-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_KEY + EXPECT media-order-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 IF-DEFINED HAVE_MEDIA_ORDER_COUNT + EXPECT media-pre-printed-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_PRE_PRINTED + EXPECT media-recycled-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_RECYCLED + EXPECT media-size-supported OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_SIZE + EXPECT media-tooth-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TOOTH + EXPECT media-type-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TYPE + EXPECT media-weight-metric-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_WEIGHT_METRIC - # Printer description attributes - EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 - EXPECT pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 - EXPECT pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED PRINTER_IS_COLOR - EXPECT !pages-per-minute-color IF-NOT-DEFINED PRINTER_IS_COLOR - EXPECT printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 + # Printer description attributes + EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 + EXPECT pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 + EXPECT pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED PRINTER_IS_COLOR + EXPECT !pages-per-minute-color IF-NOT-DEFINED PRINTER_IS_COLOR + EXPECT printer-info OF-TYPE text(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT printer-location OF-TYPE text(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT printer-make-and-model OF-TYPE text(127) IN-GROUP printer-attributes-tag COUNT 1 + EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 } diff --git a/examples/ipp-2.1.test b/examples/ipp-2.1.test deleted file mode 100644 index ca66e057a..000000000 --- a/examples/ipp-2.1.test +++ /dev/null @@ -1,86 +0,0 @@ -# -# IPP/2.1 test suite. -# -# Copyright © 2007-2017 by Apple Inc. -# Copyright © 2001-2006 by Easy Software Products. All rights reserved. -# -# Licensed under Apache License v2.0. See the file "LICENSE" for more -# information. -# -# Usage: -# -# ./ipptool -V 2.1 -f filename -t printer-uri ipp-2.1.test -# - -# Do all of the IPP/1.1 and IPP/2.0 tests as an IPP/2.1 client -INCLUDE "ipp-2.0.test" - - -# Test required printer description attribute support. -# -# Required by: PWG 5100.12 section 6.3 -{ - NAME "PWG 5100.12 section 6.3 - Required Printer Description Attributes" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format application/octet-stream - - STATUS successful-ok - - # Job template attributes - EXPECT job-hold-until-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 - EXPECT job-hold-until-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE no-hold - EXPECT job-priority-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 - EXPECT job-priority-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 - EXPECT job-settable-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT job-sheets-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag - EXPECT job-sheets-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE none - EXPECT media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1 - EXPECT media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT media-col-supported WITH-VALUE media-size - EXPECT media-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 - EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag - - # Subscription attributes - EXPECT notify-events-default OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT notify-events-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT notify-lease-duration-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 - EXPECT notify-lease-duration-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag - EXPECT notify-max-events-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >1 - EXPECT notify-pull-method-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE ippget - - # Printer description attributes - EXPECT ippget-event-life OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 - EXPECT multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - - # Operations - EXPECT operations-supported WITH-VALUE 0x0005 # Create-Job - EXPECT operations-supported WITH-VALUE 0x0006 # Send-Document - EXPECT operations-supported WITH-VALUE 0x000C # Hold-Job - EXPECT operations-supported WITH-VALUE 0x000D # Release-Job - EXPECT operations-supported WITH-VALUE 0x000E # Restart-Job - EXPECT operations-supported WITH-VALUE 0x0010 # Pause-Printer - EXPECT operations-supported WITH-VALUE 0x0011 # Resume-Printer - EXPECT operations-supported WITH-VALUE 0x0012 # Purge-Jobs - EXPECT operations-supported WITH-VALUE 0x0013 # Set-Printer-Attributes - EXPECT operations-supported WITH-VALUE 0x0014 # Set-Job-Attributes - EXPECT operations-supported WITH-VALUE 0x0015 # Get-Printer-Supported-Values - EXPECT operations-supported WITH-VALUE 0x0016 # Create-Printer-Subscriptions - EXPECT operations-supported WITH-VALUE 0x0018 # Get-Subscription-Attributes - EXPECT operations-supported WITH-VALUE 0x0019 # Get-Subscriptions - EXPECT operations-supported WITH-VALUE 0x001A # Renew-Subscription - EXPECT operations-supported WITH-VALUE 0x001B # Cancel-Subscription - EXPECT operations-supported WITH-VALUE 0x001C # Get-Notifications - EXPECT operations-supported WITH-VALUE 0x0022 # Enable-Printer - EXPECT operations-supported WITH-VALUE 0x0023 # Disable-Printer - - EXPECT ?printer-alert OF-TYPE octetString IN-GROUP printer-attributes-tag - EXPECT ?printer-alert-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-alert - EXPECT printer-settable-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT printer-state-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag -} diff --git a/examples/ipp-2.2.test b/examples/ipp-2.2.test deleted file mode 100644 index bd4fecda2..000000000 --- a/examples/ipp-2.2.test +++ /dev/null @@ -1,76 +0,0 @@ -# -# IPP/2.2 test suite. -# -# Copyright © 2007-2017 by Apple Inc. -# Copyright © 2001-2006 by Easy Software Products. All rights reserved. -# -# Licensed under Apache License v2.0. See the file "LICENSE" for more -# information. -# -# Usage: -# -# ./ipptool -V 2.2 -f filename -t printer-uri ipp-2.2.test -# - -# Do all of the IPP/1.1, IPP/2.0, and IPP/2.1 tests as an IPP/2.2 client -INCLUDE "ipp-2.1.test" - - -# Test required printer description attribute support. -# -# Required by: PWG 5100.12 section 6.4 -{ - NAME "PWG 5100.12 section 6.4 - Required Printer Description Attributes" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format application/octet-stream - - STATUS successful-ok - - # Job template attributes - EXPECT number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 - EXPECT overrides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "document-numbers" - EXPECT overrides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "pages" - EXPECT page-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true - - # Printer description attributes - EXPECT job-creation-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT job-ids-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true - EXPECT media-col-ready - EXPECT media-ready - EXPECT multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true - EXPECT printer-alert OF-TYPE octetString IN-GROUP printer-attributes-tag - EXPECT printer-alert-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-alert - EXPECT printer-device-id OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-message-from-operator OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT which-jobs-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "completed" - EXPECT which-jobs-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "proof-print" - EXPECT which-jobs-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "not-completed" - - # Operations - EXPECT operations-supported WITH-VALUE 0x0024 # Pause-Printer-After-Current-Job - EXPECT operations-supported WITH-VALUE 0x0025 # Hold-New-Jobs - EXPECT operations-supported WITH-VALUE 0x0026 # Release-Held-New-Jobs - EXPECT operations-supported WITH-VALUE 0x0029 # Restart-Printer - EXPECT operations-supported WITH-VALUE 0x002A # Shutdown-Printer - EXPECT operations-supported WITH-VALUE 0x002B # Startup-Printer - EXPECT operations-supported WITH-VALUE 0x002C # Reprocess-Job - EXPECT operations-supported WITH-VALUE 0x002D # Cancel-Current-Job - EXPECT operations-supported WITH-VALUE 0x002E # Suspend-Current-Job - EXPECT operations-supported WITH-VALUE 0x002F # Resume-Job - EXPECT operations-supported WITH-VALUE 0x0030 # Promote-Job - EXPECT operations-supported WITH-VALUE 0x0031 # Schedule-Job-After - EXPECT operations-supported WITH-VALUE 0x0033 # Cancel-Document - EXPECT operations-supported WITH-VALUE 0x0034 # Get-Document-Attributes - EXPECT operations-supported WITH-VALUE 0x0035 # Get-Documents - EXPECT operations-supported WITH-VALUE 0x0037 # Set-Document-Attributes - EXPECT operations-supported WITH-VALUE 0x0038 # Cancel-Jobs - EXPECT operations-supported WITH-VALUE 0x0039 # Cancel-My-Jobs - EXPECT operations-supported WITH-VALUE 0x003A # Resubmit-Job - EXPECT operations-supported WITH-VALUE 0x003B # Close-Job -} diff --git a/examples/ipp-backend.test b/examples/ipp-backend.test deleted file mode 100644 index c2642d375..000000000 --- a/examples/ipp-backend.test +++ /dev/null @@ -1,22 +0,0 @@ -# Get printer attributes using get-printer-attributes -{ - # The name of the test... - NAME "Get printer attributes using get-printer-attributes" - - # The resource to use for the POST - # RESOURCE /admin - - # The operation to use - OPERATION get-printer-attributes - - # Attributes, starting in the operation group... - GROUP operation - ATTR charset attributes-charset utf-8 - ATTR language attributes-natural-language en - ATTR uri printer-uri $uri - ATTR keyword requested-attributes com.apple.print.recoverable-message,copies-supported,document-format-supported,marker-colors,marker-levels,marker-message,marker-names,marker-types,printer-is-accepting-jobs,printer-state,printer-state-message,printer-state-reasons - - # What statuses are OK? - STATUS successful-ok - STATUS successful-ok-ignored-or-substituted-attributes -} diff --git a/examples/ipp-everywhere.test b/examples/ipp-everywhere.test deleted file mode 100644 index d7b0c445c..000000000 --- a/examples/ipp-everywhere.test +++ /dev/null @@ -1,9684 +0,0 @@ -# -# IPP Everywhere test suite. -# -# Copyright © 2007-2018 by Apple Inc. -# Copyright © 2001-2006 by Easy Software Products. All rights reserved. -# -# Licensed under Apache License v2.0. See the file "LICENSE" for more -# information. -# -# Usage: -# -# ./ipptool -V 2.0 -tf filename.ext printer-uri ipp-everywhere.test -# - -# Do all of the IPP/1.1 and IPP/2.0 tests -INCLUDE "ipp-2.0.test" - - -# Test required printer description attribute support. -# -# Required by: PWG 5100.14 -{ - NAME "PWG 5100.14 section 5.1/5.2 - Required Operations and Attributes" - OPERATION Get-Printer-Attributes - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format application/octet-stream - ATTR keyword requested-attributes all,media-col-database - - STATUS successful-ok - - # Operations - EXPECT operations-supported WITH-VALUE 0x0002 # Print-Job - EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job - EXPECT operations-supported WITH-VALUE 0x0005 # Create-Job - EXPECT operations-supported WITH-VALUE 0x0006 # Send-Document - EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job - EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes - EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs - EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes - EXPECT operations-supported WITH-VALUE 0x0039 # Cancel-My-Jobs - EXPECT operations-supported WITH-VALUE 0x003b # Close-Job - EXPECT operations-supported WITH-VALUE 0x003c # Identify-Printer - - # Printer description attributes - EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "deflate" DEFINE-MATCH HAVE_DEFLATE - EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "gzip" DEFINE-MATCH HAVE_GZIP - - EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/jpeg" - EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/pwg-raster" - EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "/^(application/pdf|application/openxps)$/" DEFINE-MATCH PDF_OR_OPENXPS - - EXPECT feed-orientation-supported OF-TYPE keyword IN-GROUP printer-attributes-tag DEFINE-MATCH FEED_ORIENTATION_SUPPORTED - EXPECT feed-orientation-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED FEED_ORIENTATION_SUPPORTED - - EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag DEFINE-MATCH FINISHINGS_SUPPORTED - EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag IF-DEFINED FINISHINGS_SUPPORTED - - EXPECT identify-actions-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(display|flash|sound|speak)$/" - EXPECT identify-actions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(display|flash|sound|speak)$/" - - EXPECT ipp-features-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "ipp-everywhere" - - EXPECT job-account-id-supported OF-TYPE boolean IN-GROUP printer-attributes-tag WITH-VALUE true COUNT 1 DEFINE-MATCH JOB_ACCOUNT_ID_SUPPORTED - EXPECT job-account-id-default OF-TYPE name|no-value IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED JOB_ACCOUNT_ID_SUPPORTED - - EXPECT job-accounting-user-id-supported OF-TYPE boolean IN-GROUP printer-attributes-tag WITH-VALUE true COUNT 1 DEFINE-MATCH JOB_ACCOUNTING_USER_ID_SUPPORTED - EXPECT job-accounting-user-id-default OF-TYPE name|no-value IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED JOB_ACCOUNTING_USER_ID_SUPPORTED - - EXPECT job-constraints-supported OF-TYPE collection IN-GROUP printer-attributes-tag DEFINE-MATCH JOB_CONSTRAINTS_SUPPORTED - EXPECT job-resolvers-supported OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED JOB_CONSTRAINTS_SUPPORTED - - EXPECT job-creation-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - - EXPECT job-ids-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true - - EXPECT preferred-attributes-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 - - EXPECT media-bottom-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1 - EXPECT media-left-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1 - EXPECT media-right-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1 - EXPECT media-top-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1 - - EXPECT media-col-database OF-TYPE collection IN-GROUP printer-attributes-tag - - EXPECT media-col-ready OF-TYPE collection IN-GROUP printer-attributes-tag - - EXPECT media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag - - EXPECT media-size-supported OF-TYPE collection IN-GROUP printer-attributes-tag - - EXPECT media-source-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag - - EXPECT media-type-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag - - EXPECT multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 - - EXPECT multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 - - EXPECT multiple-operation-time-out-action OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(abort-job|hold-job|process-job)$/" - - EXPECT overrides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "document-number" - EXPECT overrides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "pages" - - EXPECT page-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true IF-DEFINED PDF_OR_OPENXPS - - EXPECT print-color-mode-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|auto-monochrome|bi-level|color|highlight|monochrome|process-bi-level|process-monochrome)$/" - EXPECT print-color-mode-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|auto-monochrome|bi-level|color|highlight|monochrome|process-bi-level|process-monochrome)$/" - - EXPECT print-content-optimize-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|graphic|photo|text|text-and-graphic)$/" - EXPECT print-content-optimize-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|graphic|photo|text|text-and-graphic)$/" - - EXPECT print-rendering-intent-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|absolute|perceptual|relative|relative-bpc|saturation)$/" - EXPECT print-rendering-intent-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|absolute|perceptual|relative|relative-bpc|saturation)$/" - - EXPECT ?printer-alert OF-TYPE octetString IN-GROUP printer-attributes-tag - EXPECT ?printer-alert-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-alert - - EXPECT printer-charge-info DEFINE-MATCH PRINTER_CHARGE_INFO - EXPECT ?printer-charge-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-charge-info-uri IF-DEFINED PRINTER_CHARGE_INFO - EXPECT ?printer-charge-info-uri OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 - - EXPECT printer-config-change-date-time OF-TYPE dateTime IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-config-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >-1 - - EXPECT printer-device-id OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^([-A-Za-z ]+:[^;]*;)+$/" - - EXPECT printer-geo-location OF-TYPE uri|unknown IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^geo:/" - - EXPECT printer-get-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "document-format" - - EXPECT ?printer-icc-profiles-supported OF-TYPE collection IN-GROUP printer-attributes-tag - - EXPECT printer-icons OF-TYPE uri IN-GROUP printer-attributes-tag - - EXPECT ?printer-mandatory-job-attributes OF-TYPE keyword IN-GROUP printer-attributes-tag - - EXPECT printer-organization OF-TYPE text IN-GROUP printer-attributes-tag - EXPECT printer-organizational-unit OF-TYPE text IN-GROUP printer-attributes-tag - - EXPECT printer-state-change-date-time OF-TYPE dateTime IN-GROUP printer-attributes-tag COUNT 1 - EXPECT printer-state-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >-1 - - EXPECT printer-supply OF-TYPE octetString IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-supply-description - EXPECT printer-supply-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-supply - - EXPECT printer-supply-info-uri OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 - - EXPECT printer-uuid OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^urn:uuid:[0-9A-Fa-f]{8,8}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{12,12}/" - - EXPECT pwg-raster-document-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag - EXPECT pwg-raster-document-resolution-supported WITH-VALUE 150dpi DEFINE-MATCH HAVE_150DPI - EXPECT pwg-raster-document-resolution-supported WITH-VALUE 180dpi DEFINE-MATCH HAVE_180DPI - EXPECT pwg-raster-document-resolution-supported WITH-VALUE 300dpi DEFINE-MATCH HAVE_300DPI - EXPECT pwg-raster-document-resolution-supported WITH-VALUE 360dpi DEFINE-MATCH HAVE_360DPI - EXPECT pwg-raster-document-resolution-supported WITH-VALUE 600dpi DEFINE-MATCH HAVE_600DPI - EXPECT pwg-raster-document-resolution-supported WITH-VALUE 720dpi DEFINE-MATCH HAVE_720DPI - - EXPECT pwg-raster-document-sheet-back OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 - - EXPECT pwg-raster-document-type-supported OF-TYPE keyword IN-GROUP printer-attributes-tag - EXPECT pwg-raster-document-type-supported WITH-VALUE "black_1" DEFINE-MATCH HAVE_BLACK_1 - EXPECT pwg-raster-document-type-supported WITH-VALUE "cmyk_8" DEFINE-MATCH HAVE_CMYK_8 - EXPECT pwg-raster-document-type-supported WITH-VALUE "sgray_8" DEFINE-MATCH HAVE_SGRAY_8 - EXPECT pwg-raster-document-type-supported WITH-VALUE "srgb_8" DEFINE-MATCH HAVE_SRGB_8 - EXPECT pwg-raster-document-type-supported WITH-VALUE "srgb_16" DEFINE-MATCH HAVE_SRGB_16 - - EXPECT which-jobs-supported OF-TYPE keyword IN-GROUP printer-attributes-tag -} - - -# Test printing all sample documents -{ - NAME "Print color.jpg-4x6 @ 150dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/color.jpg-4x6-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-150dpi/black-1/color.jpg-4x6-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/color.jpg-4x6-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/black-1/color.jpg-4x6-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/color.jpg-4x6-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/black-1/color.jpg-4x6-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/color.jpg-4x6-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-150dpi/cmyk-8/color.jpg-4x6-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/color.jpg-4x6-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/cmyk-8/color.jpg-4x6-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/color.jpg-4x6-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/cmyk-8/color.jpg-4x6-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/color.jpg-4x6-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-150dpi/sgray-8/color.jpg-4x6-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/color.jpg-4x6-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/sgray-8/color.jpg-4x6-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/color.jpg-4x6-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/sgray-8/color.jpg-4x6-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/color.jpg-4x6-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-150dpi/srgb-8/color.jpg-4x6-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/color.jpg-4x6-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/srgb-8/color.jpg-4x6-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/color.jpg-4x6-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/srgb-8/color.jpg-4x6-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, srgb-16" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-16/color.jpg-4x6-srgb-16-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-150dpi/srgb-16/color.jpg-4x6-srgb-16-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, srgb-16, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-16/color.jpg-4x6-srgb-16-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/srgb-16/color.jpg-4x6-srgb-16-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 150dpi, srgb-16, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-16/color.jpg-4x6-srgb-16-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/srgb-16/color.jpg-4x6-srgb-16-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/color.jpg-4x6-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-180dpi/black-1/color.jpg-4x6-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/color.jpg-4x6-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/black-1/color.jpg-4x6-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/color.jpg-4x6-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/black-1/color.jpg-4x6-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/color.jpg-4x6-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-180dpi/cmyk-8/color.jpg-4x6-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/color.jpg-4x6-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/cmyk-8/color.jpg-4x6-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/color.jpg-4x6-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/cmyk-8/color.jpg-4x6-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/color.jpg-4x6-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-180dpi/sgray-8/color.jpg-4x6-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/color.jpg-4x6-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/sgray-8/color.jpg-4x6-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/color.jpg-4x6-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/sgray-8/color.jpg-4x6-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/color.jpg-4x6-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-180dpi/srgb-8/color.jpg-4x6-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/color.jpg-4x6-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/srgb-8/color.jpg-4x6-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/color.jpg-4x6-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/srgb-8/color.jpg-4x6-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, srgb-16" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-16/color.jpg-4x6-srgb-16-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-180dpi/srgb-16/color.jpg-4x6-srgb-16-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, srgb-16, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-16/color.jpg-4x6-srgb-16-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/srgb-16/color.jpg-4x6-srgb-16-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 180dpi, srgb-16, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-16/color.jpg-4x6-srgb-16-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/srgb-16/color.jpg-4x6-srgb-16-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/color.jpg-4x6-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-300dpi/black-1/color.jpg-4x6-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/color.jpg-4x6-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/black-1/color.jpg-4x6-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/color.jpg-4x6-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/black-1/color.jpg-4x6-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/color.jpg-4x6-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-300dpi/cmyk-8/color.jpg-4x6-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/color.jpg-4x6-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/cmyk-8/color.jpg-4x6-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/color.jpg-4x6-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/cmyk-8/color.jpg-4x6-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/color.jpg-4x6-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-300dpi/sgray-8/color.jpg-4x6-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/color.jpg-4x6-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/sgray-8/color.jpg-4x6-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/color.jpg-4x6-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/sgray-8/color.jpg-4x6-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/color.jpg-4x6-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-300dpi/srgb-8/color.jpg-4x6-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/color.jpg-4x6-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/srgb-8/color.jpg-4x6-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/color.jpg-4x6-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/srgb-8/color.jpg-4x6-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, srgb-16" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-16/color.jpg-4x6-srgb-16-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-300dpi/srgb-16/color.jpg-4x6-srgb-16-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, srgb-16, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-16/color.jpg-4x6-srgb-16-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/srgb-16/color.jpg-4x6-srgb-16-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 300dpi, srgb-16, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-16/color.jpg-4x6-srgb-16-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/srgb-16/color.jpg-4x6-srgb-16-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/color.jpg-4x6-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-360dpi/black-1/color.jpg-4x6-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/color.jpg-4x6-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/black-1/color.jpg-4x6-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/color.jpg-4x6-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/black-1/color.jpg-4x6-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/color.jpg-4x6-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-360dpi/cmyk-8/color.jpg-4x6-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/color.jpg-4x6-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/cmyk-8/color.jpg-4x6-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/color.jpg-4x6-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/cmyk-8/color.jpg-4x6-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/color.jpg-4x6-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-360dpi/sgray-8/color.jpg-4x6-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/color.jpg-4x6-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/sgray-8/color.jpg-4x6-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/color.jpg-4x6-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/sgray-8/color.jpg-4x6-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/color.jpg-4x6-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-360dpi/srgb-8/color.jpg-4x6-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/color.jpg-4x6-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/srgb-8/color.jpg-4x6-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/color.jpg-4x6-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/srgb-8/color.jpg-4x6-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, srgb-16" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-16/color.jpg-4x6-srgb-16-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-360dpi/srgb-16/color.jpg-4x6-srgb-16-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, srgb-16, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-16/color.jpg-4x6-srgb-16-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/srgb-16/color.jpg-4x6-srgb-16-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 360dpi, srgb-16, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-16/color.jpg-4x6-srgb-16-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/srgb-16/color.jpg-4x6-srgb-16-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/color.jpg-4x6-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-600dpi/black-1/color.jpg-4x6-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/color.jpg-4x6-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/black-1/color.jpg-4x6-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/color.jpg-4x6-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/black-1/color.jpg-4x6-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-600dpi/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-600dpi/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-600dpi/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, srgb-16" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-16/color.jpg-4x6-srgb-16-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-600dpi/srgb-16/color.jpg-4x6-srgb-16-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, srgb-16, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-16/color.jpg-4x6-srgb-16-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/srgb-16/color.jpg-4x6-srgb-16-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 600dpi, srgb-16, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-16/color.jpg-4x6-srgb-16-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/srgb-16/color.jpg-4x6-srgb-16-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/color.jpg-4x6-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-720dpi/black-1/color.jpg-4x6-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/color.jpg-4x6-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/black-1/color.jpg-4x6-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/color.jpg-4x6-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/black-1/color.jpg-4x6-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/color.jpg-4x6-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-720dpi/cmyk-8/color.jpg-4x6-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/color.jpg-4x6-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/cmyk-8/color.jpg-4x6-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/color.jpg-4x6-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/cmyk-8/color.jpg-4x6-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/color.jpg-4x6-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-720dpi/sgray-8/color.jpg-4x6-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/color.jpg-4x6-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/sgray-8/color.jpg-4x6-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/color.jpg-4x6-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/sgray-8/color.jpg-4x6-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/color.jpg-4x6-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-720dpi/srgb-8/color.jpg-4x6-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/color.jpg-4x6-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/srgb-8/color.jpg-4x6-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/color.jpg-4x6-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/srgb-8/color.jpg-4x6-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, srgb-16" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-16/color.jpg-4x6-srgb-16-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "color.jpg-4x6" - FILE pwg-raster-samples-720dpi/srgb-16/color.jpg-4x6-srgb-16-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, srgb-16, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-16/color.jpg-4x6-srgb-16-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "color.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/srgb-16/color.jpg-4x6-srgb-16-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print color.jpg-4x6 @ 720dpi, srgb-16, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-16/color.jpg-4x6-srgb-16-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_16 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "color.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/srgb-16/color.jpg-4x6-srgb-16-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/document-a4-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-150dpi/black-1/document-a4-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/document-a4-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/black-1/document-a4-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/document-a4-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/black-1/document-a4-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/document-a4-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-150dpi/cmyk-8/document-a4-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/document-a4-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/cmyk-8/document-a4-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/document-a4-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/cmyk-8/document-a4-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/document-a4-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-150dpi/sgray-8/document-a4-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/document-a4-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/sgray-8/document-a4-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/document-a4-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/sgray-8/document-a4-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/document-a4-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-150dpi/srgb-8/document-a4-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/document-a4-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/srgb-8/document-a4-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 150dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/document-a4-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/srgb-8/document-a4-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/document-a4-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-180dpi/black-1/document-a4-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/document-a4-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/black-1/document-a4-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/document-a4-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/black-1/document-a4-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/document-a4-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-180dpi/cmyk-8/document-a4-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/document-a4-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/cmyk-8/document-a4-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/document-a4-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/cmyk-8/document-a4-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/document-a4-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-180dpi/sgray-8/document-a4-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/document-a4-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/sgray-8/document-a4-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/document-a4-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/sgray-8/document-a4-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/document-a4-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-180dpi/srgb-8/document-a4-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/document-a4-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/srgb-8/document-a4-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 180dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/document-a4-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/srgb-8/document-a4-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/document-a4-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-300dpi/black-1/document-a4-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/document-a4-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/black-1/document-a4-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/document-a4-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/black-1/document-a4-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/document-a4-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-300dpi/cmyk-8/document-a4-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/document-a4-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/cmyk-8/document-a4-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/document-a4-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/cmyk-8/document-a4-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/document-a4-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-300dpi/sgray-8/document-a4-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/document-a4-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/sgray-8/document-a4-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/document-a4-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/sgray-8/document-a4-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/document-a4-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-300dpi/srgb-8/document-a4-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/document-a4-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/srgb-8/document-a4-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 300dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/document-a4-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/srgb-8/document-a4-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/document-a4-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-360dpi/black-1/document-a4-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/document-a4-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/black-1/document-a4-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/document-a4-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/black-1/document-a4-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/document-a4-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-360dpi/cmyk-8/document-a4-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/document-a4-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/cmyk-8/document-a4-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/document-a4-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/cmyk-8/document-a4-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/document-a4-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-360dpi/sgray-8/document-a4-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/document-a4-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/sgray-8/document-a4-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/document-a4-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/sgray-8/document-a4-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/document-a4-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-360dpi/srgb-8/document-a4-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/document-a4-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/srgb-8/document-a4-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 360dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/document-a4-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/srgb-8/document-a4-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/document-a4-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-600dpi/black-1/document-a4-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/document-a4-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/black-1/document-a4-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/document-a4-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/black-1/document-a4-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/document-a4-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-600dpi/cmyk-8/document-a4-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/document-a4-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/cmyk-8/document-a4-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/document-a4-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/cmyk-8/document-a4-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/document-a4-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-600dpi/sgray-8/document-a4-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/document-a4-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/sgray-8/document-a4-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/document-a4-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/sgray-8/document-a4-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/document-a4-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-600dpi/srgb-8/document-a4-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/document-a4-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/srgb-8/document-a4-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 600dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/document-a4-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/srgb-8/document-a4-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/document-a4-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-720dpi/black-1/document-a4-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/document-a4-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/black-1/document-a4-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/document-a4-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/black-1/document-a4-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/document-a4-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-720dpi/cmyk-8/document-a4-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/document-a4-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/cmyk-8/document-a4-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/document-a4-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/cmyk-8/document-a4-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/document-a4-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-720dpi/sgray-8/document-a4-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/document-a4-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/sgray-8/document-a4-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/document-a4-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/sgray-8/document-a4-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/document-a4-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-a4" - FILE pwg-raster-samples-720dpi/srgb-8/document-a4-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/document-a4-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/srgb-8/document-a4-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-a4 @ 720dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/document-a4-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/srgb-8/document-a4-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/document-letter-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-150dpi/black-1/document-letter-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/document-letter-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/black-1/document-letter-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/document-letter-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/black-1/document-letter-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/document-letter-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-150dpi/cmyk-8/document-letter-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/document-letter-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/cmyk-8/document-letter-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/document-letter-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/cmyk-8/document-letter-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/document-letter-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-150dpi/sgray-8/document-letter-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/document-letter-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/sgray-8/document-letter-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/document-letter-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/sgray-8/document-letter-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/document-letter-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-150dpi/srgb-8/document-letter-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/document-letter-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/srgb-8/document-letter-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 150dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/document-letter-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/srgb-8/document-letter-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/document-letter-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-180dpi/black-1/document-letter-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/document-letter-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/black-1/document-letter-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/document-letter-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/black-1/document-letter-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/document-letter-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-180dpi/cmyk-8/document-letter-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/document-letter-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/cmyk-8/document-letter-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/document-letter-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/cmyk-8/document-letter-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/document-letter-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-180dpi/sgray-8/document-letter-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/document-letter-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/sgray-8/document-letter-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/document-letter-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/sgray-8/document-letter-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/document-letter-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-180dpi/srgb-8/document-letter-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/document-letter-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/srgb-8/document-letter-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 180dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/document-letter-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/srgb-8/document-letter-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/document-letter-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-300dpi/black-1/document-letter-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/document-letter-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/black-1/document-letter-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/document-letter-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/black-1/document-letter-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/document-letter-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-300dpi/cmyk-8/document-letter-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/document-letter-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/cmyk-8/document-letter-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/document-letter-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/cmyk-8/document-letter-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/document-letter-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-300dpi/sgray-8/document-letter-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/document-letter-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/sgray-8/document-letter-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/document-letter-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/sgray-8/document-letter-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/document-letter-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-300dpi/srgb-8/document-letter-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/document-letter-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/srgb-8/document-letter-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 300dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/document-letter-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/srgb-8/document-letter-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/document-letter-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-360dpi/black-1/document-letter-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/document-letter-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/black-1/document-letter-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/document-letter-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/black-1/document-letter-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/document-letter-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-360dpi/cmyk-8/document-letter-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/document-letter-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/cmyk-8/document-letter-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/document-letter-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/cmyk-8/document-letter-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/document-letter-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-360dpi/sgray-8/document-letter-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/document-letter-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/sgray-8/document-letter-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/document-letter-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/sgray-8/document-letter-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/document-letter-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-360dpi/srgb-8/document-letter-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/document-letter-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/srgb-8/document-letter-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 360dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/document-letter-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/srgb-8/document-letter-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/document-letter-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-600dpi/black-1/document-letter-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/document-letter-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/black-1/document-letter-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/document-letter-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/black-1/document-letter-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/document-letter-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-600dpi/cmyk-8/document-letter-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/document-letter-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/cmyk-8/document-letter-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/document-letter-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/cmyk-8/document-letter-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/document-letter-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-600dpi/sgray-8/document-letter-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/document-letter-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/sgray-8/document-letter-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/document-letter-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/sgray-8/document-letter-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/document-letter-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-600dpi/srgb-8/document-letter-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/document-letter-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/srgb-8/document-letter-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 600dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/document-letter-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/srgb-8/document-letter-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/document-letter-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-720dpi/black-1/document-letter-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/document-letter-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/black-1/document-letter-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/document-letter-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/black-1/document-letter-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/document-letter-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-720dpi/cmyk-8/document-letter-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/document-letter-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/cmyk-8/document-letter-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/document-letter-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/cmyk-8/document-letter-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/document-letter-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-720dpi/sgray-8/document-letter-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/document-letter-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/sgray-8/document-letter-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/document-letter-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/sgray-8/document-letter-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/document-letter-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "document-letter" - FILE pwg-raster-samples-720dpi/srgb-8/document-letter-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/document-letter-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "document-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/srgb-8/document-letter-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print document-letter @ 720dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/document-letter-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "document-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/srgb-8/document-letter-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/gray.jpg-4x6-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-150dpi/black-1/gray.jpg-4x6-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/gray.jpg-4x6-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/black-1/gray.jpg-4x6-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/gray.jpg-4x6-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/black-1/gray.jpg-4x6-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/gray.jpg-4x6-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-150dpi/cmyk-8/gray.jpg-4x6-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/gray.jpg-4x6-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/cmyk-8/gray.jpg-4x6-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/gray.jpg-4x6-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/cmyk-8/gray.jpg-4x6-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/gray.jpg-4x6-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-150dpi/sgray-8/gray.jpg-4x6-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/gray.jpg-4x6-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/sgray-8/gray.jpg-4x6-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 150dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/gray.jpg-4x6-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/sgray-8/gray.jpg-4x6-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/gray.jpg-4x6-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-180dpi/black-1/gray.jpg-4x6-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/gray.jpg-4x6-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/black-1/gray.jpg-4x6-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/gray.jpg-4x6-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/black-1/gray.jpg-4x6-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/gray.jpg-4x6-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-180dpi/cmyk-8/gray.jpg-4x6-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/gray.jpg-4x6-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/cmyk-8/gray.jpg-4x6-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/gray.jpg-4x6-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/cmyk-8/gray.jpg-4x6-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/gray.jpg-4x6-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-180dpi/sgray-8/gray.jpg-4x6-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/gray.jpg-4x6-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/sgray-8/gray.jpg-4x6-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 180dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/gray.jpg-4x6-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/sgray-8/gray.jpg-4x6-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/gray.jpg-4x6-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-300dpi/black-1/gray.jpg-4x6-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/gray.jpg-4x6-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/black-1/gray.jpg-4x6-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/gray.jpg-4x6-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/black-1/gray.jpg-4x6-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/gray.jpg-4x6-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-300dpi/cmyk-8/gray.jpg-4x6-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/gray.jpg-4x6-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/cmyk-8/gray.jpg-4x6-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/gray.jpg-4x6-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/cmyk-8/gray.jpg-4x6-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/gray.jpg-4x6-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-300dpi/sgray-8/gray.jpg-4x6-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/gray.jpg-4x6-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/sgray-8/gray.jpg-4x6-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 300dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/gray.jpg-4x6-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/sgray-8/gray.jpg-4x6-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/gray.jpg-4x6-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-360dpi/black-1/gray.jpg-4x6-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/gray.jpg-4x6-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/black-1/gray.jpg-4x6-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/gray.jpg-4x6-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/black-1/gray.jpg-4x6-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/gray.jpg-4x6-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-360dpi/cmyk-8/gray.jpg-4x6-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/gray.jpg-4x6-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/cmyk-8/gray.jpg-4x6-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/gray.jpg-4x6-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/cmyk-8/gray.jpg-4x6-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/gray.jpg-4x6-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-360dpi/sgray-8/gray.jpg-4x6-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/gray.jpg-4x6-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/sgray-8/gray.jpg-4x6-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 360dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/gray.jpg-4x6-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/sgray-8/gray.jpg-4x6-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/gray.jpg-4x6-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-600dpi/black-1/gray.jpg-4x6-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/gray.jpg-4x6-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/black-1/gray.jpg-4x6-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/gray.jpg-4x6-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/black-1/gray.jpg-4x6-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/gray.jpg-4x6-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-600dpi/cmyk-8/gray.jpg-4x6-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/gray.jpg-4x6-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/cmyk-8/gray.jpg-4x6-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/gray.jpg-4x6-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/cmyk-8/gray.jpg-4x6-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/gray.jpg-4x6-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-600dpi/sgray-8/gray.jpg-4x6-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/gray.jpg-4x6-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/sgray-8/gray.jpg-4x6-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 600dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/gray.jpg-4x6-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/sgray-8/gray.jpg-4x6-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/gray.jpg-4x6-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-720dpi/black-1/gray.jpg-4x6-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/gray.jpg-4x6-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/black-1/gray.jpg-4x6-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/gray.jpg-4x6-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/black-1/gray.jpg-4x6-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/gray.jpg-4x6-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-720dpi/cmyk-8/gray.jpg-4x6-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/gray.jpg-4x6-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/cmyk-8/gray.jpg-4x6-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/gray.jpg-4x6-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/cmyk-8/gray.jpg-4x6-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/gray.jpg-4x6-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "gray.jpg-4x6" - FILE pwg-raster-samples-720dpi/sgray-8/gray.jpg-4x6-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/gray.jpg-4x6-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "gray.jpg-4x6" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/sgray-8/gray.jpg-4x6-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print gray.jpg-4x6 @ 720dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/gray.jpg-4x6-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "gray.jpg-4x6" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/sgray-8/gray.jpg-4x6-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/onepage-a4-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-150dpi/black-1/onepage-a4-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/onepage-a4-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/black-1/onepage-a4-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/onepage-a4-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/black-1/onepage-a4-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/onepage-a4-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-150dpi/cmyk-8/onepage-a4-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/onepage-a4-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/cmyk-8/onepage-a4-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/onepage-a4-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/cmyk-8/onepage-a4-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/onepage-a4-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-150dpi/sgray-8/onepage-a4-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/onepage-a4-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/sgray-8/onepage-a4-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/onepage-a4-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/sgray-8/onepage-a4-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/onepage-a4-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-150dpi/srgb-8/onepage-a4-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/onepage-a4-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/srgb-8/onepage-a4-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 150dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/onepage-a4-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/srgb-8/onepage-a4-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/onepage-a4-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-180dpi/black-1/onepage-a4-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/onepage-a4-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/black-1/onepage-a4-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/onepage-a4-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/black-1/onepage-a4-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/onepage-a4-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-180dpi/cmyk-8/onepage-a4-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/onepage-a4-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/cmyk-8/onepage-a4-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/onepage-a4-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/cmyk-8/onepage-a4-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/onepage-a4-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-180dpi/sgray-8/onepage-a4-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/onepage-a4-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/sgray-8/onepage-a4-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/onepage-a4-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/sgray-8/onepage-a4-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/onepage-a4-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-180dpi/srgb-8/onepage-a4-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/onepage-a4-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/srgb-8/onepage-a4-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 180dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/onepage-a4-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/srgb-8/onepage-a4-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/onepage-a4-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-300dpi/black-1/onepage-a4-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/onepage-a4-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/black-1/onepage-a4-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/onepage-a4-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/black-1/onepage-a4-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/onepage-a4-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-300dpi/cmyk-8/onepage-a4-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/onepage-a4-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/cmyk-8/onepage-a4-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/onepage-a4-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/cmyk-8/onepage-a4-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/onepage-a4-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-300dpi/sgray-8/onepage-a4-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/onepage-a4-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/sgray-8/onepage-a4-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/onepage-a4-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/sgray-8/onepage-a4-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/onepage-a4-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-300dpi/srgb-8/onepage-a4-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/onepage-a4-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/srgb-8/onepage-a4-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 300dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/onepage-a4-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/srgb-8/onepage-a4-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/onepage-a4-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-360dpi/black-1/onepage-a4-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/onepage-a4-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/black-1/onepage-a4-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/onepage-a4-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/black-1/onepage-a4-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/onepage-a4-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-360dpi/cmyk-8/onepage-a4-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/onepage-a4-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/cmyk-8/onepage-a4-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/onepage-a4-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/cmyk-8/onepage-a4-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/onepage-a4-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-360dpi/sgray-8/onepage-a4-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/onepage-a4-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/sgray-8/onepage-a4-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/onepage-a4-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/sgray-8/onepage-a4-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/onepage-a4-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-360dpi/srgb-8/onepage-a4-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/onepage-a4-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/srgb-8/onepage-a4-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 360dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/onepage-a4-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/srgb-8/onepage-a4-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/onepage-a4-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-600dpi/black-1/onepage-a4-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/onepage-a4-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/black-1/onepage-a4-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/onepage-a4-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/black-1/onepage-a4-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/onepage-a4-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-600dpi/cmyk-8/onepage-a4-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/onepage-a4-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/cmyk-8/onepage-a4-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/onepage-a4-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/cmyk-8/onepage-a4-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/onepage-a4-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-600dpi/sgray-8/onepage-a4-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/onepage-a4-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/sgray-8/onepage-a4-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/onepage-a4-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/sgray-8/onepage-a4-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/onepage-a4-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-600dpi/srgb-8/onepage-a4-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/onepage-a4-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/srgb-8/onepage-a4-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 600dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/onepage-a4-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/srgb-8/onepage-a4-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/onepage-a4-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-720dpi/black-1/onepage-a4-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/onepage-a4-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/black-1/onepage-a4-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/onepage-a4-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/black-1/onepage-a4-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/onepage-a4-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-720dpi/cmyk-8/onepage-a4-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/onepage-a4-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/cmyk-8/onepage-a4-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/onepage-a4-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/cmyk-8/onepage-a4-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/onepage-a4-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-720dpi/sgray-8/onepage-a4-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/onepage-a4-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/sgray-8/onepage-a4-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/onepage-a4-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/sgray-8/onepage-a4-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/onepage-a4-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-a4" - FILE pwg-raster-samples-720dpi/srgb-8/onepage-a4-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/onepage-a4-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-a4" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/srgb-8/onepage-a4-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-a4 @ 720dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/onepage-a4-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-a4" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/srgb-8/onepage-a4-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/onepage-letter-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-150dpi/black-1/onepage-letter-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/onepage-letter-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/black-1/onepage-letter-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/black-1/onepage-letter-black-1-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/black-1/onepage-letter-black-1-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/onepage-letter-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-150dpi/cmyk-8/onepage-letter-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/onepage-letter-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/cmyk-8/onepage-letter-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/cmyk-8/onepage-letter-cmyk-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/cmyk-8/onepage-letter-cmyk-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/onepage-letter-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-150dpi/sgray-8/onepage-letter-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/onepage-letter-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/sgray-8/onepage-letter-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/sgray-8/onepage-letter-sgray-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/sgray-8/onepage-letter-sgray-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/onepage-letter-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-150dpi/srgb-8/onepage-letter-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/onepage-letter-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-150dpi/srgb-8/onepage-letter-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 150dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-150dpi/srgb-8/onepage-letter-srgb-8-150dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_150DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-150dpi/srgb-8/onepage-letter-srgb-8-150dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/onepage-letter-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-180dpi/black-1/onepage-letter-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/onepage-letter-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/black-1/onepage-letter-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/black-1/onepage-letter-black-1-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/black-1/onepage-letter-black-1-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/onepage-letter-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-180dpi/cmyk-8/onepage-letter-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/onepage-letter-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/cmyk-8/onepage-letter-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/cmyk-8/onepage-letter-cmyk-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/cmyk-8/onepage-letter-cmyk-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/onepage-letter-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-180dpi/sgray-8/onepage-letter-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/onepage-letter-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/sgray-8/onepage-letter-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/sgray-8/onepage-letter-sgray-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/sgray-8/onepage-letter-sgray-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/onepage-letter-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-180dpi/srgb-8/onepage-letter-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/onepage-letter-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-180dpi/srgb-8/onepage-letter-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 180dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-180dpi/srgb-8/onepage-letter-srgb-8-180dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_180DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-180dpi/srgb-8/onepage-letter-srgb-8-180dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/onepage-letter-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-300dpi/black-1/onepage-letter-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/onepage-letter-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/black-1/onepage-letter-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/black-1/onepage-letter-black-1-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/black-1/onepage-letter-black-1-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/onepage-letter-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-300dpi/cmyk-8/onepage-letter-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/onepage-letter-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/cmyk-8/onepage-letter-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/cmyk-8/onepage-letter-cmyk-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/cmyk-8/onepage-letter-cmyk-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/onepage-letter-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-300dpi/sgray-8/onepage-letter-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/onepage-letter-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/sgray-8/onepage-letter-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/sgray-8/onepage-letter-sgray-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/sgray-8/onepage-letter-sgray-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/onepage-letter-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-300dpi/srgb-8/onepage-letter-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/onepage-letter-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-300dpi/srgb-8/onepage-letter-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 300dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-300dpi/srgb-8/onepage-letter-srgb-8-300dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_300DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-300dpi/srgb-8/onepage-letter-srgb-8-300dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/onepage-letter-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-360dpi/black-1/onepage-letter-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/onepage-letter-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/black-1/onepage-letter-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/black-1/onepage-letter-black-1-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/black-1/onepage-letter-black-1-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/onepage-letter-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-360dpi/cmyk-8/onepage-letter-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/onepage-letter-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/cmyk-8/onepage-letter-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/cmyk-8/onepage-letter-cmyk-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/cmyk-8/onepage-letter-cmyk-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/onepage-letter-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-360dpi/sgray-8/onepage-letter-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/onepage-letter-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/sgray-8/onepage-letter-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/sgray-8/onepage-letter-sgray-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/sgray-8/onepage-letter-sgray-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/onepage-letter-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-360dpi/srgb-8/onepage-letter-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/onepage-letter-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-360dpi/srgb-8/onepage-letter-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 360dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-360dpi/srgb-8/onepage-letter-srgb-8-360dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_360DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-360dpi/srgb-8/onepage-letter-srgb-8-360dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/onepage-letter-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-600dpi/black-1/onepage-letter-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/onepage-letter-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/black-1/onepage-letter-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/black-1/onepage-letter-black-1-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/black-1/onepage-letter-black-1-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/onepage-letter-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-600dpi/cmyk-8/onepage-letter-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/onepage-letter-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/cmyk-8/onepage-letter-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/cmyk-8/onepage-letter-cmyk-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/cmyk-8/onepage-letter-cmyk-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/onepage-letter-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-600dpi/sgray-8/onepage-letter-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/onepage-letter-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/sgray-8/onepage-letter-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/sgray-8/onepage-letter-sgray-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/sgray-8/onepage-letter-sgray-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/onepage-letter-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-600dpi/srgb-8/onepage-letter-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/onepage-letter-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-600dpi/srgb-8/onepage-letter-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 600dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-600dpi/srgb-8/onepage-letter-srgb-8-600dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_600DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-600dpi/srgb-8/onepage-letter-srgb-8-600dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, black-1" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/onepage-letter-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-720dpi/black-1/onepage-letter-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, black-1, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/onepage-letter-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/black-1/onepage-letter-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, black-1, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/black-1/onepage-letter-black-1-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_BLACK_1 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/black-1/onepage-letter-black-1-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, cmyk-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/onepage-letter-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-720dpi/cmyk-8/onepage-letter-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, cmyk-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/onepage-letter-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/cmyk-8/onepage-letter-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, cmyk-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/cmyk-8/onepage-letter-cmyk-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_CMYK_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/cmyk-8/onepage-letter-cmyk-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, sgray-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/onepage-letter-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-720dpi/sgray-8/onepage-letter-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, sgray-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/onepage-letter-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/sgray-8/onepage-letter-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, sgray-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/sgray-8/onepage-letter-sgray-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SGRAY_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/sgray-8/onepage-letter-sgray-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, srgb-8" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/onepage-letter-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR name job-name "onepage-letter" - FILE pwg-raster-samples-720dpi/srgb-8/onepage-letter-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, srgb-8, deflate" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/onepage-letter-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_DEFLATE - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression deflate - ATTR name job-name "onepage-letter" - COMPRESSION deflate - FILE pwg-raster-samples-720dpi/srgb-8/onepage-letter-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - -{ - NAME "Print onepage-letter @ 720dpi, srgb-8, gzip" - SKIP-IF-MISSING pwg-raster-samples-720dpi/srgb-8/onepage-letter-srgb-8-720dpi.pwg - SKIP-IF-NOT-DEFINED HAVE_720DPI - SKIP-IF-NOT-DEFINED HAVE_SRGB_8 - SKIP-IF-NOT-DEFINED HAVE_GZIP - - OPERATION Print-Job - GROUP operation-attributes-tag - ATTR charset attributes-charset utf-8 - ATTR naturalLanguage attributes-natural-language en - ATTR uri printer-uri $uri - ATTR name requesting-user-name $user - ATTR mimeMediaType document-format image/pwg-raster - ATTR keyword compression gzip - ATTR name job-name "onepage-letter" - COMPRESSION gzip - FILE pwg-raster-samples-720dpi/srgb-8/onepage-letter-srgb-8-720dpi.pwg - - STATUS successful-ok - STATUS server-error-busy REPEAT-MATCH -} - - -# -# End of "$Id$". -# diff --git a/tools/Makefile b/tools/Makefile index 4740334a7..ca9984d71 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -117,14 +117,15 @@ uninstall: # Local programs (not built when cross-compiling...) # -local: ippeveprinter-static ipptool-static +local: ippeveprinter-static ippfind-static ipptool-static # # Test everything... # -test: all +test: local + ./run-tests.sh # diff --git a/tools/ippeveprinter.c b/tools/ippeveprinter.c index b55441b3a..1b0262baf 100644 --- a/tools/ippeveprinter.c +++ b/tools/ippeveprinter.c @@ -141,11 +141,7 @@ static const char * const ippeve_preason_strings[] = * URL scheme for web resources... */ -#ifdef HAVE_TLS -# define WEB_SCHEME "https" -#else -# define WEB_SCHEME "http" -#endif /* HAVE_TLS */ +#define WEB_SCHEME "https" /* @@ -378,20 +374,18 @@ main(int argc, /* I - Number of command-line args */ *device_uri = NULL, /* Device URI */ *output_format = NULL, /* Output format */ *icon = NULL, /* Icon file */ -#ifdef HAVE_TLS *keypath = NULL, /* Keychain path */ -#endif /* HAVE_TLS */ *location = "", /* Location of printer */ *make = "Example", /* Manufacturer */ *model = "Printer", /* Model */ *name = NULL, /* Printer name */ *strings = NULL, /* Strings file */ *subtypes = "_print"; /* DNS-SD service subtype */ - int legacy = 0, /* Legacy mode? */ - duplex = 0, /* Duplex mode */ - ppm = 10, /* Pages per minute for mono */ - ppm_color = 0, /* Pages per minute for color */ - web_forms = 1; /* Enable web site forms? */ + bool legacy = false, /* Legacy mode? */ + duplex = false, /* Duplex mode */ + web_forms = true; /* Enable web site forms? */ + int ppm = 10, /* Pages per minute for mono */ + ppm_color = 0; /* Pages per minute for color */ ipp_t *attrs = NULL; /* Printer attributes */ char directory[1024] = ""; /* Spool directory */ cups_array_t *docformats = NULL; /* Supported formats */ @@ -412,7 +406,7 @@ main(int argc, /* I - Number of command-line args */ } else if (!strcmp(argv[i], "--no-web-forms")) { - web_forms = 0; + web_forms = false; } else if (!strcmp(argv[i], "--pam-service")) { @@ -439,8 +433,8 @@ main(int argc, /* I - Number of command-line args */ switch (*opt) { case '2' : /* -2 (enable 2-sided printing) */ - duplex = 1; - legacy = 1; + duplex = true; + legacy = true; break; case 'A' : /* -A (enable authentication) */ @@ -464,7 +458,6 @@ main(int argc, /* I - Number of command-line args */ output_format = argv[i]; break; -#ifdef HAVE_TLS case 'K' : /* -K keypath */ i ++; if (i >= argc) @@ -472,7 +465,6 @@ main(int argc, /* I - Number of command-line args */ keypath = argv[i]; break; -#endif /* HAVE_TLS */ case 'M' : /* -M manufacturer */ i ++; @@ -480,7 +472,7 @@ main(int argc, /* I - Number of command-line args */ usage(1); make = argv[i]; - legacy = 1; + legacy = true; break; case 'S' : /* -S filename.strings */ @@ -534,7 +526,7 @@ main(int argc, /* I - Number of command-line args */ usage(1); docformats = cupsArrayNewStrings(argv[i], ','); - legacy = 1; + legacy = true; break; case 'i' : /* -i icon.png */ @@ -563,7 +555,7 @@ main(int argc, /* I - Number of command-line args */ usage(1); model = argv[i]; - legacy = 1; + legacy = true; break; case 'n' : /* -n hostname */ @@ -598,7 +590,7 @@ main(int argc, /* I - Number of command-line args */ if (sscanf(argv[i], "%d,%d", &ppm, &ppm_color) < 1) usage(1); - legacy = 1; + legacy = true; break; case 'v' : /* -v (be verbose) */ @@ -669,22 +661,20 @@ main(int argc, /* I - Number of command-line args */ * Create the printer... */ - if (!docformats) - docformats = cupsArrayNewStrings(ppm_color > 0 ? "image/jpeg,image/pwg-raster,image/urf": "image/pwg-raster,image/urf", ','); - if (attrfile) attrs = load_ippserver_attributes(servername, serverport, attrfile, docformats); else attrs = load_legacy_attributes(make, model, ppm, ppm_color, duplex, docformats); + if (!docformats && !ippFindAttribute(attrs, "document-format-supported", IPP_TAG_MIMETYPE)) + docformats = cupsArrayNewStrings(ppm_color > 0 ? "image/jpeg,image/pwg-raster,image/urf": "image/pwg-raster,image/urf", ','); + if ((printer = create_printer(servername, serverport, name, location, icon, strings, docformats, subtypes, directory, command, device_uri, output_format, attrs)) == NULL) return (1); printer->web_forms = web_forms; -#ifdef HAVE_TLS cupsSetServerCredentials(keypath, printer->hostname, 1); -#endif /* HAVE_TLS */ /* * Run the print service... @@ -1535,12 +1525,9 @@ create_printer( { /* reference-uri-schemes-supported */ "file", "ftp", - "http" -#ifdef HAVE_TLS - , "https" -#endif /* HAVE_TLS */ + "http", + "https" }; -#ifdef HAVE_TLS static const char * const uri_authentication_supported[] = { /* uri-authentication-supported values */ "none", @@ -1556,7 +1543,6 @@ create_printer( "none", "tls" }; -#endif /* HAVE_TLS */ static const char * const which_jobs[] = { /* which-jobs-supported values */ "completed", @@ -1744,11 +1730,7 @@ create_printer( if (Verbosity) { -#ifdef HAVE_TLS fprintf(stderr, "printer-uri-supported=\"ipp://%s:%d/ipp/print\",\"ipps://%s:%d/ipp/print\"\n", printer->hostname, printer->port, printer->hostname, printer->port); -#else - fprintf(stderr, "printer-uri-supported=\"ipp://%s:%d/ipp/print\"\n", printer->hostname, printer->port); -#endif /* HAVE_TLS */ fprintf(stderr, "printer-uuid=\"%s\"\n", uuid); } @@ -1784,11 +1766,14 @@ create_printer( * Assemble the final list of document formats... */ - if (!cupsArrayFind(docformats, (void *)"application/octet-stream")) - cupsArrayAdd(docformats, (void *)"application/octet-stream"); + if (docformats) + { + if (!cupsArrayFind(docformats, (void *)"application/octet-stream")) + cupsArrayAdd(docformats, (void *)"application/octet-stream"); - for (num_formats = 0, format = (const char *)cupsArrayGetFirst(docformats); format && num_formats < (int)(sizeof(formats) / sizeof(formats[0])); format = (const char *)cupsArrayGetNext(docformats)) - formats[num_formats ++] = format; + for (num_formats = 0, format = (const char *)cupsArrayGetFirst(docformats); format && num_formats < (int)(sizeof(formats) / sizeof(formats[0])); format = (const char *)cupsArrayGetNext(docformats)) + formats[num_formats ++] = format; + } /* * Get the list of attributes that can be used when creating a job... @@ -1829,11 +1814,16 @@ create_printer( if (!ippFindAttribute(printer->attrs, "compression-supported", IPP_TAG_ZERO)) ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "compression-supported", (int)(sizeof(compressions) / sizeof(compressions[0])), NULL, compressions); - /* document-format-default */ - ippAddString(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_MIMETYPE), "document-format-default", NULL, "application/octet-stream"); + if (docformats) + { + /* document-format-default */ + if (!ippFindAttribute(printer->attrs, "document-format-default", IPP_TAG_MIMETYPE)) + ippAddString(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_MIMETYPE), "document-format-default", NULL, "application/octet-stream"); - /* document-format-supported */ - ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_TAG_MIMETYPE, "document-format-supported", num_formats, NULL, formats); + /* document-format-supported */ + if (!ippFindAttribute(printer->attrs, "document-format-supported", IPP_TAG_MIMETYPE)) + ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_TAG_MIMETYPE, "document-format-supported", num_formats, NULL, formats); + } /* generated-natural-language-supported */ ippAddString(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_LANGUAGE), "generated-natural-language-supported", NULL, "en"); @@ -1935,24 +1925,13 @@ create_printer( ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_URISCHEME), "reference-uri-schemes-supported", (int)(sizeof(reference_uri_schemes_supported) / sizeof(reference_uri_schemes_supported[0])), NULL, reference_uri_schemes_supported); /* uri-authentication-supported */ -#ifdef HAVE_TLS if (PAMService) ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "uri-authentication-supported", 2, NULL, uri_authentication_basic); else ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "uri-authentication-supported", 2, NULL, uri_authentication_supported); -#else - if (PAMService) - ippAddString(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "uri-authentication-supported", NULL, "basic"); - else - ippAddString(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "uri-authentication-supported", NULL, "none"); -#endif /* HAVE_TLS */ /* uri-security-supported */ -#ifdef HAVE_TLS ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "uri-security-supported", 2, NULL, uri_security_supported); -#else - ippAddString(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "uri-security-supported", NULL, "none"); -#endif /* HAVE_TLS */ /* which-jobs-supported */ ippAddStrings(printer->attrs, IPP_TAG_PRINTER, IPP_CONST_TAG(IPP_TAG_KEYWORD), "which-jobs-supported", sizeof(which_jobs) / sizeof(which_jobs[0]), NULL, which_jobs); @@ -2539,11 +2518,7 @@ finish_document_uri( goto abort_job; } - if (strcmp(scheme, "file") && -#ifdef HAVE_TLS - strcmp(scheme, "https") && -#endif /* HAVE_TLS */ - strcmp(scheme, "http")) + if (strcmp(scheme, "file") && strcmp(scheme, "https") && strcmp(scheme, "http")) { respond_ipp(client, IPP_STATUS_ERROR_URI_SCHEME, "URI scheme \"%s\" not supported.", scheme); @@ -2620,12 +2595,10 @@ finish_document_uri( } else { -#ifdef HAVE_TLS if (port == 443 || !strcmp(scheme, "https")) encryption = HTTP_ENCRYPTION_ALWAYS; else -#endif /* HAVE_TLS */ - encryption = HTTP_ENCRYPTION_IF_REQUESTED; + encryption = HTTP_ENCRYPTION_IF_REQUESTED; if ((http = httpConnect(hostname, port, NULL, AF_UNSPEC, encryption, 1, 30000, NULL)) == NULL) { @@ -3692,10 +3665,8 @@ ipp_get_printer_attributes( httpAssembleURI(HTTP_URI_CODING_ALL, uris[0], sizeof(uris[0]), "ipp", NULL, client->host_field, client->host_port, "/ipp/print"); values[num_values ++] = uris[0]; -#ifdef HAVE_TLS httpAssembleURI(HTTP_URI_CODING_ALL, uris[1], sizeof(uris[1]), "ipps", NULL, client->host_field, client->host_port, "/ipp/print"); values[num_values ++] = uris[1]; -#endif /* HAVE_TLS */ ippAddStrings(client->response, IPP_TAG_PRINTER, IPP_TAG_URI, "printer-uri-supported", num_values, NULL, values); } @@ -4041,11 +4012,11 @@ ipp_validate_job(ippeve_client_t *client) /* I - Client */ * 'ippserver_attr_cb()' - Determine whether an attribute should be loaded. */ -static int /* O - 1 to use, 0 to ignore */ +static bool /* O - `true` to use, `false` to ignore */ ippserver_attr_cb( - _ipp_file_t *f, /* I - IPP file */ - void *user_data, /* I - User data pointer (unused) */ - const char *attr) /* I - Attribute name */ + ipp_file_t *f, /* I - IPP file */ + void *user_data, /* I - User data pointer (unused) */ + const char *attr) /* I - Attribute name */ { int i, /* Current element */ result; /* Result of comparison */ @@ -4069,6 +4040,7 @@ ippserver_attr_cb( "job-ids-supported", "job-k-octets-supported", "job-settable-attributes-supported", + "media-col-supported", "multiple-document-jobs-supported", "multiple-operation-time-out", "multiple-operation-time-out-action", @@ -4143,51 +4115,18 @@ ippserver_attr_cb( * 'ippserver_error_cb()' - Log an error message. */ -static int /* O - 1 to continue, 0 to stop */ +static bool /* O - `true` to continue, `false` to stop */ ippserver_error_cb( - _ipp_file_t *f, /* I - IPP file data */ - void *user_data, /* I - User data pointer (unused) */ - const char *error) /* I - Error message */ + ipp_file_t *f, /* I - IPP file data */ + void *user_data, /* I - User data pointer (unused) */ + const char *error) /* I - Error message */ { (void)f; (void)user_data; _cupsLangPrintf(stderr, "%s\n", error); - return (1); -} - - -/* - * 'ippserver_token_cb()' - Process ippserver-specific config file tokens. - */ - -static int /* O - 1 to continue, 0 to stop */ -ippserver_token_cb( - _ipp_file_t *f, /* I - IPP file data */ - _ipp_vars_t *vars, /* I - IPP variables */ - void *user_data, /* I - User data pointer (unused) */ - const char *token) /* I - Current token */ -{ - (void)vars; - (void)user_data; - - if (!token) - { - /* - * NULL token means do the initial setup - create an empty IPP message and - * return... - */ - - f->attrs = ippNew(); - f->group_tag = IPP_TAG_PRINTER; - } - else - { - _cupsLangPrintf(stderr, _("Unknown directive \"%s\" on line %d of \"%s\" ignored."), token, f->linenum, f->filename); - } - - return (1); + return (false); } @@ -4202,8 +4141,8 @@ load_ippserver_attributes( const char *filename, /* I - ippserver attribute filename */ cups_array_t *docformats) /* I - document-format-supported values */ { + ipp_file_t *file; // IPP data file ipp_t *attrs; /* IPP attributes */ - _ipp_vars_t vars; /* IPP variables */ char temp[256]; /* Temporary string */ @@ -4218,32 +4157,37 @@ load_ippserver_attributes( * - SERVERPORT: The default port of the server. */ - _ippVarsInit(&vars, (_ipp_fattr_cb_t)ippserver_attr_cb, (_ipp_ferror_cb_t)ippserver_error_cb, (_ipp_ftoken_cb_t)ippserver_token_cb); + attrs = ippNew(); + file = ippFileNew(NULL, (ipp_fattr_cb_t)ippserver_attr_cb, (ipp_ferror_cb_t)ippserver_error_cb, NULL); + + ippFileSetAttributes(file, attrs); + ippFileSetGroupTag(file, IPP_TAG_PRINTER); if (servername) { - _ippVarsSet(&vars, "SERVERNAME", servername); + ippFileSetVar(file, "SERVERNAME", servername); } else { httpGetHostname(NULL, temp, sizeof(temp)); - _ippVarsSet(&vars, "SERVERNAME", temp); + ippFileSetVar(file, "SERVERNAME", temp); } snprintf(temp, sizeof(temp), "%d", serverport); - _ippVarsSet(&vars, "SERVERPORT", temp); + ippFileSetVar(file, "SERVERPORT", temp); /* * Load attributes and values for the printer... */ - attrs = _ippFileParse(&vars, filename, NULL); + ippFileOpen(file, filename, "r"); + ippFileRead(file, NULL, false); /* * Free memory and return... */ - _ippVarsDeinit(&vars); + ippFileDelete(file); return (attrs); } @@ -5129,13 +5073,10 @@ process_client(ippeve_client_t *client) /* I - Client */ * Loop until we are out of requests or timeout (30 seconds)... */ -#ifdef HAVE_TLS - int first_time = 1; /* First time request? */ -#endif /* HAVE_TLS */ + bool first_time = true; /* First time request? */ while (httpWait(client->http, 30000)) { -#ifdef HAVE_TLS if (first_time) { /* @@ -5157,9 +5098,8 @@ process_client(ippeve_client_t *client) /* I - Client */ fprintf(stderr, "%s Connection now encrypted.\n", client->hostname); } - first_time = 0; + first_time = false; } -#endif /* HAVE_TLS */ if (!process_http(client)) break; @@ -5332,7 +5272,6 @@ process_http(ippeve_client_t *client) /* I - Client connection */ if (!strcasecmp(httpGetField(client->http, HTTP_FIELD_CONNECTION), "Upgrade")) { -#ifdef HAVE_TLS if (strstr(httpGetField(client->http, HTTP_FIELD_UPGRADE), "TLS/") != NULL && !httpIsEncrypted(client->http)) { if (!respond_http(client, HTTP_STATUS_SWITCHING_PROTOCOLS, NULL, NULL, 0)) @@ -5348,10 +5287,7 @@ process_http(ippeve_client_t *client) /* I - Client connection */ fprintf(stderr, "%s Connection now encrypted.\n", client->hostname); } - else -#endif /* HAVE_TLS */ - - if (!respond_http(client, HTTP_STATUS_NOT_IMPLEMENTED, NULL, NULL, 0)) + else if (!respond_http(client, HTTP_STATUS_NOT_IMPLEMENTED, NULL, NULL, 0)) return (0); } @@ -6557,9 +6493,7 @@ register_printer( TXTRecordSetValue(&ipp_txt, "Duplex", 1, ippGetCount(sides_supported) > 1 ? "T" : "F"); if ((value = ippGetString(printer_uuid, 0, NULL)) != NULL) TXTRecordSetValue(&ipp_txt, "UUID", (uint8_t)strlen(value) - 9, value + 9); -# ifdef HAVE_TLS - TXTRecordSetValue(&ipp_txt, "TLS", 3, "1.2"); -# endif /* HAVE_TLS */ + TXTRecordSetValue(&ipp_txt, "TLS", 3, "1.3"); if (urf[0]) TXTRecordSetValue(&ipp_txt, "URF", (uint8_t)strlen(urf), urf); TXTRecordSetValue(&ipp_txt, "txtvers", 1, "1"); @@ -6604,7 +6538,6 @@ register_printer( return (0); } -# ifdef HAVE_TLS /* * Then register the _ipps._tcp (IPP) service type with the real port number to * advertise our IPPS printer... @@ -6625,7 +6558,6 @@ register_printer( _cupsLangPrintf(stderr, _("Unable to register \"%s.%s\": %d"), printer->dnssd_name, regtype, error); return (0); } -# endif /* HAVE_TLS */ /* * Similarly, register the _http._tcp,_printer (HTTP) service type with the @@ -6664,9 +6596,7 @@ register_printer( ipp_txt = avahi_string_list_add_printf(ipp_txt, "Duplex=%s", ippGetCount(sides_supported) > 1 ? "T" : "F"); if ((value = ippGetString(printer_uuid, 0, NULL)) != NULL) ipp_txt = avahi_string_list_add_printf(ipp_txt, "UUID=%s", value + 9); -# ifdef HAVE_TLS - ipp_txt = avahi_string_list_add_printf(ipp_txt, "TLS=1.2"); -# endif /* HAVE_TLS */ + ipp_txt = avahi_string_list_add_printf(ipp_txt, "TLS=1.3"); if (urf[0]) ipp_txt = avahi_string_list_add_printf(ipp_txt, "URF=%s", urf); ipp_txt = avahi_string_list_add_printf(ipp_txt, "txtvers=1"); @@ -6708,7 +6638,6 @@ register_printer( free(temptypes); } -#ifdef HAVE_TLS /* * _ipps._tcp (IPPS) for secure printing... */ @@ -6731,7 +6660,6 @@ register_printer( free(temptypes); } -#endif /* HAVE_TLS */ /* * Finally _http.tcp (HTTP) for the web interface... @@ -7696,9 +7624,7 @@ usage(int status) /* O - Exit status */ _cupsLangPuts(stdout, _("-A Enable authentication")); _cupsLangPuts(stdout, _("-D device-uri Set the device URI for the printer")); _cupsLangPuts(stdout, _("-F output-type/subtype Set the output format for the printer")); -#ifdef HAVE_TLS _cupsLangPuts(stdout, _("-K keypath Set location of server X.509 certificates and keys.")); -#endif /* HAVE_TLS */ _cupsLangPuts(stdout, _("-M manufacturer Set manufacturer name (default=Test)")); _cupsLangPuts(stdout, _("-S filename.strings Set strings file")); _cupsLangPuts(stdout, _("-V version Set default IPP version")); diff --git a/tools/ipptool.c b/tools/ipptool.c index dcc8b1ed4..49e68cf9b 100644 --- a/tools/ipptool.c +++ b/tools/ipptool.c @@ -75,7 +75,7 @@ typedef enum ipptool_with_e /**** WITH flags ****/ typedef struct ipptool_expect_s /**** Expected attribute info ****/ { - int optional, /* Optional attribute? */ + bool optional, /* Optional attribute? */ not_expect, /* Don't expect attribute? */ expect_all; /* Expect all attributes to match/not match */ char *name, /* Attribute name */ @@ -89,11 +89,11 @@ typedef struct ipptool_expect_s /**** Expected attribute info ****/ *define_no_match, /* Variable to define on no-match */ *define_value, /* Variable to define with value */ *display_match; /* Message to display on a match */ - int repeat_limit, /* Maximum number of times to repeat */ - repeat_match, /* Repeat test on match */ + int repeat_limit; /* Maximum number of times to repeat */ + bool repeat_match, /* Repeat test on match */ repeat_no_match, /* Repeat test on no match */ - with_distinct, /* WITH-DISTINCT-VALUES? */ - with_flags; /* WITH flags */ + with_distinct; /* WITH-DISTINCT-VALUES? */ + int with_flags; /* WITH flags */ size_t count; /* Expected count if > 0 */ ipp_tag_t in_group; /* IN-GROUP value */ } ipptool_expect_t; @@ -120,42 +120,44 @@ typedef struct ipptool_status_s /**** Status info ****/ *define_match, /* Variable to define on match */ *define_no_match, /* Variable to define on no-match */ *define_value; /* Variable to define with value */ - int repeat_limit, /* Maximum number of times to repeat */ - repeat_match, /* Repeat the test when it does not match */ + int repeat_limit; /* Maximum number of times to repeat */ + bool repeat_match, /* Repeat the test when it does not match */ repeat_no_match; /* Repeat the test when it matches */ } ipptool_status_t; typedef struct ipptool_test_s /**** Test Data ****/ { /* Global Options */ - _ipp_vars_t *vars; /* Variables */ + ipp_file_t *parent; // Parent IPP data file values + int password_tries; // Number of password attempts http_encryption_t encryption; /* Encryption for connection */ int family; /* Address family */ ipptool_output_t output; /* Output mode */ - int repeat_on_busy; /* Repeat tests on server-error-busy */ - int stop_after_include_error; + bool repeat_on_busy; /* Repeat tests on server-error-busy */ + bool stop_after_include_error; /* Stop after include errors? */ double timeout; /* Timeout for connection */ - int validate_headers, /* Validate HTTP headers in response? */ - verbosity; /* Show all attributes? */ + bool validate_headers; /* Validate HTTP headers in response? */ + int verbosity; /* Show all attributes? */ /* Test Defaults */ - int def_ignore_errors; /* Default IGNORE-ERRORS value */ + bool def_ignore_errors; /* Default IGNORE-ERRORS value */ ipptool_transfer_t def_transfer; /* Default TRANSFER value */ int def_version; /* Default IPP version */ /* Global State */ http_t *http; /* HTTP connection to printer/server */ cups_file_t *outfile; /* Output file */ - int show_header, /* Show the test header? */ - xml_header; /* 1 if XML plist header was written */ - bool pass; /* Have we passed all tests? */ + bool show_header, /* Show the test header? */ + xml_header, /* `true` if XML plist header was written */ + pass; /* Have we passed all tests? */ int test_count, /* Number of tests (total) */ pass_count, /* Number of tests that passed */ fail_count, /* Number of tests that failed */ skip_count; /* Number of tests that were skipped */ /* Per-Test State */ + ipp_op_t op; // Operation code cups_array_t *errors; /* Errors array */ bool prev_pass, /* Result of previous test */ skip_previous; /* Skip on previous test failure? */ @@ -169,13 +171,13 @@ typedef struct ipptool_test_s /**** Test Data ****/ *last_expect; /* Last EXPECT (for predicates) */ char file[1024], /* Data filename */ file_id[1024]; /* File identifier */ - int ignore_errors; /* Ignore test failures? */ + bool ignore_errors; /* Ignore test failures? */ char name[1024]; /* Test name */ char pause[1024]; /* PAUSE value */ useconds_t repeat_interval; /* Repeat interval (delay) */ int request_id; /* Current request ID */ char resource[512]; /* Resource for request */ - int pass_test, /* Pass this test? */ + bool pass_test, /* Pass this test? */ skip_test; /* Skip this test? */ size_t num_statuses; /* Number of valid status codes */ ipptool_status_t statuses[100], /* Valid status codes */ @@ -184,7 +186,7 @@ typedef struct ipptool_test_s /**** Test Data ****/ ipptool_transfer_t transfer; /* To chunk or not to chunk */ int version; /* IPP version number to use */ cups_thread_t monitor_thread; /* Monitoring thread ID */ - int monitor_done; /* Set to 1 to stop monitor thread */ + bool monitor_done; /* Set to `true` to stop monitor thread */ char *monitor_uri; /* MONITOR-PRINTER-STATE URI */ useconds_t monitor_delay, /* MONITOR-PRINTER-STATE DELAY value, if any */ monitor_interval; /* MONITOR-PRINTER-STATE DELAY interval */ @@ -192,7 +194,7 @@ typedef struct ipptool_test_s /**** Test Data ****/ ipptool_expect_t monitor_expects[MAX_MONITOR]; /* MONITOR-PRINTER-STATE EXPECTs */ ipptool_generate_t *generate_params; /* GENERATE-FILE parameters */ - char buffer[1024 * 1024]; /* Output buffer */ + char buffer[1024*1024]; /* Output buffer */ } ipptool_test_t; @@ -200,7 +202,7 @@ typedef struct ipptool_test_s /**** Test Data ****/ * Globals... */ -static int Cancel = 0; /* Cancel test? */ +static bool Cancel = false; /* Cancel test? */ /* @@ -208,20 +210,23 @@ static int Cancel = 0; /* Cancel test? */ */ static void add_stringf(cups_array_t *a, const char *s, ...) _CUPS_FORMAT(2, 3); -static int compare_uris(const char *a, const char *b); +static ipptool_test_t *alloc_data(void); +static int compare_uris(const char *a, const char *b); +static http_t *connect_printer(ipptool_test_t *data); static void copy_hex_string(char *buffer, unsigned char *data, int datalen, size_t bufsize); static void *do_monitor_printer_state(ipptool_test_t *data); -static int do_test(_ipp_file_t *f, ipptool_test_t *data); -static int do_tests(const char *testfile, ipptool_test_t *data); -static int error_cb(_ipp_file_t *f, ipptool_test_t *data, const char *error); -static int expect_matches(ipptool_expect_t *expect, ipp_attribute_t *attr); +static bool do_test(ipp_file_t *file, ipptool_test_t *data); +static bool do_tests(const char *testfile, ipptool_test_t *data); +static bool error_cb(ipp_file_t *f, ipptool_test_t *data, const char *error); +static bool expect_matches(ipptool_expect_t *expect, ipp_attribute_t *attr); +static void free_data(ipptool_test_t *data); static http_status_t generate_file(http_t *http, ipptool_generate_t *params); static char *get_filename(const char *testfile, char *dst, const char *src, size_t dstsize); static const char *get_string(ipp_attribute_t *attr, size_t element, int flags, char *buffer, size_t bufsize); -static void init_data(ipptool_test_t *data); static char *iso_date(const ipp_uchar_t *date); -static int parse_generate_file(_ipp_file_t *f, ipptool_test_t *data); -static int parse_monitor_printer_state(_ipp_file_t *f, ipptool_test_t *data); +static bool parse_generate_file(ipp_file_t *f, ipptool_test_t *data); +static bool parse_monitor_printer_state(ipp_file_t *f, ipptool_test_t *data); +static const char *password_cb(const char *prompt, http_t *http, const char *method, const char *resource, void *user_data); static void pause_message(const char *message); static void print_attr(cups_file_t *outfile, ipptool_output_t output, ipp_attribute_t *attr, ipp_tag_t *group); static ipp_attribute_t *print_csv(ipptool_test_t *data, ipp_t *ipp, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths); @@ -238,12 +243,12 @@ static void print_xml_trailer(ipptool_test_t *data, int success, const char *mes static void sigterm_handler(int sig); #endif /* _WIN32 */ static bool timeout_cb(http_t *http, void *user_data); -static int token_cb(_ipp_file_t *f, _ipp_vars_t *vars, ipptool_test_t *data, const char *token); +static bool token_cb(ipp_file_t *f, ipptool_test_t *data, const char *token); static void usage(void) _CUPS_NORETURN; -static int with_distinct_values(cups_array_t *errors, ipp_attribute_t *attr); +static bool with_distinct_values(cups_array_t *errors, ipp_attribute_t *attr); static const char *with_flags_string(int flags); -static int with_value(ipptool_test_t *data, cups_array_t *errors, char *value, int flags, ipp_attribute_t *attr, char *matchbuf, size_t matchlen); -static int with_value_from(cups_array_t *errors, ipp_attribute_t *fromattr, ipp_attribute_t *attr, char *matchbuf, size_t matchlen); +static bool with_value(ipptool_test_t *data, cups_array_t *errors, char *value, int flags, ipp_attribute_t *attr, char *matchbuf, size_t matchlen); +static bool with_value_from(cups_array_t *errors, ipp_attribute_t *fromattr, ipp_attribute_t *attr, char *matchbuf, size_t matchlen); /* @@ -265,10 +270,9 @@ main(int argc, /* I - Number of command-line args */ *testfile; /* Test file to use */ int interval, /* Test interval in microseconds */ repeat; /* Repeat count */ - _ipp_vars_t vars; /* Variables */ - ipptool_test_t *data; /* Test data */ + ipptool_test_t *data; // Test data _cups_globals_t *cg = _cupsGlobals(); - /* Global data */ + // Global data #ifndef _WIN32 @@ -286,18 +290,7 @@ main(int argc, /* I - Number of command-line args */ _cupsSetLocale(argv); - if ((data = (ipptool_test_t *)calloc(1, sizeof(ipptool_test_t))) == NULL) - { - perror("ipptool: Unable to allocate memory for tests"); - return (1); - } - - init_data(data); - - _ippVarsInit(&vars, NULL, (_ipp_ferror_cb_t)error_cb, (_ipp_ftoken_cb_t)token_cb); - data->vars = &vars; - - _ippVarsSet(data->vars, "date-start", iso_date(ippTimeToDate(time(NULL)))); + data = alloc_data(); /* * We need at least: @@ -343,6 +336,7 @@ main(int argc, /* I - Number of command-line args */ } else if (!strcmp(argv[i], "--version")) { + free_data(data); puts(LIBCUPS_VERSION); return (0); } @@ -367,12 +361,7 @@ main(int argc, /* I - Number of command-line args */ break; case 'E' : /* Encrypt with TLS */ -#ifdef HAVE_TLS data->encryption = HTTP_ENCRYPTION_REQUIRED; -#else - _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), - argv[0]); -#endif /* HAVE_TLS */ break; case 'I' : /* Ignore errors */ @@ -415,11 +404,7 @@ main(int argc, /* I - Number of command-line args */ break; case 'S' : /* Encrypt with SSL */ -#ifdef HAVE_TLS data->encryption = HTTP_ENCRYPTION_ALWAYS; -#else - _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), "ipptool"); -#endif /* HAVE_TLS */ break; case 'T' : /* Set timeout */ @@ -499,7 +484,7 @@ main(int argc, /* I - Number of command-line args */ else value = name + strlen(name); - _ippVarsSet(data->vars, name, value); + ippFileSetVar(data->parent, name, value); break; case 'f' : /* Set the default test filename */ @@ -536,60 +521,44 @@ main(int argc, /* I - Number of command-line args */ else cupsCopyString(filename, argv[i], sizeof(filename)); - _ippVarsSet(data->vars, "filename", filename); + ippFileSetVar(data->parent, "filename", filename); if ((ext = strrchr(filename, '.')) != NULL) { - /* - * Guess the MIME media type based on the extension... - */ - + // Guess the MIME media type based on the extension... if (!_cups_strcasecmp(ext, ".gif")) - _ippVarsSet(data->vars, "filetype", "image/gif"); - else if (!_cups_strcasecmp(ext, ".htm") || - !_cups_strcasecmp(ext, ".htm.gz") || - !_cups_strcasecmp(ext, ".html") || - !_cups_strcasecmp(ext, ".html.gz")) - _ippVarsSet(data->vars, "filetype", "text/html"); - else if (!_cups_strcasecmp(ext, ".jpg") || - !_cups_strcasecmp(ext, ".jpeg")) - _ippVarsSet(data->vars, "filetype", "image/jpeg"); - else if (!_cups_strcasecmp(ext, ".pcl") || - !_cups_strcasecmp(ext, ".pcl.gz")) - _ippVarsSet(data->vars, "filetype", "application/vnd.hp-PCL"); + ippFileSetVar(data->parent, "filetype", "image/gif"); + else if (!_cups_strcasecmp(ext, ".htm") || !_cups_strcasecmp(ext, ".htm.gz") || !_cups_strcasecmp(ext, ".html") || !_cups_strcasecmp(ext, ".html.gz")) + ippFileSetVar(data->parent, "filetype", "text/html"); + else if (!_cups_strcasecmp(ext, ".jpg") || !_cups_strcasecmp(ext, ".jpeg")) + ippFileSetVar(data->parent, "filetype", "image/jpeg"); + else if (!_cups_strcasecmp(ext, ".pcl") || !_cups_strcasecmp(ext, ".pcl.gz")) + ippFileSetVar(data->parent, "filetype", "application/vnd.hp-PCL"); else if (!_cups_strcasecmp(ext, ".pdf")) - _ippVarsSet(data->vars, "filetype", "application/pdf"); + ippFileSetVar(data->parent, "filetype", "application/pdf"); else if (!_cups_strcasecmp(ext, ".png")) - _ippVarsSet(data->vars, "filetype", "image/png"); - else if (!_cups_strcasecmp(ext, ".ps") || - !_cups_strcasecmp(ext, ".ps.gz")) - _ippVarsSet(data->vars, "filetype", "application/postscript"); - else if (!_cups_strcasecmp(ext, ".pwg") || - !_cups_strcasecmp(ext, ".pwg.gz") || - !_cups_strcasecmp(ext, ".ras") || - !_cups_strcasecmp(ext, ".ras.gz")) - _ippVarsSet(data->vars, "filetype", "image/pwg-raster"); - else if (!_cups_strcasecmp(ext, ".tif") || - !_cups_strcasecmp(ext, ".tiff")) - _ippVarsSet(data->vars, "filetype", "image/tiff"); - else if (!_cups_strcasecmp(ext, ".txt") || - !_cups_strcasecmp(ext, ".txt.gz")) - _ippVarsSet(data->vars, "filetype", "text/plain"); - else if (!_cups_strcasecmp(ext, ".urf") || - !_cups_strcasecmp(ext, ".urf.gz")) - _ippVarsSet(data->vars, "filetype", "image/urf"); + ippFileSetVar(data->parent, "filetype", "image/png"); + else if (!_cups_strcasecmp(ext, ".ps") || !_cups_strcasecmp(ext, ".ps.gz")) + ippFileSetVar(data->parent, "filetype", "application/postscript"); + else if (!_cups_strcasecmp(ext, ".pwg") || !_cups_strcasecmp(ext, ".pwg.gz") || !_cups_strcasecmp(ext, ".ras") || !_cups_strcasecmp(ext, ".ras.gz")) + ippFileSetVar(data->parent, "filetype", "image/pwg-raster"); + else if (!_cups_strcasecmp(ext, ".pxl") || !_cups_strcasecmp(ext, ".pxl.gz")) + ippFileSetVar(data->parent, "filetype", "application/vnd.hp-PCLXL"); + else if (!_cups_strcasecmp(ext, ".tif") || !_cups_strcasecmp(ext, ".tiff")) + ippFileSetVar(data->parent, "filetype", "image/tiff"); + else if (!_cups_strcasecmp(ext, ".txt") || !_cups_strcasecmp(ext, ".txt.gz")) + ippFileSetVar(data->parent, "filetype", "text/plain"); + else if (!_cups_strcasecmp(ext, ".urf") || !_cups_strcasecmp(ext, ".urf.gz")) + ippFileSetVar(data->parent, "filetype", "image/urf"); else if (!_cups_strcasecmp(ext, ".xps")) - _ippVarsSet(data->vars, "filetype", "application/openxps"); + ippFileSetVar(data->parent, "filetype", "application/openxps"); else - _ippVarsSet(data->vars, "filetype", "application/octet-stream"); + ippFileSetVar(data->parent, "filetype", "application/octet-stream"); } else { - /* - * Use the "auto-type" MIME media type... - */ - - _ippVarsSet(data->vars, "filetype", "application/octet-stream"); + // Use the "auto-type" MIME media type... + ippFileSetVar(data->parent, "filetype", "application/octet-stream"); } break; @@ -666,43 +635,31 @@ main(int argc, /* I - Number of command-line args */ } } } - else if (!strncmp(argv[i], "ipp://", 6) || !strncmp(argv[i], "http://", 7) -#ifdef HAVE_TLS - || !strncmp(argv[i], "ipps://", 7) || !strncmp(argv[i], "https://", 8) -#endif /* HAVE_TLS */ - ) + else if (!strncmp(argv[i], "ipp://", 6) || !strncmp(argv[i], "http://", 7) || !strncmp(argv[i], "ipps://", 7) || !strncmp(argv[i], "https://", 8)) { - /* - * Set URI... - */ - - if (data->vars->uri) + // Set URI... + if (ippFileGetVar(data->parent, "uri")) { _cupsLangPuts(stderr, _("ipptool: May only specify a single URI.")); usage(); } -#ifdef HAVE_TLS if (!strncmp(argv[i], "ipps://", 7) || !strncmp(argv[i], "https://", 8)) data->encryption = HTTP_ENCRYPTION_ALWAYS; -#endif /* HAVE_TLS */ - if (!_ippVarsSet(data->vars, "uri", argv[i])) + if (!ippFileSetVar(data->parent, "uri", argv[i])) { _cupsLangPrintf(stderr, _("ipptool: Bad URI \"%s\"."), argv[i]); return (1); } - if (data->vars->username[0] && data->vars->password) - cupsSetPasswordCB(_ippVarsPasswordCB, data->vars); + if (ippFileGetVar(data->parent, "uriuser") && ippFileGetVar(data->parent, "uripassword")) + cupsSetPasswordCB(password_cb, data->parent); } else { - /* - * Run test... - */ - - if (!data->vars->uri) + // Run test... + if (!ippFileGetVar(data->parent, "uri")) { _cupsLangPuts(stderr, _("ipptool: URI required before test file.")); _cupsLangPuts(stderr, argv[i]); @@ -734,15 +691,14 @@ main(int argc, /* I - Number of command-line args */ } } - if (!data->vars->uri || !testfile) + if (!ippFileGetVar(data->parent, "uri") || !testfile) usage(); - /* - * Loop if the interval is set... - */ - + // Loop if the interval is set... if (data->output == IPPTOOL_OUTPUT_PLIST) + { print_xml_trailer(data, !status, NULL); + } else if (interval > 0 && repeat > 0) { while (repeat > 1) @@ -763,19 +719,14 @@ main(int argc, /* I - Number of command-line args */ if ((data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile)) && data->test_count > 1) { - /* - * Show a summary report if there were multiple tests... - */ - + // Show a summary report if there were multiple tests... cupsFilePrintf(cupsFileStdout(), "\nSummary: %d tests, %d passed, %d failed, %d skipped\nScore: %d%%\n", data->test_count, data->pass_count, data->fail_count, data->skip_count, 100 * (data->pass_count + data->skip_count) / data->test_count); } cupsFileClose(data->outfile); + free_data(data); - /* - * Exit... - */ - + // Exit... return (status); } @@ -816,6 +767,40 @@ add_stringf(cups_array_t *a, /* I - Array */ } +/* + * 'alloc_data()' - Initialize and allocate test data. + */ + +static ipptool_test_t * // O - Test data +alloc_data(void) +{ + ipptool_test_t *data; // Test data + + + if ((data = calloc(1, sizeof(ipptool_test_t))) == NULL) + { + _cupsLangPrintf(stderr, _("ipptool: Unable to allocate memory: %s"), strerror(errno)); + exit(1); + } + + data->parent = ippFileNew(/*parent*/NULL, /*attr_cb*/NULL, (ipp_ferror_cb_t)error_cb, data); + data->output = IPPTOOL_OUTPUT_LIST; + data->outfile = cupsFileStdout(); + data->family = AF_UNSPEC; + data->def_transfer = IPPTOOL_TRANSFER_AUTO; + data->def_version = 20; + data->errors = cupsArrayNew(NULL, NULL, NULL, 0, (cups_acopy_cb_t)strdup, (cups_afree_cb_t)free); + data->pass = true; + data->prev_pass = true; + data->request_id = (CUPS_RAND() % 1000) * 137; + data->show_header = true; + + ippFileSetVar(data->parent, "date-start", iso_date(ippTimeToDate(time(NULL)))); + + return (data); +} + + /* * 'compare_uris()' - Compare two URIs... */ @@ -881,6 +866,41 @@ compare_uris(const char *a, /* I - First URI */ } +// +// 'connect_printer()' - Connect to the printer. +// + +static http_t * // O - HTTP connection or `NULL` on error +connect_printer(ipptool_test_t *data) // I - Test data +{ + const char *scheme = ippFileGetVar(data->parent, "scheme"), + *hostname = ippFileGetVar(data->parent, "hostname"), + *port = ippFileGetVar(data->parent, "port"); + // URI fields + http_encryption_t encryption; // Encryption mode + http_t *http; // HTTP connection + + + if (!_cups_strcasecmp(scheme, "https") || !_cups_strcasecmp(scheme, "ipps") || atoi(port) == 443) + encryption = HTTP_ENCRYPTION_ALWAYS; + else + encryption = data->encryption; + + if ((http = httpConnect(hostname, atoi(port), NULL, data->family, encryption, 1, 30000, NULL)) == NULL) + { + print_fatal_error(data, "Unable to connect to '%s' on port %s: %s", hostname, port, cupsLastErrorString()); + return (NULL); + } + + httpSetDefaultField(data->http, HTTP_FIELD_ACCEPT_ENCODING, "deflate, gzip, identity"); + + if (data->timeout > 0.0) + httpSetTimeout(http, data->timeout, timeout_cb, NULL); + + return (http); +} + + /* * 'copy_hex_string()' - Copy an octetString to a C string and encode as hex if * needed. @@ -1061,10 +1081,10 @@ do_monitor_printer_state( for (i = data->num_monitor_expects, expect = data->monitor_expects; i > 0; i --, expect ++) { - if (expect->if_defined && !_ippVarsGet(data->vars, expect->if_defined)) + if (expect->if_defined && !ippFileGetVar(data->parent, expect->if_defined)) continue; - if (expect->if_not_defined && _ippVarsGet(data->vars, expect->if_not_defined)) + if (expect->if_not_defined && ippFileGetVar(data->parent, expect->if_not_defined)) continue; found = ippFindAttribute(response, expect->name, IPP_TAG_ZERO); @@ -1077,7 +1097,7 @@ do_monitor_printer_state( { if (expect->define_no_match) { - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); data->monitor_done = 1; } break; @@ -1090,7 +1110,7 @@ do_monitor_printer_state( { if (expect->define_no_match) { - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); data->monitor_done = 1; } break; @@ -1100,7 +1120,7 @@ do_monitor_printer_state( { if (expect->define_no_match) { - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); data->monitor_done = 1; } break; @@ -1111,7 +1131,7 @@ do_monitor_printer_state( if (found && expect->define_match) { - _ippVarsSet(data->vars, expect->define_match, "1"); + ippFileSetVar(data->parent, expect->define_match, "1"); data->monitor_done = 1; } @@ -1155,7 +1175,7 @@ do_monitor_printer_state( } } - _ippVarsSet(data->vars, expect->define_value, buffer); + ippFileSetVar(data->parent, expect->define_value, buffer); data->monitor_done = 1; } } @@ -1186,8 +1206,8 @@ do_monitor_printer_state( * 'do_test()' - Do a single test from the test file. */ -static int /* O - 1 on success, 0 on failure */ -do_test(_ipp_file_t *f, /* I - IPP data file */ +static bool /* O - `true` on success, `false` on failure */ +do_test(ipp_file_t *f, /* I - IPP data file */ ipptool_test_t *data) /* I - Test data */ { @@ -1212,7 +1232,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ if (Cancel) - return (0); + return (false); if (getenv("IPPTOOL_DEBUG")) fprintf(stderr, "ipptool: Doing test '%s', num_expects=%u, num_statuses=%u.\n", data->name, (unsigned)data->num_expects, (unsigned)data->num_statuses); @@ -1235,7 +1255,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ if (data->monitor_uri) { - data->monitor_done = 0; + data->monitor_done = false; data->monitor_thread = cupsThreadCreate((cups_thread_func_t)do_monitor_printer_state, data); } @@ -1243,8 +1263,8 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ * Take over control of the attributes in the request... */ - request = f->attrs; - f->attrs = NULL; + request = ippFileGetAttributes(f); + ippFileSetAttributes(f, NULL); /* * Submit the IPP request... @@ -1252,6 +1272,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ data->test_count ++; + ippSetOperation(request, data->op); ippSetVersion(request, data->version / 10, data->version % 10); ippSetRequestId(request, data->request_id); @@ -1339,7 +1360,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ goto skip_error; } - data->vars->password_tries = 0; + data->password_tries = 0; do { @@ -1387,8 +1408,8 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ * Send the request... */ - data->prev_pass = 1; - repeat_test = 0; + data->prev_pass = true; + repeat_test = false; response = NULL; if (status != HTTP_STATUS_ERROR) @@ -1447,11 +1468,11 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ #endif /* _WIN32 */ { if (httpReconnect(data->http, 30000, NULL)) - data->prev_pass = 0; + data->prev_pass = false; } else if (status == HTTP_STATUS_ERROR || status == HTTP_STATUS_CUPS_AUTHORIZATION_CANCELED) { - data->prev_pass = 0; + data->prev_pass = false; break; } else if (status != HTTP_STATUS_OK) @@ -1474,19 +1495,19 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ #endif /* _WIN32 */ { if (httpReconnect(data->http, 30000, NULL)) - data->prev_pass = 0; + data->prev_pass = false; } else if (status == HTTP_STATUS_ERROR) { if (!Cancel) httpReconnect(data->http, 30000, NULL); - data->prev_pass = 0; + data->prev_pass = false; } else if (status != HTTP_STATUS_OK) { httpFlush(data->http); - data->prev_pass = 0; + data->prev_pass = false; } /* @@ -1530,16 +1551,16 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ if ((attrptr = ippFindAttribute(response, "job-id", IPP_TAG_INTEGER)) != NULL) { snprintf(temp, sizeof(temp), "%d", ippGetInteger(attrptr, 0)); - _ippVarsSet(data->vars, "job-id", temp); + ippFileSetVar(data->parent, "job-id", temp); } if ((attrptr = ippFindAttribute(response, "job-uri", IPP_TAG_URI)) != NULL) - _ippVarsSet(data->vars, "job-uri", ippGetString(attrptr, 0, NULL)); + ippFileSetVar(data->parent, "job-uri", ippGetString(attrptr, 0, NULL)); if ((attrptr = ippFindAttribute(response, "notify-subscription-id", IPP_TAG_INTEGER)) != NULL) { snprintf(temp, sizeof(temp), "%d", ippGetInteger(attrptr, 0)); - _ippVarsSet(data->vars, "notify-subscription-id", temp); + ippFileSetVar(data->parent, "notify-subscription-id", temp); } /* @@ -1689,10 +1710,10 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ { for (i = 0, status_ok = false; i < data->num_statuses; i ++) { - if (data->statuses[i].if_defined && !_ippVarsGet(data->vars, data->statuses[i].if_defined)) + if (data->statuses[i].if_defined && !ippFileGetVar(f, data->statuses[i].if_defined)) continue; - if (data->statuses[i].if_not_defined && _ippVarsGet(data->vars, data->statuses[i].if_not_defined)) + if (data->statuses[i].if_not_defined && ippFileGetVar(f, data->statuses[i].if_not_defined)) continue; if (ippGetStatusCode(response) == data->statuses[i].status) @@ -1703,7 +1724,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ repeat_test = true; if (data->statuses[i].define_match) - _ippVarsSet(data->vars, data->statuses[i].define_match, "1"); + ippFileSetVar(data->parent, data->statuses[i].define_match, "1"); } else { @@ -1712,7 +1733,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ if (data->statuses[i].define_no_match) { - _ippVarsSet(data->vars, data->statuses[i].define_no_match, "1"); + ippFileSetVar(data->parent, data->statuses[i].define_no_match, "1"); status_ok = true; } } @@ -1723,10 +1744,10 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ { for (i = 0; i < data->num_statuses; i ++) { - if (data->statuses[i].if_defined && !_ippVarsGet(data->vars, data->statuses[i].if_defined)) + if (data->statuses[i].if_defined && !ippFileGetVar(f, data->statuses[i].if_defined)) continue; - if (data->statuses[i].if_not_defined && _ippVarsGet(data->vars, data->statuses[i].if_not_defined)) + if (data->statuses[i].if_not_defined && ippFileGetVar(f, data->statuses[i].if_not_defined)) continue; if (!data->statuses[i].repeat_match || repeat_count >= data->statuses[i].repeat_limit) @@ -1741,11 +1762,10 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ { ipp_attribute_t *group_found; /* Found parent attribute for group tests */ - if (expect->if_defined && !_ippVarsGet(data->vars, expect->if_defined)) + if (expect->if_defined && !ippFileGetVar(f, expect->if_defined)) continue; - if (expect->if_not_defined && - _ippVarsGet(data->vars, expect->if_not_defined)) + if (expect->if_not_defined && ippFileGetVar(f, expect->if_not_defined)) continue; if ((found = ippFindAttribute(response, expect->name, IPP_TAG_ZERO)) != NULL && expect->in_group && expect->in_group != ippGetGroupTag(found)) @@ -1778,7 +1798,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ (expect->with_distinct && !with_distinct_values(NULL, found))) { if (expect->define_no_match) - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); else if (!expect->define_match && !expect->define_value) { if (found && expect->not_expect && !expect->with_value && !expect->with_value_from) @@ -1813,7 +1833,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ if (found && expect->with_value_from && !with_value_from(NULL, ippFindAttribute(response, expect->with_value_from, IPP_TAG_ZERO), found, data->buffer, sizeof(data->buffer))) { if (expect->define_no_match) - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); else if (!expect->define_match && !expect->define_value && ((!expect->repeat_match && !expect->repeat_no_match) || repeat_count >= expect->repeat_limit)) { add_stringf(data->errors, "EXPECTED: %s WITH-VALUES-FROM %s", expect->name, expect->with_value_from); @@ -1829,7 +1849,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ else if (found && !with_value(data, NULL, expect->with_value, expect->with_flags, found, data->buffer, sizeof(data->buffer))) { if (expect->define_no_match) - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); else if (!expect->define_match && !expect->define_value && !expect->repeat_match && (!expect->repeat_no_match || repeat_count >= expect->repeat_limit)) { @@ -1850,7 +1870,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ if (found && expect->count > 0 && ippGetCount(found) != expect->count) { if (expect->define_no_match) - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); else if (!expect->define_match && !expect->define_value) { add_stringf(data->errors, "EXPECTED: %s COUNT %u (got %u)", expect->name, (unsigned)expect->count, (unsigned)ippGetCount(found)); @@ -1870,7 +1890,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ if (!attrptr || ippGetCount(attrptr) != ippGetCount(found)) { if (expect->define_no_match) - _ippVarsSet(data->vars, expect->define_no_match, "1"); + ippFileSetVar(data->parent, expect->define_no_match, "1"); else if (!expect->define_match && !expect->define_value) { if (!attrptr) @@ -1890,7 +1910,7 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ cupsFilePrintf(cupsFileStdout(), "\n%s\n\n", expect->display_match); if (found && expect->define_match) - _ippVarsSet(data->vars, expect->define_match, "1"); + ippFileSetVar(data->parent, expect->define_match, "1"); if (found && expect->define_value) { @@ -1947,11 +1967,10 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ } } - _ippVarsSet(data->vars, expect->define_value, data->buffer); + ippFileSetVar(data->parent, expect->define_value, data->buffer); } - if (found && expect->repeat_match && - repeat_count < expect->repeat_limit) + if (found && expect->repeat_match && repeat_count < expect->repeat_limit) repeat_test = 1; } while (expect->expect_all && (found = ippFindNextAttribute(response, expect->name, IPP_TAG_ZERO)) != NULL); @@ -2248,43 +2267,34 @@ do_test(_ipp_file_t *f, /* I - IPP data file */ * 'do_tests()' - Do tests as specified in the test file. */ -static int /* O - 1 on success, 0 on failure */ -do_tests(const char *testfile, /* I - Test file to use */ - ipptool_test_t *data) /* I - Test data */ +static bool // O - `true` on success, `false` on failure +do_tests(const char *testfile, // I - Test file to use + ipptool_test_t *data) // I - Test data { - http_encryption_t encryption; /* Encryption mode */ + ipp_file_t *file; // IPP data file - /* - * Connect to the printer/server... - */ - - if (!_cups_strcasecmp(data->vars->scheme, "https") || !_cups_strcasecmp(data->vars->scheme, "ipps") || data->vars->port == 443) - encryption = HTTP_ENCRYPTION_ALWAYS; - else - encryption = data->encryption; + // Connect to the printer/server... + data->http = connect_printer(data); - if ((data->http = httpConnect(data->vars->host, data->vars->port, NULL, data->family, encryption, 1, 30000, NULL)) == NULL) + // Run tests... + if ((file = ippFileNew(data->parent, NULL, (ipp_ferror_cb_t)error_cb, data)) == NULL) { - print_fatal_error(data, "Unable to connect to \"%s\" on port %d - %s", data->vars->host, data->vars->port, cupsLastErrorString()); - return (0); + print_fatal_error(data, "Unable to create test file parser: %s", cupsLastErrorString()); + return (false); } - httpSetDefaultField(data->http, HTTP_FIELD_ACCEPT_ENCODING, "deflate, gzip, identity"); - - if (data->timeout > 0.0) - httpSetTimeout(data->http, data->timeout, timeout_cb, NULL); - - /* - * Run tests... - */ + if (!ippFileOpen(file, testfile, "r")) + { + print_fatal_error(data, "Unable to open '%s': %s", testfile, cupsLastErrorString()); + return (false); + } - _ippFileParse(data->vars, testfile, (void *)data); + ippFileRead(file, (ipp_ftoken_cb_t)token_cb, true); - /* - * Close connection and return... - */ + ippFileDelete(file); + // Close connection and return... httpClose(data->http); data->http = NULL; @@ -2296,16 +2306,16 @@ do_tests(const char *testfile, /* I - Test file to use */ * 'error_cb()' - Print/add an error message. */ -static int /* O - 1 to continue, 0 to stop */ -error_cb(_ipp_file_t *f, /* I - IPP file data */ - ipptool_test_t *data, /* I - Test data */ - const char *error) /* I - Error message */ +static bool // O - `true` to continue, `false` to stop +error_cb(ipp_file_t *f, // I - IPP file data (not used) + ipptool_test_t *data, // I - Test data + const char *error) // I - Error message { (void)f; print_fatal_error(data, "%s", error); - return (1); + return (true); } @@ -2313,7 +2323,7 @@ error_cb(_ipp_file_t *f, /* I - IPP file data */ * 'expect_matches()' - Return true if the tag matches the specification. */ -static int /* O - 1 if matches, 0 otherwise */ +static bool // O - `true` on match, `false` on non-match expect_matches( ipptool_expect_t *expect, /* I - Expected attribute */ ipp_attribute_t *attr) /* I - Attribute */ @@ -2329,36 +2339,24 @@ expect_matches( int lower, upper; /* Lower and upper bounds for syntax */ - /* - * If we don't expect a particular type, return immediately... - */ - + // If we don't expect a particular type, return immediately... if (!expect->of_type) - return (1); - - /* - * Parse the "of_type" value since the string can contain multiple attribute - * types separated by "," or "|"... - */ + return (true); + // Parse the "of_type" value since the string can contain multiple attribute + // types separated by "," or "|"... value_tag = ippGetValueTag(attr); count = ippGetCount(attr); for (of_type = expect->of_type, match = false; !match && *of_type; of_type = next) { - /* - * Find the next separator, and set it (temporarily) to nul if present. - */ - + // Find the next separator, and set it (temporarily) to nul if present. for (next = of_type; *next && *next != '|' && *next != ','; next ++); if ((sep = *next) != '\0') *next = '\0'; - /* - * Support some meta-types to make it easier to write the test file. - */ - + // Support some meta-types to make it easier to write the test file. if ((paren = strchr(of_type, '(')) != NULL) { char *ptr; // Pointer into syntax string @@ -2500,10 +2498,7 @@ expect_matches( } } - /* - * Restore the separators if we have them... - */ - + // Restore the separators if we have them... if (paren) *paren = '('; @@ -2515,11 +2510,23 @@ expect_matches( } +// +// 'free_data()' - Free test data. +// + +static void +free_data(ipptool_test_t *data) // I - Test data +{ + ippFileDelete(data->parent); + free(data); +} + + // // 'generate_file()' - Generate a print file. // -static http_status_t +static http_status_t // O - HTTP status generate_file( http_t *http, // I - HTTP connection ipptool_generate_t *params) // I - GENERATE-FILE parameters @@ -2723,28 +2730,6 @@ get_string(ipp_attribute_t *attr, /* I - IPP attribute */ } -/* - * 'init_data()' - Initialize test data. - */ - -static void -init_data(ipptool_test_t *data) /* I - Data */ -{ - memset(data, 0, sizeof(ipptool_test_t)); - - data->output = IPPTOOL_OUTPUT_LIST; - data->outfile = cupsFileStdout(); - data->family = AF_UNSPEC; - data->def_transfer = IPPTOOL_TRANSFER_AUTO; - data->def_version = 11; - data->errors = cupsArrayNew(NULL, NULL, NULL, 0, (cups_acopy_cb_t)strdup, (cups_afree_cb_t)free); - data->pass = true; - data->prev_pass = true; - data->request_id = (CUPS_RAND() % 1000) * 137; - data->show_header = 1; -} - - /* * 'iso_date()' - Return an ISO 8601 date/time string for the given IPP dateTime * value. @@ -2784,9 +2769,9 @@ iso_date(const ipp_uchar_t *date) /* I - IPP (RFC 1903) date/time value */ * } */ -static int // O - 1 to continue, 0 to stop +static bool // O - `true` to continue, `false` to stop parse_generate_file( - _ipp_file_t *f, // I - IPP file data + ipp_file_t *f, // I - IPP file data ipptool_test_t *data) // I - Test data { size_t i; // Looping var @@ -2843,44 +2828,42 @@ parse_generate_file( // Make sure we have an open brace after the GENERATE-FILE... - if (!_ippFileReadToken(f, token, sizeof(token)) || strcmp(token, "{")) + if (!ippFileReadToken(f, token, sizeof(token)) || strcmp(token, "{")) { - print_fatal_error(data, "Missing open brace on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing open brace on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } // Get printer attributes... - if ((http = httpConnect(data->vars->host, data->vars->port, NULL, data->family, data->encryption, 1, 30000, NULL)) == NULL) + if ((http = connect_printer(data)) == NULL) { - print_fatal_error(data, "Unable to connect to printer for GENERATE-FILE on line %d of \"%s\".", f->linenum, f->filename); - print_fatal_error(data, "Error: %s", cupsLastErrorString()); - return (0); + print_fatal_error(data, "GENERATE-FILE connection failure on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, data->vars->uri); + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, ippFileGetVar(data->parent, "uri")); - response = cupsDoRequest(http, request, data->vars->resource); + response = cupsDoRequest(http, request, ippFileGetVar(data->parent, "resource")); httpClose(http); if (cupsLastError() >= IPP_STATUS_ERROR_BAD_REQUEST) { - print_fatal_error(data, "Unable to get printer attributes for GENERATE-FILE on line %d of \"%s\".", f->linenum, f->filename); - print_fatal_error(data, "Error: %s", cupsLastErrorString()); + print_fatal_error(data, "GENERATE-FILE query failure on line %d of '%s': %s", ippFileGetLineNumber(f), ippFileGetFilename(f), cupsLastErrorString()); ippDelete(response); - return (0); + return (false); } // Allocate parameters... if ((params = calloc(1, sizeof(ipptool_generate_t))) == NULL) { - print_fatal_error(data, "Unable to allocate memory for GENERATE-FILE on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "GENERATE-FILE memory allocation failure on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } // Loop until we get a closing brace... - while (_ippFileReadToken(f, token, sizeof(token))) + while (ippFileReadToken(f, token, sizeof(token))) { if (!strcmp(token, "}")) { @@ -2888,7 +2871,7 @@ parse_generate_file( if (!params->type[0]) { // Get request/printer default value for print-color-mode, default to "auto"... - if ((attr = ippFindAttribute(f->attrs, "print-color-mode", IPP_TAG_KEYWORD)) == NULL) + if ((attr = ippFileGetAttribute(f, "print-color-mode", IPP_TAG_KEYWORD)) == NULL) attr = ippFindAttribute(response, "print-color-mode-default", IPP_TAG_KEYWORD); if (attr) @@ -2916,7 +2899,7 @@ parse_generate_file( if (!params->type[0]) { - print_fatal_error(data, "Printer does not support COLORSPACE \"auto\" on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not support COLORSPACE \"auto\" on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -2938,7 +2921,7 @@ parse_generate_file( if (!params->type[0]) { - print_fatal_error(data, "Printer does not support COLORSPACE \"bi-level\" on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not support COLORSPACE \"bi-level\" on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -2961,7 +2944,7 @@ parse_generate_file( if (!params->type[0]) { - print_fatal_error(data, "Printer does not support COLORSPACE \"color\" on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not support COLORSPACE \"color\" on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -2984,7 +2967,7 @@ parse_generate_file( if (!params->type[0]) { - print_fatal_error(data, "Printer does not support COLORSPACE \"monochrome\" on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not support COLORSPACE \"monochrome\" on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -2993,11 +2976,11 @@ parse_generate_file( if (!params->format[0]) { // Check the supported formats and choose a suitable one... - if ((keyword = ippGetString(ippFindAttribute(f->attrs, "document-format", IPP_TAG_MIMETYPE), 0, NULL)) != NULL) + if ((keyword = ippGetString(ippFileGetAttribute(f, "document-format", IPP_TAG_MIMETYPE), 0, NULL)) != NULL) { if (strcmp(keyword, "image/pwg-raster") && strcmp(keyword, "image/urf")) { - print_fatal_error(data, "Unsupported \"document-format\" value on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unsupported \"document-format\" value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } @@ -3015,7 +2998,7 @@ parse_generate_file( if (!params->format[0]) { - print_fatal_error(data, "Printer does not support a compatible FORMAT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not support a compatible FORMAT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3024,7 +3007,7 @@ parse_generate_file( if (!params->media[0] || !strcmp(params->media, "default")) { // Use job ticket or default media... - if (!params->media[0] && (keyword = ippGetString(ippFindAttribute(f->attrs, "media", IPP_TAG_ZERO), 0, NULL)) != NULL) + if (!params->media[0] && (keyword = ippGetString(ippFileGetAttribute(f, "media", IPP_TAG_ZERO), 0, NULL)) != NULL) { cupsCopyString(params->media, keyword, sizeof(params->media)); } @@ -3034,7 +3017,7 @@ parse_generate_file( } else { - print_fatal_error(data, "Printer does not report a default MEDIA size name on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not report a default MEDIA size name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3047,7 +3030,7 @@ parse_generate_file( } else { - print_fatal_error(data, "Printer does not report a ready MEDIA size name on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not report a ready MEDIA size name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3086,7 +3069,7 @@ parse_generate_file( if (!params->xdpi || !params->ydpi) { - print_fatal_error(data, "Printer does not report a supported RESOLUTION on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Printer does not report a supported RESOLUTION on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3094,7 +3077,7 @@ parse_generate_file( // Default duplex/sides if (!params->sides[0]) { - if ((keyword = ippGetString(ippFindAttribute(f->attrs, "sides", IPP_TAG_ZERO), 0, NULL)) != NULL) + if ((keyword = ippGetString(ippFileGetAttribute(f, "sides", IPP_TAG_ZERO), 0, NULL)) != NULL) { // Use the setting from the job ticket... cupsCopyString(params->sides, keyword, sizeof(params->sides)); @@ -3118,7 +3101,7 @@ parse_generate_file( if (!params->orientation) { // Use the job ticket value, otherwise use landscape for short-edge duplex - if ((attr = ippFindAttribute(f->attrs, "orientation-requested", IPP_TAG_ENUM)) != NULL) + if ((attr = ippFileGetAttribute(f, "orientation-requested", IPP_TAG_ENUM)) != NULL) params->orientation = (ipp_orient_t)ippGetInteger(attr, 0); else params->orientation = !strcmp(params->sides, "two-sided-short-edge") ? IPP_ORIENT_LANDSCAPE : IPP_ORIENT_PORTRAIT; @@ -3165,17 +3148,17 @@ parse_generate_file( { if (params->type[0]) { - print_fatal_error(data, "Unexpected extra COLORSPACE on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unexpected extra COLORSPACE on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing COLORSPACE value on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing COLORSPACE value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if (!strcmp(value, "auto") || !strcmp(value, "bi-level") || !strcmp(value, "color") || !strcmp(value, "monochrome") || !strcmp(value, "adobe-rgb_8") || !strcmp(value, "adobe-rgb_16") || !strcmp(value, "black_1") || !strcmp(value, "black_8") || !strcmp(value, "black_16") || !strcmp(value, "cmyk_8") || !strcmp(value, "cmyk_16") || !strcmp(value, "rgb_8") || !strcmp(value, "rgb_16") || !strcmp(value, "sgray_1") || !strcmp(value, "sgray_8") || !strcmp(value, "sgray_16") || !strcmp(value, "srgb_8") || !strcmp(value, "srgb_16")) { @@ -3184,7 +3167,7 @@ parse_generate_file( } else { - print_fatal_error(data, "Bad COLORSPACE \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad COLORSPACE \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3192,17 +3175,17 @@ parse_generate_file( { if (params->format[0]) { - print_fatal_error(data, "Unexpected extra FORMAT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unexpected extra FORMAT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing FORMAT MIME media type on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing FORMAT MIME media type on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if (!strcmp(value, "image/pwg-raster") || !strcmp(value, "image/urf")) { @@ -3210,7 +3193,7 @@ parse_generate_file( } else { - print_fatal_error(data, "Bad FORMAT \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad FORMAT \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3218,17 +3201,17 @@ parse_generate_file( { if (params->media[0]) { - print_fatal_error(data, "Unexpected extra MEDIA on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unexpected extra MEDIA on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing MEDIA size name on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing MEDIA size name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if (!strcmp(value, "default") || !strcmp(value, "ready") || pwgMediaForPWG(value) != NULL) { @@ -3236,7 +3219,7 @@ parse_generate_file( } else { - print_fatal_error(data, "Bad MEDIA \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad MEDIA \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3246,21 +3229,21 @@ parse_generate_file( if (params->num_copies) { - print_fatal_error(data, "Unexpected extra NUM-COPIES on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unexpected extra NUM-COPIES on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing NUM-COPIES number on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing NUM-COPIES number on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if ((intvalue = strtoul(value, NULL, 10)) == ULONG_MAX || intvalue < 1) { - print_fatal_error(data, "Bad NUM-COPIES \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad NUM-COPIES \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } @@ -3272,21 +3255,21 @@ parse_generate_file( if (params->num_pages) { - print_fatal_error(data, "Unexpected extra NUM-PAGES on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unexpected extra NUM-PAGES on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing NUM-PAGES number on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing NUM-PAGES number on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if ((intvalue = strtoul(value, NULL, 10)) == ULONG_MAX || intvalue < 1) { - print_fatal_error(data, "Bad NUM-PAGES \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad NUM-PAGES \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } @@ -3296,17 +3279,17 @@ parse_generate_file( { if (params->orientation) { - print_fatal_error(data, "Unexpected extra ORIENTATION on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unexpected extra ORIENTATION on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing ORIENTATION on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing ORIENTATION on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if (!strcmp(value, "portrait")) params->orientation = IPP_ORIENT_PORTRAIT; @@ -3318,7 +3301,7 @@ parse_generate_file( params->orientation = IPP_ORIENT_REVERSE_PORTRAIT; else { - print_fatal_error(data, "Bad ORIENTATION \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad ORIENTATION \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } @@ -3326,17 +3309,17 @@ parse_generate_file( { if (params->xdpi || params->ydpi) { - print_fatal_error(data, "Unexpected extra RESOLUTION on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Unexpected extra RESOLUTION on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing RESOLUTION on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing RESOLUTION on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if (!strcmp(value, "min") || !strcmp(value, "max")) { @@ -3400,19 +3383,19 @@ parse_generate_file( if (strcmp(value, "default") && (params->xdpi <= 0 || params->ydpi <= 0)) { - print_fatal_error(data, "Bad RESOLUTION \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad RESOLUTION \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } else if (!_cups_strcasecmp(token, "SIDES")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing SIDES on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing SIDES on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if (!strcmp(value, "one-sided") || !strcmp(value, "two-sided-long-edge") || !strcmp(value, "two-sided-short-edge")) { @@ -3420,18 +3403,18 @@ parse_generate_file( } else { - print_fatal_error(data, "Bad SIDES \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad SIDES \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } else { - print_fatal_error(data, "Unknown %s on line %d of \"%s\".", token, f->linenum, f->filename); + print_fatal_error(data, "Unknown %s on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); goto fail; } } - print_fatal_error(data, "Missing closing brace on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing closing brace on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); fail: @@ -3450,9 +3433,9 @@ parse_generate_file( * } */ -static int /* O - 1 to continue, 0 to stop */ +static bool /* O - `true` to continue, `false` to stop */ parse_monitor_printer_state( - _ipp_file_t *f, /* I - IPP file data */ + ipp_file_t *f, /* I - IPP file data */ ipptool_test_t *data) /* I - Test data */ { char token[256], /* Token string */ @@ -3462,33 +3445,33 @@ parse_monitor_printer_state( *ptr; /* Pointer into value */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing printer URI on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing printer URI on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } if (strcmp(temp, "{")) { // Got a printer URI so copy it... - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); data->monitor_uri = strdup(value); // Then see if we have an opening brace... - if (!_ippFileReadToken(f, temp, sizeof(temp)) || strcmp(temp, "{")) + if (!ippFileReadToken(f, temp, sizeof(temp)) || strcmp(temp, "{")) { - print_fatal_error(data, "Missing opening brace on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing opening brace on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else { // Use the default printer URI... - data->monitor_uri = strdup(data->vars->uri); + data->monitor_uri = strdup(ippFileGetVar(data->parent, "uri")); } // Loop until we get a closing brace... - while (_ippFileReadToken(f, token, sizeof(token))) + while (ippFileReadToken(f, token, sizeof(token))) { if (_cups_strcasecmp(token, "COUNT") && _cups_strcasecmp(token, "DEFINE-MATCH") && @@ -3513,13 +3496,13 @@ parse_monitor_printer_state( if (data->num_monitor_expects >= (int)(sizeof(data->monitor_expects) / sizeof(data->monitor_expects[0]))) { - print_fatal_error(data, "Too many EXPECT's on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Too many EXPECT's on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } - if (!_ippFileReadToken(f, name, sizeof(name))) + if (!ippFileReadToken(f, name, sizeof(name))) { - print_fatal_error(data, "Missing EXPECT name on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing EXPECT name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3546,15 +3529,15 @@ parse_monitor_printer_state( { size_t count; /* Count value */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing COUNT number on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing COUNT number on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } if ((count = strtoul(temp, NULL, 10)) == ULONG_MAX) { - print_fatal_error(data, "Bad COUNT \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); + print_fatal_error(data, "Bad COUNT \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3564,15 +3547,15 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "COUNT without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "COUNT without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else if (!_cups_strcasecmp(token, "DEFINE-MATCH")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DEFINE-MATCH variable on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing DEFINE-MATCH variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3582,15 +3565,15 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "DEFINE-MATCH without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "DEFINE-MATCH without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else if (!_cups_strcasecmp(token, "DEFINE-NO-MATCH")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DEFINE-NO-MATCH variable on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing DEFINE-NO-MATCH variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3600,15 +3583,15 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "DEFINE-NO-MATCH without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "DEFINE-NO-MATCH without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else if (!_cups_strcasecmp(token, "DEFINE-VALUE")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DEFINE-VALUE variable on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing DEFINE-VALUE variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3618,15 +3601,15 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "DEFINE-VALUE without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "DEFINE-VALUE without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else if (!_cups_strcasecmp(token, "DISPLAY-MATCH")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DISPLAY-MATCH message on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing DISPLAY-MATCH message on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3636,7 +3619,7 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "DISPLAY-MATCH without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "DISPLAY-MATCH without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } @@ -3648,17 +3631,17 @@ parse_monitor_printer_state( double dval; /* Delay value */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DELAY value on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing DELAY value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if ((dval = _cupsStrScand(value, &ptr, localeconv())) < 0.0 || (*ptr && *ptr != ',')) { - print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3668,7 +3651,7 @@ parse_monitor_printer_state( { if ((dval = _cupsStrScand(ptr + 1, &ptr, localeconv())) <= 0.0 || *ptr) { - print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); + print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3679,9 +3662,9 @@ parse_monitor_printer_state( } else if (!_cups_strcasecmp(token, "OF-TYPE")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing OF-TYPE value tag(s) on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing OF-TYPE value tag(s) on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3691,7 +3674,7 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "OF-TYPE without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "OF-TYPE without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } @@ -3699,15 +3682,15 @@ parse_monitor_printer_state( { ipp_tag_t in_group; /* IN-GROUP value */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing IN-GROUP group tag on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing IN-GROUP group tag on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } if ((in_group = ippTagValue(temp)) == IPP_TAG_ZERO || in_group >= IPP_TAG_UNSUPPORTED_VALUE) { - print_fatal_error(data, "Bad IN-GROUP group tag \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); + print_fatal_error(data, "Bad IN-GROUP group tag \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } else if (data->last_expect) @@ -3716,15 +3699,15 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "IN-GROUP without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "IN-GROUP without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else if (!_cups_strcasecmp(token, "IF-DEFINED")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing IF-DEFINED name on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing IF-DEFINED name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3734,15 +3717,15 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "IF-DEFINED without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "IF-DEFINED without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else if (!_cups_strcasecmp(token, "IF-NOT-DEFINED")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing IF-NOT-DEFINED name on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing IF-NOT-DEFINED name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3752,7 +3735,7 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "IF-NOT-DEFINED without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "IF-NOT-DEFINED without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } @@ -3764,18 +3747,15 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "%s without a preceding EXPECT on line %d of \"%s\".", token, f->linenum, f->filename); + print_fatal_error(data, "%s without a preceding EXPECT on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } else if (!_cups_strcasecmp(token, "WITH-VALUE")) { - off_t lastpos; /* Last file position */ - int lastline; /* Last line number */ - - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing %s value on line %d of \"%s\".", token, f->linenum, f->filename); + print_fatal_error(data, "Missing %s value on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } @@ -3788,11 +3768,11 @@ parse_monitor_printer_state( for (;;) { - lastpos = cupsFileTell(f->fp); - lastline = f->linenum; - ptr += strlen(ptr); + ippFileSavePosition(f); + + ptr += strlen(ptr); - if (!_ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) + if (!ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) break; if (!strcmp(ptr, ",")) @@ -3803,7 +3783,7 @@ parse_monitor_printer_state( ptr += strlen(ptr); - if (!_ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) + if (!ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) break; } else @@ -3812,8 +3792,7 @@ parse_monitor_printer_state( * Not another value, stop here... */ - cupsFileSeek(f->fp, lastpos); - f->linenum = lastline; + ippFileRestorePosition(f); *ptr = '\0'; break; } @@ -3825,7 +3804,7 @@ parse_monitor_printer_state( * Expand any variables in the value and then save it. */ - _ippVarsExpand(data->vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); ptr = value + strlen(value) - 1; @@ -3865,18 +3844,58 @@ parse_monitor_printer_state( } else { - print_fatal_error(data, "%s without a preceding EXPECT on line %d of \"%s\".", token, f->linenum, f->filename); + print_fatal_error(data, "%s without a preceding EXPECT on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } } } - print_fatal_error(data, "Missing closing brace on line %d of \"%s\".", f->linenum, f->filename); + print_fatal_error(data, "Missing closing brace on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); return (0); } +/* + * 'password_cb()' - Password callback using the IPP variables. + */ + +const char * /* O - Password string or @code NULL@ */ +password_cb( + const char *prompt, /* I - Prompt string (not used) */ + http_t *http, /* I - HTTP connection (not used) */ + const char *method, /* I - HTTP method (not used) */ + const char *resource, /* I - Resource path (not used) */ + void *user_data) /* I - IPP test data */ +{ + ipptool_test_t *test = (ipptool_test_t *)user_data; + /* IPP test data */ + const char *uriuser = ippFileGetVar(test->parent, "uriuser"), + /* Username */ + *uripassword = ippFileGetVar(test->parent, "uripassword"); + /* Password */ + + + (void)prompt; + (void)http; + (void)method; + (void)resource; + + if (uriuser && uripassword && test->password_tries < 3) + { + test->password_tries ++; + + cupsSetUser(uriuser); + + return (uripassword); + } + else + { + return (NULL); + } +} + + /* * 'pause_message()' - Display the message and pause until the user presses a key. */ @@ -4929,7 +4948,7 @@ sigterm_handler(int sig) /* I - Signal number (unused) */ { (void)sig; - Cancel = 1; + Cancel = true; signal(SIGINT, SIG_DFL); signal(SIGTERM, SIG_DFL); @@ -4978,9 +4997,8 @@ timeout_cb(http_t *http, /* I - Connection to server */ * 'token_cb()' - Parse test file-specific tokens and run tests. */ -static int /* O - 1 to continue, 0 to stop */ -token_cb(_ipp_file_t *f, /* I - IPP file data */ - _ipp_vars_t *vars, /* I - IPP variables */ +static bool /* O - `true` to continue, `false` to stop */ +token_cb(ipp_file_t *f, /* I - IPP file data */ ipptool_test_t *data, /* I - Test data */ const char *token) /* I - Current token */ { @@ -4993,15 +5011,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ if (getenv("IPPTOOL_DEBUG")) fprintf(stderr, "ipptool: token='%s'\n", token); - if (!token) - { - /* - * Initialize state as needed (nothing for now...) - */ - - return (1); - } - else if (f->attrs) + if (ippFileGetAttributes(f)) { /* * Parse until we see a close brace... @@ -5049,13 +5059,13 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ { if (data->generate_params) { - print_fatal_error(data, "Extra GENERATE-FILE seen on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Extra GENERATE-FILE seen on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } else if (data->file[0]) { - print_fatal_error(data, "Cannot use GENERATE-FILE on line %d of \"%s\" with FILE.", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Cannot use GENERATE-FILE on line %d of '%s' with FILE.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } return (parse_generate_file(f, data)); @@ -5064,8 +5074,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ { if (data->monitor_uri) { - print_fatal_error(data, "Extra MONITOR-PRINTER-STATE seen on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Extra MONITOR-PRINTER-STATE seen on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } return (parse_monitor_printer_state(f, data)); @@ -5078,13 +5088,13 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * COMPRESSION gzip */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { - _ippVarsExpand(vars, data->compression, temp, sizeof(data->compression)); + ippFileExpandVars(f, data->compression, temp, sizeof(data->compression)); if (strcmp(data->compression, "none") && strcmp(data->compression, "deflate") && strcmp(data->compression, "gzip")) { - print_fatal_error(data, "Unsupported COMPRESSION value \"%s\" on line %d of \"%s\".", data->compression, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Unsupported COMPRESSION value \"%s\" on line %d of '%s'.", data->compression, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (!strcmp(data->compression, "none")) @@ -5092,8 +5102,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "Missing COMPRESSION value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing COMPRESSION value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "DEFINE")) @@ -5102,15 +5112,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * DEFINE name value */ - if (_ippFileReadToken(f, name, sizeof(name)) && _ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, name, sizeof(name)) && ippFileReadToken(f, temp, sizeof(temp))) { - _ippVarsExpand(vars, value, temp, sizeof(value)); - _ippVarsSet(vars, name, value); + ippFileExpandVars(f, value, temp, sizeof(value)); + ippFileSetVar(f, name, value); } else { - print_fatal_error(data, "Missing DEFINE name and/or value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DEFINE name and/or value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "IGNORE-ERRORS")) @@ -5120,14 +5130,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * IGNORE-ERRORS no */ - if (_ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) + if (ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) { data->ignore_errors = !_cups_strcasecmp(temp, "yes"); } else { - print_fatal_error(data, "Missing IGNORE-ERRORS value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing IGNORE-ERRORS value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "NAME")) @@ -5136,14 +5146,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * Name of test... */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { - _ippVarsExpand(vars, data->name, temp, sizeof(data->name)); + ippFileExpandVars(f, data->name, temp, sizeof(data->name)); } else { - print_fatal_error(data, "Missing NAME string on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing NAME string on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "PAUSE")) @@ -5152,14 +5162,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * Pause with a message... */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { cupsCopyString(data->pause, temp, sizeof(data->pause)); } else { - print_fatal_error(data, "Missing PAUSE message on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing PAUSE message on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "REQUEST-ID")) @@ -5169,7 +5179,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * REQUEST-ID random */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { if (isdigit(temp[0] & 255)) { @@ -5181,14 +5191,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "Bad REQUEST-ID value \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad REQUEST-ID value \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else { - print_fatal_error(data, "Missing REQUEST-ID value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing REQUEST-ID value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "PASS-IF-DEFINED")) @@ -5197,15 +5207,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * PASS-IF-DEFINED variable */ - if (_ippFileReadToken(f, name, sizeof(name))) + if (ippFileReadToken(f, name, sizeof(name))) { - if (_ippVarsGet(vars, name)) + if (ippFileGetVar(f, name)) data->pass_test = 1; } else { - print_fatal_error(data, "Missing PASS-IF-DEFINED value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing PASS-IF-DEFINED value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "PASS-IF-NOT-DEFINED")) @@ -5214,15 +5224,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * PASS-IF-NOT-DEFINED variable */ - if (_ippFileReadToken(f, name, sizeof(name))) + if (ippFileReadToken(f, name, sizeof(name))) { - if (!_ippVarsGet(vars, name)) + if (!ippFileGetVar(f, name)) data->pass_test = 1; } else { - print_fatal_error(data, "Missing PASS-IF-NOT-DEFINED value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing PASS-IF-NOT-DEFINED value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "SKIP-IF-DEFINED")) @@ -5231,15 +5241,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * SKIP-IF-DEFINED variable */ - if (_ippFileReadToken(f, name, sizeof(name))) + if (ippFileReadToken(f, name, sizeof(name))) { - if (_ippVarsGet(vars, name) || getenv(name)) - data->skip_test = 1; + if (ippFileGetVar(f, name) || getenv(name)) + data->skip_test = true; } else { - print_fatal_error(data, "Missing SKIP-IF-DEFINED value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing SKIP-IF-DEFINED value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "SKIP-IF-MISSING")) @@ -5248,20 +5258,20 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * SKIP-IF-MISSING filename */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { char filename[1024]; /* Filename */ - _ippVarsExpand(vars, value, temp, sizeof(value)); - get_filename(f->filename, filename, temp, sizeof(filename)); + ippFileExpandVars(f, value, temp, sizeof(value)); + get_filename(ippFileGetFilename(f), filename, temp, sizeof(filename)); if (access(filename, R_OK)) - data->skip_test = 1; + data->skip_test = true; } else { - print_fatal_error(data, "Missing SKIP-IF-MISSING filename on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing SKIP-IF-MISSING filename on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "SKIP-IF-NOT-DEFINED")) @@ -5270,15 +5280,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * SKIP-IF-NOT-DEFINED variable */ - if (_ippFileReadToken(f, name, sizeof(name))) + if (ippFileReadToken(f, name, sizeof(name))) { - if (!_ippVarsGet(vars, name) && !getenv(name)) - data->skip_test = 1; + if (!ippFileGetVar(f, name) && !getenv(name)) + data->skip_test = true; } else { - print_fatal_error(data, "Missing SKIP-IF-NOT-DEFINED value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing SKIP-IF-NOT-DEFINED value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "SKIP-PREVIOUS-ERROR")) @@ -5288,14 +5298,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * SKIP-PREVIOUS-ERROR no */ - if (_ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) + if (ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) { data->skip_previous = !_cups_strcasecmp(temp, "yes"); } else { - print_fatal_error(data, "Missing SKIP-PREVIOUS-ERROR value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing SKIP-PREVIOUS-ERROR value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "TEST-ID")) @@ -5304,14 +5314,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * TEST-ID "string" */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { - _ippVarsExpand(vars, data->test_id, temp, sizeof(data->test_id)); + ippFileExpandVars(f, data->test_id, temp, sizeof(data->test_id)); } else { - print_fatal_error(data, "Missing TEST-ID value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing TEST-ID value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "TRANSFER")) @@ -5322,7 +5332,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * TRANSFER length */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { if (!strcmp(temp, "auto")) { @@ -5338,19 +5348,19 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "Bad TRANSFER value \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad TRANSFER value \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else { - print_fatal_error(data, "Missing TRANSFER value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing TRANSFER value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "VERSION")) { - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { if (!strcmp(temp, "0.0")) { @@ -5378,14 +5388,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "Bad VERSION \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad VERSION \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else { - print_fatal_error(data, "Missing VERSION number on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing VERSION number on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "RESOURCE")) @@ -5394,10 +5404,10 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * Resource name... */ - if (!_ippFileReadToken(f, data->resource, sizeof(data->resource))) + if (!ippFileReadToken(f, data->resource, sizeof(data->resource))) { - print_fatal_error(data, "Missing RESOURCE path on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing RESOURCE path on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "OPERATION")) @@ -5408,46 +5418,21 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ ipp_op_t op; /* Operation code */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing OPERATION code on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing OPERATION code on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - _ippVarsExpand(vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if ((op = ippOpValue(value)) == (ipp_op_t)-1 && (op = (ipp_op_t)strtol(value, NULL, 0)) == 0) { - print_fatal_error(data, "Bad OPERATION code \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad OPERATION code \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - ippSetOperation(f->attrs, op); - } - else if (!_cups_strcasecmp(token, "GROUP")) - { - /* - * Attribute group... - */ - - ipp_tag_t group_tag; /* Group tag */ - - if (!_ippFileReadToken(f, temp, sizeof(temp))) - { - print_fatal_error(data, "Missing GROUP tag on line %d of \"%s\".", f->linenum, f->filename); - return (0); - } - - if ((group_tag = ippTagValue(temp)) == IPP_TAG_ZERO || group_tag >= IPP_TAG_UNSUPPORTED_VALUE) - { - print_fatal_error(data, "Bad GROUP tag \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); - } - - if (group_tag == f->group_tag) - ippAddSeparator(f->attrs); - - f->group_tag = group_tag; + data->op = op; } else if (!_cups_strcasecmp(token, "DELAY")) { @@ -5457,18 +5442,18 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ double dval; /* Delay value */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DELAY value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DELAY value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - _ippVarsExpand(vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); if ((dval = _cupsStrScand(value, &ptr, localeconv())) < 0.0 || (*ptr && *ptr != ',')) { - print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } data->delay = (useconds_t)(1000000.0 * dval); @@ -5477,8 +5462,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ { if ((dval = _cupsStrScand(ptr + 1, &ptr, localeconv())) <= 0.0 || *ptr) { - print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of \"%s\".", value, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad DELAY value \"%s\" on line %d of '%s'.", value, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } data->repeat_interval = (useconds_t)(1000000.0 * dval); @@ -5494,28 +5479,28 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ if (data->file[0]) { - print_fatal_error(data, "Extra FILE seen on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Extra FILE seen on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } else if (data->generate_params) { - print_fatal_error(data, "Cannot use FILE on line %d of \"%s\" with GENERATE-FILE.", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Cannot use FILE on line %d of '%s' with GENERATE-FILE.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing FILE filename on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing FILE filename on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - _ippVarsExpand(vars, value, temp, sizeof(value)); - get_filename(f->filename, data->file, value, sizeof(data->file)); + ippFileExpandVars(f, value, temp, sizeof(value)); + get_filename(ippFileGetFilename(f), data->file, value, sizeof(data->file)); if (access(data->file, R_OK)) { - print_fatal_error(data, "Filename \"%s\" (mapped to \"%s\") on line %d of \"%s\" cannot be read.", value, data->file, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Filename \"%s\" (mapped to \"%s\") on line %d of '%s' cannot be read.", value, data->file, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "STATUS")) @@ -5526,20 +5511,20 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ if (data->num_statuses >= (int)(sizeof(data->statuses) / sizeof(data->statuses[0]))) { - print_fatal_error(data, "Too many STATUS's on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Too many STATUS's on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing STATUS code on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing STATUS code on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if ((data->statuses[data->num_statuses].status = ippErrorValue(temp)) == (ipp_status_t)-1 && (data->statuses[data->num_statuses].status = (ipp_status_t)strtol(temp, NULL, 0)) == 0) { - print_fatal_error(data, "Bad STATUS code \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad STATUS code \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } data->last_status = data->statuses + data->num_statuses; @@ -5563,14 +5548,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ if (data->num_expects >= (int)(sizeof(data->expects) / sizeof(data->expects[0]))) { - print_fatal_error(data, "Too many EXPECT's on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Too many EXPECT's on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - if (!_ippFileReadToken(f, name, sizeof(name))) + if (!ippFileReadToken(f, name, sizeof(name))) { - print_fatal_error(data, "Missing EXPECT name on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing EXPECT name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } data->last_expect = data->expects + data->num_expects; @@ -5597,16 +5582,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ { size_t count; /* Count value */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing COUNT number on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing COUNT number on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if ((count = strtoul(temp, NULL, 10)) == ULONG_MAX) { - print_fatal_error(data, "Bad COUNT \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad COUNT \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5615,16 +5600,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "COUNT without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "COUNT without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "DEFINE-MATCH")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DEFINE-MATCH variable on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DEFINE-MATCH variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5637,16 +5622,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "DEFINE-MATCH without a preceding EXPECT or STATUS on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "DEFINE-MATCH without a preceding EXPECT or STATUS on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "DEFINE-NO-MATCH")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DEFINE-NO-MATCH variable on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DEFINE-NO-MATCH variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5659,16 +5644,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "DEFINE-NO-MATCH without a preceding EXPECT or STATUS on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "DEFINE-NO-MATCH without a preceding EXPECT or STATUS on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "DEFINE-VALUE")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DEFINE-VALUE variable on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DEFINE-VALUE variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5677,16 +5662,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "DEFINE-VALUE without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "DEFINE-VALUE without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "DISPLAY-MATCH")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DISPLAY-MATCH mesaage on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DISPLAY-MATCH mesaage on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5695,16 +5680,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "DISPLAY-MATCH without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "DISPLAY-MATCH without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "OF-TYPE")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing OF-TYPE value tag(s) on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing OF-TYPE value tag(s) on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5713,24 +5698,24 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "OF-TYPE without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "OF-TYPE without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "IN-GROUP")) { ipp_tag_t in_group; /* IN-GROUP value */ - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing IN-GROUP group tag on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing IN-GROUP group tag on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if ((in_group = ippTagValue(temp)) == IPP_TAG_ZERO || in_group >= IPP_TAG_UNSUPPORTED_VALUE) { - print_fatal_error(data, "Bad IN-GROUP group tag \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad IN-GROUP group tag \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } else if (data->last_expect) { @@ -5738,21 +5723,21 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "IN-GROUP without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "IN-GROUP without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "REPEAT-LIMIT")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing REPEAT-LIMIT value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing REPEAT-LIMIT value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } else if (atoi(temp) <= 0) { - print_fatal_error(data, "Bad REPEAT-LIMIT value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad REPEAT-LIMIT value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_status) @@ -5765,8 +5750,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "REPEAT-LIMIT without a preceding EXPECT or STATUS on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "REPEAT-LIMIT without a preceding EXPECT or STATUS on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "REPEAT-MATCH")) @@ -5781,8 +5766,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "REPEAT-MATCH without a preceding EXPECT or STATUS on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "REPEAT-MATCH without a preceding EXPECT or STATUS on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "REPEAT-NO-MATCH")) @@ -5797,16 +5782,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "REPEAT-NO-MATCH without a preceding EXPECT or STATUS on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "REPEAT-NO-MATCH without a preceding EXPECT or STATUS on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "SAME-COUNT-AS")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing SAME-COUNT-AS name on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing SAME-COUNT-AS name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5815,16 +5800,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "SAME-COUNT-AS without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "SAME-COUNT-AS without a preceding EXPECT on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "IF-DEFINED")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing IF-DEFINED name on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing IF-DEFINED name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5837,16 +5822,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "IF-DEFINED without a preceding EXPECT or STATUS on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "IF-DEFINED without a preceding EXPECT or STATUS on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "IF-NOT-DEFINED")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing IF-NOT-DEFINED name on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing IF-NOT-DEFINED name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -5859,8 +5844,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "IF-NOT-DEFINED without a preceding EXPECT or STATUS on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "IF-NOT-DEFINED without a preceding EXPECT or STATUS on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "WITH-DISTINCT-VALUES")) @@ -5871,8 +5856,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "%s without a preceding EXPECT on line %d of \"%s\".", token, f->linenum, f->filename); - return (0); + print_fatal_error(data, "%s without a preceding EXPECT on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "WITH-ALL-VALUES") || @@ -5884,9 +5869,6 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ !_cups_strcasecmp(token, "WITH-SCHEME") || !_cups_strcasecmp(token, "WITH-VALUE")) { - off_t lastpos; /* Last file position */ - int lastline; /* Last line number */ - if (data->last_expect) { if (!_cups_strcasecmp(token, "WITH-ALL-HOSTNAMES") || !_cups_strcasecmp(token, "WITH-HOSTNAME")) @@ -5900,10 +5882,10 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ data->last_expect->with_flags |= IPPTOOL_WITH_ALL; } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing %s value on line %d of \"%s\".", token, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing %s value on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } /* @@ -5915,11 +5897,11 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ for (;;) { - lastpos = cupsFileTell(f->fp); - lastline = f->linenum; - ptr += strlen(ptr); + ippFileSavePosition(f); - if (!_ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) + ptr += strlen(ptr); + + if (!ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) break; if (!strcmp(ptr, ",")) @@ -5930,7 +5912,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ ptr += strlen(ptr); - if (!_ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) + if (!ippFileReadToken(f, ptr, (sizeof(temp) - (size_t)(ptr - temp)))) break; } else @@ -5939,8 +5921,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * Not another value, stop here... */ - cupsFileSeek(f->fp, lastpos); - f->linenum = lastline; + ippFileRestorePosition(f); + *ptr = '\0'; break; } @@ -5952,7 +5934,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * Expand any variables in the value and then save it. */ - _ippVarsExpand(vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); ptr = value + strlen(value) - 1; @@ -5992,16 +5974,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "%s without a preceding EXPECT on line %d of \"%s\".", token, f->linenum, f->filename); - return (0); + print_fatal_error(data, "%s without a preceding EXPECT on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "WITH-VALUE-FROM")) { - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing %s value on line %d of \"%s\".", token, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing %s value on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } if (data->last_expect) @@ -6010,15 +5992,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * Expand any variables in the value and then save it. */ - _ippVarsExpand(vars, value, temp, sizeof(value)); + ippFileExpandVars(f, value, temp, sizeof(value)); data->last_expect->with_value_from = strdup(value); data->last_expect->with_flags = IPPTOOL_WITH_LITERAL; } else { - print_fatal_error(data, "%s without a preceding EXPECT on line %d of \"%s\".", token, f->linenum, f->filename); - return (0); + print_fatal_error(data, "%s without a preceding EXPECT on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!_cups_strcasecmp(token, "DISPLAY")) @@ -6029,14 +6011,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ if (data->num_displayed >= (int)(sizeof(data->displayed) / sizeof(data->displayed[0]))) { - print_fatal_error(data, "Too many DISPLAY's on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Too many DISPLAY's on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - if (!_ippFileReadToken(f, temp, sizeof(temp))) + if (!ippFileReadToken(f, temp, sizeof(temp))) { - print_fatal_error(data, "Missing DISPLAY name on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DISPLAY name on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } data->displayed[data->num_displayed] = strdup(temp); @@ -6044,8 +6026,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ } else { - print_fatal_error(data, "Unexpected token %s seen on line %d of \"%s\".", token, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Unexpected token %s seen on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else @@ -6066,9 +6048,9 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ print_xml_header(data); if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout())) - cupsFilePrintf(cupsFileStdout(), "\"%s\":\n", f->filename); + cupsFilePrintf(cupsFileStdout(), "\"%s\":\n", ippFileGetFilename(f)); - data->show_header = 0; + data->show_header = false; } data->compression[0] = '\0'; @@ -6077,14 +6059,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ data->last_expect = NULL; data->file[0] = '\0'; data->ignore_errors = data->def_ignore_errors; - cupsCopyString(data->name, f->filename, sizeof(data->name)); + cupsCopyString(data->name, ippFileGetFilename(f), sizeof(data->name)); if ((ptr = strrchr(data->name, '.')) != NULL) *ptr = '\0'; data->repeat_interval = 5000000; - cupsCopyString(data->resource, data->vars->resource, sizeof(data->resource)); - data->skip_previous = 0; - data->pass_test = 0; - data->skip_test = 0; + cupsCopyString(data->resource, ippFileGetVar(data->parent, "resource"), sizeof(data->resource)); + data->skip_previous = false; + data->pass_test = false; + data->skip_test = false; data->num_statuses = 0; data->last_status = NULL; data->test_id[0] = '\0'; @@ -6097,10 +6079,8 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ data->monitor_interval = 5000000; data->num_monitor_expects = 0; - _ippVarsSet(vars, "date-current", iso_date(ippTimeToDate(time(NULL)))); - - f->attrs = ippNew(); - f->group_tag = IPP_TAG_ZERO; + ippFileSetAttributes(f, ippNew()); + ippFileSetVar(f, "date-current", iso_date(ippTimeToDate(time(NULL)))); } else if (!strcmp(token, "DEFINE")) { @@ -6108,16 +6088,16 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * DEFINE name value */ - if (_ippFileReadToken(f, name, sizeof(name)) && _ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, name, sizeof(name)) && ippFileReadToken(f, temp, sizeof(temp))) { - _ippVarsSet(vars, "date-current", iso_date(ippTimeToDate(time(NULL)))); - _ippVarsExpand(vars, value, temp, sizeof(value)); - _ippVarsSet(vars, name, value); + ippFileSetVar(f, "date-current", iso_date(ippTimeToDate(time(NULL)))); + ippFileExpandVars(f, value, temp, sizeof(value)); + ippFileSetVar(f, name, value); } else { - print_fatal_error(data, "Missing DEFINE name and/or value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DEFINE name and/or value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "DEFINE-DEFAULT")) @@ -6126,19 +6106,19 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * DEFINE-DEFAULT name value */ - if (_ippFileReadToken(f, name, sizeof(name)) && _ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, name, sizeof(name)) && ippFileReadToken(f, temp, sizeof(temp))) { - if (!_ippVarsGet(vars, name)) + if (!ippFileGetVar(f, name)) { - _ippVarsSet(vars, "date-current", iso_date(ippTimeToDate(time(NULL)))); - _ippVarsExpand(vars, value, temp, sizeof(value)); - _ippVarsSet(vars, name, value); + ippFileSetVar(f, "date-current", iso_date(ippTimeToDate(time(NULL)))); + ippFileExpandVars(f, value, temp, sizeof(value)); + ippFileSetVar(f, name, value); } } else { - print_fatal_error(data, "Missing DEFINE-DEFAULT name and/or value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing DEFINE-DEFAULT name and/or value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "FILE-ID")) @@ -6147,15 +6127,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * FILE-ID "string" */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { - _ippVarsSet(vars, "date-current", iso_date(ippTimeToDate(time(NULL)))); - _ippVarsExpand(vars, data->file_id, temp, sizeof(data->file_id)); + ippFileSetVar(f, "date-current", iso_date(ippTimeToDate(time(NULL)))); + ippFileExpandVars(f, data->file_id, temp, sizeof(data->file_id)); } else { - print_fatal_error(data, "Missing FILE-ID value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing FILE-ID value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "IGNORE-ERRORS")) @@ -6165,14 +6145,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * IGNORE-ERRORS no */ - if (_ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) + if (ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) { data->def_ignore_errors = !_cups_strcasecmp(temp, "yes"); } else { - print_fatal_error(data, "Missing IGNORE-ERRORS value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing IGNORE-ERRORS value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "INCLUDE")) @@ -6182,7 +6162,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * INCLUDE */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { /* * Map the filename to and then run the tests... @@ -6193,23 +6173,23 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ memcpy(&inc_data, data, sizeof(inc_data)); inc_data.http = NULL; - inc_data.pass = 1; - inc_data.prev_pass = 1; - inc_data.show_header = 1; + inc_data.pass = true; + inc_data.prev_pass = true; + inc_data.show_header = true; - if (!do_tests(get_filename(f->filename, filename, temp, sizeof(filename)), &inc_data) && data->stop_after_include_error) + if (!do_tests(get_filename(ippFileGetFilename(f), filename, temp, sizeof(filename)), &inc_data) && data->stop_after_include_error) { - data->pass = data->prev_pass = 0; - return (0); + data->pass = data->prev_pass = false; + return (false); } } else { - print_fatal_error(data, "Missing INCLUDE filename on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing INCLUDE filename on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - data->show_header = 1; + data->show_header = true; } else if (!strcmp(token, "INCLUDE-IF-DEFINED")) { @@ -6218,7 +6198,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * INCLUDE-IF-DEFINED name */ - if (_ippFileReadToken(f, name, sizeof(name)) && _ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, name, sizeof(name)) && ippFileReadToken(f, temp, sizeof(temp))) { /* * Map the filename to and then run the tests... @@ -6229,23 +6209,23 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ memcpy(&inc_data, data, sizeof(inc_data)); inc_data.http = NULL; - inc_data.pass = 1; - inc_data.prev_pass = 1; - inc_data.show_header = 1; + inc_data.pass = true; + inc_data.prev_pass = true; + inc_data.show_header = true; - if (!do_tests(get_filename(f->filename, filename, temp, sizeof(filename)), &inc_data) && data->stop_after_include_error) + if (!do_tests(get_filename(ippFileGetFilename(f), filename, temp, sizeof(filename)), &inc_data) && data->stop_after_include_error) { - data->pass = data->prev_pass = 0; - return (0); + data->pass = data->prev_pass = false; + return (false); } } else { - print_fatal_error(data, "Missing INCLUDE-IF-DEFINED name or filename on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing INCLUDE-IF-DEFINED name or filename on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - data->show_header = 1; + data->show_header = true; } else if (!strcmp(token, "INCLUDE-IF-NOT-DEFINED")) { @@ -6254,34 +6234,34 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * INCLUDE-IF-NOT-DEFINED name */ - if (_ippFileReadToken(f, name, sizeof(name)) && _ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, name, sizeof(name)) && ippFileReadToken(f, temp, sizeof(temp))) { /* * Map the filename to and then run the tests... */ - ipptool_test_t inc_data; /* Data for included file */ + ipptool_test_t inc_data; /* Data for included file */ char filename[1024]; /* Mapped filename */ memcpy(&inc_data, data, sizeof(inc_data)); inc_data.http = NULL; - inc_data.pass = 1; - inc_data.prev_pass = 1; - inc_data.show_header = 1; + inc_data.pass = true; + inc_data.prev_pass = true; + inc_data.show_header = true; - if (!do_tests(get_filename(f->filename, filename, temp, sizeof(filename)), &inc_data) && data->stop_after_include_error) + if (!do_tests(get_filename(ippFileGetFilename(f), filename, temp, sizeof(filename)), &inc_data) && data->stop_after_include_error) { - data->pass = data->prev_pass = 0; - return (0); + data->pass = data->prev_pass = false; + return (false); } } else { - print_fatal_error(data, "Missing INCLUDE-IF-NOT-DEFINED name or filename on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing INCLUDE-IF-NOT-DEFINED name or filename on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } - data->show_header = 1; + data->show_header = true; } else if (!strcmp(token, "SKIP-IF-DEFINED")) { @@ -6289,15 +6269,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * SKIP-IF-DEFINED variable */ - if (_ippFileReadToken(f, name, sizeof(name))) + if (ippFileReadToken(f, name, sizeof(name))) { - if (_ippVarsGet(vars, name) || getenv(name)) - data->skip_test = 1; + if (ippFileGetVar(f, name) || getenv(name)) + data->skip_test = true; } else { - print_fatal_error(data, "Missing SKIP-IF-DEFINED variable on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing SKIP-IF-DEFINED variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "SKIP-IF-NOT-DEFINED")) @@ -6306,15 +6286,15 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * SKIP-IF-NOT-DEFINED variable */ - if (_ippFileReadToken(f, name, sizeof(name))) + if (ippFileReadToken(f, name, sizeof(name))) { - if (!_ippVarsGet(vars, name) && !getenv(name)) - data->skip_test = 1; + if (!ippFileGetVar(f, name) && !getenv(name)) + data->skip_test = true; } else { - print_fatal_error(data, "Missing SKIP-IF-NOT-DEFINED variable on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing SKIP-IF-NOT-DEFINED variable on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "STOP-AFTER-INCLUDE-ERROR")) @@ -6324,14 +6304,14 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * STOP-AFTER-INCLUDE-ERROR no */ - if (_ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) + if (ippFileReadToken(f, temp, sizeof(temp)) && (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no"))) { data->stop_after_include_error = !_cups_strcasecmp(temp, "yes"); } else { - print_fatal_error(data, "Missing STOP-AFTER-INCLUDE-ERROR value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing STOP-AFTER-INCLUDE-ERROR value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "TRANSFER")) @@ -6342,7 +6322,7 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ * TRANSFER length */ - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { if (!strcmp(temp, "auto")) data->def_transfer = IPPTOOL_TRANSFER_AUTO; @@ -6352,19 +6332,19 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ data->def_transfer = IPPTOOL_TRANSFER_LENGTH; else { - print_fatal_error(data, "Bad TRANSFER value \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad TRANSFER value \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else { - print_fatal_error(data, "Missing TRANSFER value on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing TRANSFER value on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else if (!strcmp(token, "VERSION")) { - if (_ippFileReadToken(f, temp, sizeof(temp))) + if (ippFileReadToken(f, temp, sizeof(temp))) { if (!strcmp(temp, "1.0")) data->def_version = 10; @@ -6378,24 +6358,24 @@ token_cb(_ipp_file_t *f, /* I - IPP file data */ data->def_version = 22; else { - print_fatal_error(data, "Bad VERSION \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Bad VERSION \"%s\" on line %d of '%s'.", temp, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else { - print_fatal_error(data, "Missing VERSION number on line %d of \"%s\".", f->linenum, f->filename); - return (0); + print_fatal_error(data, "Missing VERSION number on line %d of '%s'.", ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } else { - print_fatal_error(data, "Unexpected token %s seen on line %d of \"%s\".", token, f->linenum, f->filename); - return (0); + print_fatal_error(data, "Unexpected token %s seen on line %d of '%s'.", token, ippFileGetLineNumber(f), ippFileGetFilename(f)); + return (false); } } - return (1); + return (true); } @@ -6443,11 +6423,12 @@ usage(void) * 'with_distinct_values()' - Verify that an attribute contains unique values. */ -static int // O - 1 if distinct, 0 if duplicate +static bool // O - `true` if distinct, `false` if duplicate with_distinct_values( cups_array_t *errors, // I - Array of errors ipp_attribute_t *attr) // I - Attribute to test { + bool ret; // Return value size_t i, // Looping var count; // Number of values ipp_tag_t value_tag; // Value syntax @@ -6458,7 +6439,7 @@ with_distinct_values( // If there is only 1 value, it must be distinct if ((count = ippGetCount(attr)) == 1) - return (1); + return (true); // Only check integers, enums, rangeOfInteger, resolution, and nul-terminated // strings... @@ -6478,7 +6459,7 @@ with_distinct_values( default : add_stringf(errors, "WITH-DISTINCT-VALUES %s not supported for 1setOf %s", ippGetName(attr), ippTagString(value_tag)); - return (0); + return (false); } // Collect values and determine they are all unique... @@ -6557,10 +6538,10 @@ with_distinct_values( } // Cleanup... - i = cupsArrayGetCount(values) == count; + ret = cupsArrayGetCount(values) == count; cupsArrayDelete(values); - return (i); + return (ret); } @@ -6598,14 +6579,14 @@ with_flags_string(int flags) /* I - WITH flags */ * 'with_value()' - Test a WITH-VALUE predicate. */ -static int /* O - 1 on match, 0 on non-match */ -with_value(ipptool_test_t *data, /* I - Test data */ - cups_array_t *errors, /* I - Errors array */ - char *value, /* I - Value string */ - int flags, /* I - Flags for match */ - ipp_attribute_t *attr, /* I - Attribute to compare */ - char *matchbuf, /* I - Buffer to hold matching value */ - size_t matchlen) /* I - Length of match buffer */ +static bool /* O - `true` on match, `false` on non-match */ +with_value(ipptool_test_t *data, /* I - Test data */ + cups_array_t *errors, /* I - Errors array */ + char *value, /* I - Value string */ + int flags, /* I - Flags for match */ + ipp_attribute_t *attr, /* I - Attribute to compare */ + char *matchbuf, /* I - Buffer to hold matching value */ + size_t matchlen) /* I - Length of match buffer */ { size_t i, /* Looping var */ count; /* Number of values */ @@ -6623,7 +6604,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ */ if (!value || !*value) - return (1); + return (true); /* * Compare the value string to the attribute value. @@ -6852,7 +6833,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ case IPP_TAG_NOVALUE : case IPP_TAG_UNKNOWN : - return (1); + return (true); case IPP_TAG_CHARSET : case IPP_TAG_KEYWORD : @@ -6878,7 +6859,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ regerror(r, &re, temp, sizeof(temp)); print_fatal_error(data, "Unable to compile WITH-VALUE regular expression \"%s\" - %s", value, temp); - return (0); + return (false); } /* @@ -6895,13 +6876,13 @@ with_value(ipptool_test_t *data, /* I - Test data */ if (!(flags & IPPTOOL_WITH_ALL)) { - match = 1; + match = true; break; } } else if (flags & IPPTOOL_WITH_ALL) { - match = 0; + match = false; break; } } @@ -6923,13 +6904,13 @@ with_value(ipptool_test_t *data, /* I - Test data */ if (!(flags & IPPTOOL_WITH_ALL)) { - match = 1; + match = true; break; } } else if (flags & IPPTOOL_WITH_ALL) { - match = 0; + match = false; break; } } @@ -6988,13 +6969,13 @@ with_value(ipptool_test_t *data, /* I - Test data */ if (!(flags & IPPTOOL_WITH_ALL)) { - match = 1; + match = true; break; } } else if (flags & IPPTOOL_WITH_ALL) { - match = 0; + match = false; break; } } @@ -7024,7 +7005,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ regerror(r, &re, temp, sizeof(temp)); print_fatal_error(data, "Unable to compile WITH-VALUE regular expression \"%s\" - %s", value, temp); - return (0); + return (false); } /* @@ -7035,7 +7016,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ { if ((adata = ippGetOctetString(attr, i, &adatalen)) == NULL || adatalen >= (int)sizeof(temp)) { - match = 0; + match = false; break; } memcpy(temp, adata, (size_t)adatalen); @@ -7048,13 +7029,13 @@ with_value(ipptool_test_t *data, /* I - Test data */ if (!(flags & IPPTOOL_WITH_ALL)) { - match = 1; + match = true; break; } } else if (flags & IPPTOOL_WITH_ALL) { - match = 0; + match = false; break; } } @@ -7091,7 +7072,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ if ((withlen = strlen(value)) & 1 || withlen > (2 * (sizeof(withdata) + 1))) { print_fatal_error(data, "Bad WITH-VALUE hex value."); - return (0); + return (false); } withlen = withlen / 2 - 1; @@ -7120,7 +7101,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ if (*valptr) { print_fatal_error(data, "Bad WITH-VALUE hex value."); - return (0); + return (false); } } else @@ -7145,13 +7126,13 @@ with_value(ipptool_test_t *data, /* I - Test data */ if (!(flags & IPPTOOL_WITH_ALL)) { - match = 1; + match = true; break; } } else if (flags & IPPTOOL_WITH_ALL) { - match = 0; + match = false; break; } } @@ -7180,7 +7161,7 @@ with_value(ipptool_test_t *data, /* I - Test data */ * 'with_value_from()' - Test a WITH-VALUE-FROM predicate. */ -static int /* O - 1 on match, 0 on non-match */ +static bool /* O - `true` on match, `false` on non-match */ with_value_from( cups_array_t *errors, /* I - Errors array */ ipp_attribute_t *fromattr, /* I - "From" attribute */ @@ -7252,11 +7233,13 @@ with_value_from( for (i = 0; i < count; i ++) { - int xres, yres; - ipp_res_t units; - size_t fromcount = ippGetCount(fromattr); - int fromxres, fromyres; - ipp_res_t fromunits; + int xres, yres; // Current X,Y resolution + ipp_res_t units; // Current units + size_t fromcount = ippGetCount(fromattr); + // From count + int fromxres, fromyres; + // From X,Y resolution + ipp_res_t fromunits; // From units xres = ippGetResolution(attr, i, &yres, &units); @@ -7291,7 +7274,7 @@ with_value_from( case IPP_TAG_NOVALUE : case IPP_TAG_UNKNOWN : - return (1); + return (true); case IPP_TAG_CHARSET : case IPP_TAG_KEYWORD : @@ -7323,9 +7306,10 @@ with_value_from( case IPP_TAG_URI : for (i = 0; i < count; i ++) { - const char *value = ippGetString(attr, i, NULL); - /* Current string value */ - size_t fromcount = ippGetCount(fromattr); + const char *value = ippGetString(attr, i, NULL); + // Current string value + size_t fromcount = ippGetCount(fromattr); + // From count for (j = 0; j < fromcount; j ++) { @@ -7352,10 +7336,10 @@ with_value_from( return (match); - /* value tag mismatch between fromattr and attr */ + // value tag mismatch between fromattr and attr... wrong_value_tag : add_stringf(errors, "GOT: %s OF-TYPE %s", ippGetName(attr), ippTagString(ippGetValueTag(attr))); - return (0); + return (false); } diff --git a/tools/run-tests.sh b/tools/run-tests.sh new file mode 100755 index 000000000..de10dbccb --- /dev/null +++ b/tools/run-tests.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# Script to test ippfind, ipptool, and ippeveprinter end-to-end. +# +# Copyright © 2022 by Open Printing. +# +# Licensed under Apache License v2.0. See the file "LICENSE" for more +# information. +# + +# Run ippeveprinter to provide an endpoint for testing... +name="Test Printer $(date +%H%M%S)" +status=0 + +echo "Running ippeveprinter..." +./ippeveprinter-static -vvv -a test.conf "$name" 2>test.log & +ippeveprinter=$! + +# Test the instance... +echo "Running ippfind + ipptool..." +./ippfind-static -T 5 --literal-name "$name" --exec ./ipptool-static -V 2.0 -tIf ../examples/document-letter.pdf '{}' ../examples/ipp-2.0.test \; || status=1 + +# Clean up +kill $ippeveprinter + +exit $status diff --git a/tools/test.conf b/tools/test.conf new file mode 100644 index 000000000..3499050f3 --- /dev/null +++ b/tools/test.conf @@ -0,0 +1,163 @@ +# +# Test printer configuration file. +# +# Copyright © 2022 by OpenPrinting. +# +# Licensed under Apache License v2.0. See the file "LICENSE" for more +# information. +# + +ATTR boolean color-supported true + +ATTR integer copies-default 1 +ATTR rangeOfInteger copies-supported 1-999 + +ATTR mimeMediaType document-format-default application/octet-stream +ATTR mimeMediaType document-format-supported application/pdf,image/jpeg,image/pwg-raster,image/urf,application/octet-stream + +ATTR no-value finishings-col-default +ATTR collection finishings-col-database { + MEMBER keyword finishing-template none +},{ + MEMBER keyword finishing-template punch +},{ + MEMBER keyword finishing-template punch-dual-top +},{ + MEMBER keyword finishing-template punch-triple-left +},{ + MEMBER keyword finishing-template staple +},{ + MEMBER keyword finishing-template staple-top-left +},{ + MEMBER keyword finishing-template staple-top-right +} +ATTR collection finishings-col-ready { + MEMBER keyword finishing-template none +},{ + MEMBER keyword finishing-template punch +},{ + MEMBER keyword finishing-template punch-dual-top +},{ + MEMBER keyword finishing-template punch-triple-left +},{ + MEMBER keyword finishing-template staple +},{ + MEMBER keyword finishing-template staple-top-left +},{ + MEMBER keyword finishing-template staple-top-right +} +ATTR keyword finishings-col-supported finishing-template +ATTR enum finishings-default 3 +ATTR enum finishings-supported 3,4,5,20,22,75,78 +ATTR keyword finishing-template-supported none,punch,punch-dual-top,punch-triple-left,staple,staple-top-left,staple-top-right + +ATTR integer max-page-ranges-supported 1 + +ATTR integer media-bottom-margin-supported 0,423 +ATTR collection media-col-database { + MEMBER collection media-size { + MEMBER integer x-dimension 21590 + MEMBER integer y-dimension 27940 + } +},{ + MEMBER collection media-size { + MEMBER integer x-dimension 21000 + MEMBER integer y-dimension 29700 + } +},{ + MEMBER collection media-size { + MEMBER rangeOfInteger x-dimension 7620-21590 + MEMBER rangeOfInteger y-dimension 12700-29700 + } + MEMBER keyword media-source manual +},{ + MEMBER collection media-size { + MEMBER rangeOfInteger x-dimension 7620-21590 + MEMBER rangeOfInteger y-dimension 12700-29700 + } + MEMBER keyword media-source by-pass-tray +} +ATTR collection media-col-default { + MEMBER integer media-bottom-margin 423 + MEMBER integer media-left-margin 423 + MEMBER integer media-right-margin 423 + MEMBER collection media-size { + MEMBER integer x-dimension 21590 + MEMBER integer y-dimension 27940 + } + MEMBER keyword media-source main + MEMBER integer media-top-margin 423 + MEMBER keyword media-type stationery +} +ATTR collection media-col-ready { + MEMBER integer media-bottom-margin 423 + MEMBER integer media-left-margin 423 + MEMBER integer media-right-margin 423 + MEMBER collection media-size { + MEMBER integer x-dimension 21590 + MEMBER integer y-dimension 27940 + } + MEMBER keyword media-source main + MEMBER integer media-top-margin 423 + MEMBER keyword media-type stationery +},{ + MEMBER integer media-bottom-margin 423 + MEMBER integer media-left-margin 423 + MEMBER integer media-right-margin 423 + MEMBER collection media-size { + MEMBER integer x-dimension 21000 + MEMBER integer y-dimension 29700 + } + MEMBER keyword media-source alternate + MEMBER integer media-top-margin 423 + MEMBER keyword media-type stationery +} +ATTR keyword media-col-supported media-bottom-margin,media-left-margin,media-right-margin,media-size,media-size-name,media-source,media-top-margin,media-type +ATTR keyword media-default na_letter_8.5x11in +ATTR integer media-left-margin-supported 0,423 +ATTR keyword media-ready na_letter_8.5x11in,iso_a4_210x297mm +ATTR integer media-right-margin-supported 0,423 +ATTR collection media-size-supported { + MEMBER integer x-dimension 21590 + MEMBER integer y-dimension 27940 +},{ + MEMBER integer x-dimension 21000 + MEMBER integer y-dimension 29700 +},{ + MEMBER rangeOfInteger x-dimension 7620-21590 + MEMBER rangeOfInteger y-dimension 12700-29700 +} +ATTR keyword media-source-supported main,alternate,manual,by-pass-tray +ATTR keyword media-supported na_letter_8.5x11in,na_legal_8.5x14in,iso_a4_210x297mm,custom_min_3x5in,custom_max_8.5x14in +ATTR integer media-top-margin-supported 0,423 +ATTR keyword media-type-supported stationery,stationery-letterhead + +ATTR enum orientation-requested-default 3 +ATTR enum orientation-requested-supported 3,4,5,6,7 + +ATTR keyword output-bin-default face-down +ATTR keyword output-bin-supported face-down + +ATTR keyword overrides-supported document-numbers,media,media-col,pages + +ATTR boolean page-ranges-supported true + +ATTR integer pages-per-minute 20 +ATTR integer pages-per-minute-color 10 + +ATTR keyword print-color-mode-default auto +ATTR keyword print-color-mode-supported auto,color,monochrome + +ATTR keyword print-content-optimize-default auto +ATTR keyword print-content-optimize-supported auto,graphic,photo,text,text-and-graphic + +ATTR enum print-quality-default 4 +ATTR enum print-quality-supported 3,4,5 + +ATTR text printer-make-and-model "Test Printer" + +ATTR resolution printer-resolution-default 600dpi +ATTR resolution printer-resolution-supported 300dpi,600dpi,1200x600dpi + +ATTR keyword sides-default one-sided +ATTR keyword sides-supported one-sided,two-sided-long-edge,two-sided-short-edge diff --git a/vcnet/libcups3.vcxproj b/vcnet/libcups3.vcxproj index 8bd534e0d..836726501 100644 --- a/vcnet/libcups3.vcxproj +++ b/vcnet/libcups3.vcxproj @@ -131,7 +131,6 @@ xcopy /I/Y "$(TargetPath)" - diff --git a/vcnet/libcups3.vcxproj.filters b/vcnet/libcups3.vcxproj.filters index b57fdf3d9..61ad48295 100644 --- a/vcnet/libcups3.vcxproj.filters +++ b/vcnet/libcups3.vcxproj.filters @@ -123,9 +123,6 @@ Source Files - - Source Files - diff --git a/xcode/libcups.xcodeproj/project.pbxproj b/xcode/libcups.xcodeproj/project.pbxproj index 90b13249f..cfb486093 100644 --- a/xcode/libcups.xcodeproj/project.pbxproj +++ b/xcode/libcups.xcodeproj/project.pbxproj @@ -258,8 +258,6 @@ 27D3968E27BB3989003D3D8E /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D3968227BB390D003D3D8E /* libresolv.tbd */; }; 720E854320164E7B00C6C411 /* ipp-file.c in Sources */ = {isa = PBXBuildFile; fileRef = 720E854120164E7A00C6C411 /* ipp-file.c */; }; 720E854420164E7B00C6C411 /* ipp-file.c in Sources */ = {isa = PBXBuildFile; fileRef = 720E854120164E7A00C6C411 /* ipp-file.c */; }; - 720E854520164E7B00C6C411 /* ipp-vars.c in Sources */ = {isa = PBXBuildFile; fileRef = 720E854220164E7A00C6C411 /* ipp-vars.c */; }; - 720E854620164E7B00C6C411 /* ipp-vars.c in Sources */ = {isa = PBXBuildFile; fileRef = 720E854220164E7A00C6C411 /* ipp-vars.c */; }; 72220EC51333056300FCA411 /* array.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EB81333056300FCA411 /* array.c */; }; 72220EC61333056300FCA411 /* array.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EB91333056300FCA411 /* array.h */; settings = {ATTRIBUTES = (Public, ); }; }; 72220EC81333056300FCA411 /* auth.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBB1333056300FCA411 /* auth.c */; }; @@ -968,7 +966,6 @@ 27D3968227BB390D003D3D8E /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; }; 27F89DA21B3AC43B00E5A4B7 /* testraster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = testraster.c; path = ../cups/testraster.c; sourceTree = ""; }; 720E854120164E7A00C6C411 /* ipp-file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ipp-file.c"; path = "../cups/ipp-file.c"; sourceTree = ""; }; - 720E854220164E7A00C6C411 /* ipp-vars.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ipp-vars.c"; path = "../cups/ipp-vars.c"; sourceTree = ""; }; 72220EAE1333047D00FCA411 /* libcups.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcups.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 72220EB81333056300FCA411 /* array.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = array.c; path = ../cups/array.c; sourceTree = ""; }; 72220EB91333056300FCA411 /* array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = array.h; path = ../cups/array.h; sourceTree = ""; }; @@ -1530,7 +1527,6 @@ 72220EE6133305BB00FCA411 /* ipp.c */, 720E854120164E7A00C6C411 /* ipp-file.c */, 72220EE5133305BB00FCA411 /* ipp-support.c */, - 720E854220164E7A00C6C411 /* ipp-vars.c */, 72220EEB133305BB00FCA411 /* language.h */, 72220EE9133305BB00FCA411 /* language-private.h */, 72220EE8133305BB00FCA411 /* langprintf.c */, @@ -2325,7 +2321,6 @@ 274FF68C1333B1C400317ECB /* array.c in Sources */, 7253C459216E981200494ADD /* raster-stream.c in Sources */, 274FF68E1333B1C400317ECB /* auth.c in Sources */, - 720E854620164E7B00C6C411 /* ipp-vars.c in Sources */, 274FF6931333B1C400317ECB /* debug.c in Sources */, 274FF6941333B1C400317ECB /* dest.c in Sources */, 274FF6951333B1C400317ECB /* dir.c in Sources */, @@ -2410,7 +2405,6 @@ 7253C457216E981000494ADD /* raster-stream.c in Sources */, 727AD5B719100A58009F6862 /* tls.c in Sources */, 72220EC81333056300FCA411 /* auth.c in Sources */, - 720E854520164E7B00C6C411 /* ipp-vars.c in Sources */, 72220F0B133305BB00FCA411 /* debug.c in Sources */, 72220F0C133305BB00FCA411 /* dest.c in Sources */, 72220F0D133305BB00FCA411 /* dir.c in Sources */,