Lines Matching refs:attr
34 static void ipp_free_values(ipp_attribute_t *attr, int element,
49 static _ipp_value_t *ipp_set_value(ipp_t *ipp, ipp_attribute_t **attr,
125 ipp_attribute_t *attr; /* New attribute */ in ippAddBoolean() local
142 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BOOLEAN, 1)) == NULL) in ippAddBoolean()
145 attr->values[0].boolean = value; in ippAddBoolean()
147 return (attr); in ippAddBoolean()
172 ipp_attribute_t *attr; /* New attribute */ in ippAddBooleans() local
191 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BOOLEAN, num_values)) == NULL) in ippAddBooleans()
196 for (i = num_values, value = attr->values; in ippAddBooleans()
202 return (attr); in ippAddBooleans()
227 ipp_attribute_t *attr; /* New attribute */ in ippAddCollection() local
244 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BEGIN_COLLECTION, 1)) == NULL) in ippAddCollection()
247 attr->values[0].collection = value; in ippAddCollection()
252 return (attr); in ippAddCollection()
280 ipp_attribute_t *attr; /* New attribute */ in ippAddCollections() local
299 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BEGIN_COLLECTION, in ippAddCollections()
305 for (i = num_values, value = attr->values; in ippAddCollections()
314 return (attr); in ippAddCollections()
337 ipp_attribute_t *attr; /* New attribute */ in ippAddDate() local
354 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_DATE, 1)) == NULL) in ippAddDate()
357 memcpy(attr->values[0].date, value, 11); in ippAddDate()
359 return (attr); in ippAddDate()
386 ipp_attribute_t *attr; /* New attribute */ in ippAddInteger() local
420 if ((attr = ipp_add_attr(ipp, name, group, value_tag, 1)) == NULL) in ippAddInteger()
423 attr->values[0].integer = value; in ippAddInteger()
425 return (attr); in ippAddInteger()
454 ipp_attribute_t *attr; /* New attribute */ in ippAddIntegers() local
483 if ((attr = ipp_add_attr(ipp, name, group, value_tag, num_values)) == NULL) in ippAddIntegers()
488 for (i = num_values, value = attr->values; in ippAddIntegers()
494 return (attr); in ippAddIntegers()
520 ipp_attribute_t *attr; /* New attribute */ in ippAddOctetString() local
528 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_STRING, 1)) == NULL) in ippAddOctetString()
535 attr->values[0].unknown.length = datalen; in ippAddOctetString()
539 if ((attr->values[0].unknown.data = malloc((size_t)datalen)) == NULL) in ippAddOctetString()
541 ippDeleteAttribute(ipp, attr); in ippAddOctetString()
545 memcpy(attr->values[0].unknown.data, data, (size_t)datalen); in ippAddOctetString()
552 return (attr); in ippAddOctetString()
632 ipp_attribute_t *attr; /* New attribute */ in ippAddRange() local
649 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RANGE, 1)) == NULL) in ippAddRange()
652 attr->values[0].range.lower = lower; in ippAddRange()
653 attr->values[0].range.upper = upper; in ippAddRange()
655 return (attr); in ippAddRange()
681 ipp_attribute_t *attr; /* New attribute */ in ippAddRanges() local
700 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RANGE, num_values)) == NULL) in ippAddRanges()
705 for (i = num_values, value = attr->values; in ippAddRanges()
714 return (attr); in ippAddRanges()
739 ipp_attribute_t *attr; /* New attribute */ in ippAddResolution() local
759 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RESOLUTION, 1)) == NULL) in ippAddResolution()
762 attr->values[0].resolution.xres = xres; in ippAddResolution()
763 attr->values[0].resolution.yres = yres; in ippAddResolution()
764 attr->values[0].resolution.units = units; in ippAddResolution()
766 return (attr); in ippAddResolution()
793 ipp_attribute_t *attr; /* New attribute */ in ippAddResolutions() local
813 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RESOLUTION, num_values)) == NULL) in ippAddResolutions()
818 for (i = num_values, value = attr->values; in ippAddResolutions()
828 return (attr); in ippAddResolutions()
891 ipp_attribute_t *attr; /* New attribute */ in ippAddString() local
938 if ((attr = ipp_add_attr(ipp, name, group, value_tag, 1)) == NULL) in ippAddString()
947 attr->values[0].string.language = (char *)language; in ippAddString()
948 attr->values[0].string.text = (char *)value; in ippAddString()
953 attr->values[0].string.language = _cupsStrAlloc(ipp_lang_code(language, code, in ippAddString()
959 attr->values[0].string.text = _cupsStrAlloc(ipp_get_code(value, code, in ippAddString()
962 attr->values[0].string.text = _cupsStrAlloc(ipp_lang_code(value, code, in ippAddString()
965 attr->values[0].string.text = _cupsStrAlloc(value); in ippAddString()
969 return (attr); in ippAddString()
1014 ipp_attribute_t *attr; /* New attribute */ in ippAddStringf() local
1019 attr = ippAddStringfv(ipp, group, value_tag, name, language, format, ap); in ippAddStringf()
1022 return (attr); in ippAddStringf()
1223 ipp_attribute_t *attr; /* New attribute */ in ippAddStrings() local
1284 if ((attr = ipp_add_attr(ipp, name, group, value_tag, num_values)) == NULL) in ippAddStrings()
1291 for (i = num_values, value = attr->values; in ippAddStrings()
1297 if (value == attr->values) in ippAddStrings()
1306 value->string.language = attr->values[0].string.language; in ippAddStrings()
1322 return (attr); in ippAddStrings()
1339 ipp_attribute_t *attr, /* I - Attribute */ in ippContainsInteger() argument
1350 if (!attr) in ippContainsInteger()
1353 if (attr->value_tag != IPP_TAG_INTEGER && attr->value_tag != IPP_TAG_ENUM && in ippContainsInteger()
1354 attr->value_tag != IPP_TAG_RANGE) in ippContainsInteger()
1361 if (attr->value_tag == IPP_TAG_RANGE) in ippContainsInteger()
1363 for (i = attr->num_values, avalue = attr->values; i > 0; i --, avalue ++) in ippContainsInteger()
1369 for (i = attr->num_values, avalue = attr->values; i > 0; i --, avalue ++) in ippContainsInteger()
1390 ipp_attribute_t *attr, /* I - Attribute */ in ippContainsString() argument
1397 DEBUG_printf(("ippContainsString(attr=%p, value=\"%s\")", (void *)attr, value)); in ippContainsString()
1403 if (!attr || !value) in ippContainsString()
1414 attr->name, ippTagString(attr->value_tag), in ippContainsString()
1415 attr->num_values)); in ippContainsString()
1417 switch (attr->value_tag & IPP_TAG_CUPS_MASK) in ippContainsString()
1424 for (i = attr->num_values, avalue = attr->values; in ippContainsString()
1429 attr->num_values - i, avalue->string.text)); in ippContainsString()
1443 for (i = attr->num_values, avalue = attr->values; in ippContainsString()
1448 attr->num_values - i, avalue->string.text)); in ippContainsString()
1830 ipp_attribute_t *attr, /* Current attribute */ in ippDelete() local
1848 for (attr = ipp->attrs; attr != NULL; attr = next) in ippDelete()
1850 next = attr->next; in ippDelete()
1852 …%s %s%s (%d values)", (void *)attr, attr->name, attr->num_values > 1 ? "1setOf " : "", ippTagStrin… in ippDelete()
1854 ipp_free_values(attr, 0, attr->num_values); in ippDelete()
1856 if (attr->name) in ippDelete()
1857 _cupsStrFree(attr->name); in ippDelete()
1859 free(attr); in ippDelete()
1875 ipp_attribute_t *attr) /* I - Attribute to delete */ in ippDeleteAttribute() argument
1881 …DEBUG_printf(("ippDeleteAttribute(ipp=%p, attr=%p(%s))", (void *)ipp, (void *)attr, attr ? attr->n… in ippDeleteAttribute()
1887 if (!attr) in ippDeleteAttribute()
1890 …%s %s%s (%d values)", (void *)attr, attr->name, attr->num_values > 1 ? "1setOf " : "", ippTagStrin… in ippDeleteAttribute()
1901 if (current == attr) in ippDeleteAttribute()
1926 ipp_free_values(attr, 0, attr->num_values); in ippDeleteAttribute()
1928 if (attr->name) in ippDeleteAttribute()
1929 _cupsStrFree(attr->name); in ippDeleteAttribute()
1931 free(attr); in ippDeleteAttribute()
1951 ipp_attribute_t **attr, /* IO - Attribute */ in ippDeleteValues() argument
1959 if (!ipp || !attr || !*attr || in ippDeleteValues()
1960 element < 0 || element >= (*attr)->num_values || count <= 0 || in ippDeleteValues()
1961 (element + count) >= (*attr)->num_values) in ippDeleteValues()
1968 if (count == (*attr)->num_values) in ippDeleteValues()
1970 ippDeleteAttribute(ipp, *attr); in ippDeleteValues()
1971 *attr = NULL; in ippDeleteValues()
1979 ipp_free_values(*attr, element, count); in ippDeleteValues()
2031 ipp_attribute_t *attr, /* Current atttribute */ in ippFindNextAttribute() local
2094 attr = ipp->current; in ippFindNextAttribute()
2099 attr = ipp->current->next; in ippFindNextAttribute()
2104 attr = ipp->attrs; in ippFindNextAttribute()
2107 for (; attr != NULL; ipp->prev = attr, attr = attr->next) in ippFindNextAttribute()
2109 DEBUG_printf(("4ippFindAttribute: attr=%p, name=\"%s\"", (void *)attr, attr->name)); in ippFindNextAttribute()
2111 value_tag = (ipp_tag_t)(attr->value_tag & IPP_TAG_CUPS_MASK); in ippFindNextAttribute()
2113 if (attr->name != NULL && _cups_strcasecmp(attr->name, name) == 0 && in ippFindNextAttribute()
2118 ipp->current = attr; in ippFindNextAttribute()
2120 if (name == parent && attr->value_tag == IPP_TAG_BEGIN_COLLECTION) in ippFindNextAttribute()
2124 for (i = 0; i < attr->num_values; i ++) in ippFindNextAttribute()
2126 if ((childattr = ippFindAttribute(attr->values[i].collection, child, type)) != NULL) in ippFindNextAttribute()
2128 attr->values[0].collection->curindex = i; in ippFindNextAttribute()
2134 return (attr); in ippFindNextAttribute()
2180 ippGetBoolean(ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetBoolean() argument
2187 if (!attr || attr->value_tag != IPP_TAG_BOOLEAN || in ippGetBoolean()
2188 element < 0 || element >= attr->num_values) in ippGetBoolean()
2195 return (attr->values[element].boolean); in ippGetBoolean()
2210 ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetCollection() argument
2217 if (!attr || attr->value_tag != IPP_TAG_BEGIN_COLLECTION || in ippGetCollection()
2218 element < 0 || element >= attr->num_values) in ippGetCollection()
2225 return (attr->values[element].collection); in ippGetCollection()
2236 ippGetCount(ipp_attribute_t *attr) /* I - IPP attribute */ in ippGetCount() argument
2242 if (!attr) in ippGetCount()
2249 return (attr->num_values); in ippGetCount()
2263 ippGetDate(ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetDate() argument
2270 if (!attr || attr->value_tag != IPP_TAG_DATE || in ippGetDate()
2271 element < 0 || element >= attr->num_values) in ippGetDate()
2278 return (attr->values[element].date); in ippGetDate()
2289 ippGetGroupTag(ipp_attribute_t *attr) /* I - IPP attribute */ in ippGetGroupTag() argument
2295 if (!attr) in ippGetGroupTag()
2302 return (attr->group_tag); in ippGetGroupTag()
2316 ippGetInteger(ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetInteger() argument
2323 if (!attr || (attr->value_tag != IPP_TAG_INTEGER && attr->value_tag != IPP_TAG_ENUM) || in ippGetInteger()
2324 element < 0 || element >= attr->num_values) in ippGetInteger()
2331 return (attr->values[element].integer); in ippGetInteger()
2342 ippGetName(ipp_attribute_t *attr) /* I - IPP attribute */ in ippGetName() argument
2348 if (!attr) in ippGetName()
2355 return (attr->name); in ippGetName()
2370 ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetOctetString() argument
2378 if (!attr || attr->value_tag != IPP_TAG_STRING || in ippGetOctetString()
2379 element < 0 || element >= attr->num_values) in ippGetOctetString()
2392 *datalen = attr->values[element].unknown.length; in ippGetOctetString()
2394 return (attr->values[element].unknown.data); in ippGetOctetString()
2432 ippGetRange(ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetRange() argument
2440 if (!attr || attr->value_tag != IPP_TAG_RANGE || in ippGetRange()
2441 element < 0 || element >= attr->num_values) in ippGetRange()
2454 *uppervalue = attr->values[element].range.upper; in ippGetRange()
2456 return (attr->values[element].range.lower); in ippGetRange()
2495 ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetResolution() argument
2504 if (!attr || attr->value_tag != IPP_TAG_RESOLUTION || in ippGetResolution()
2505 element < 0 || element >= attr->num_values) in ippGetResolution()
2521 *yres = attr->values[element].resolution.yres; in ippGetResolution()
2524 *units = attr->values[element].resolution.units; in ippGetResolution()
2526 return (attr->values[element].resolution.xres); in ippGetResolution()
2588 ippGetString(ipp_attribute_t *attr, /* I - IPP attribute */ in ippGetString() argument
2599 tag = ippGetValueTag(attr); in ippGetString()
2601 …if (!attr || element < 0 || element >= attr->num_values || (tag != IPP_TAG_TEXTLANG && tag != IPP_… in ippGetString()
2609 *language = attr->values[element].string.language; in ippGetString()
2611 return (attr->values[element].string.text); in ippGetString()
2622 ippGetValueTag(ipp_attribute_t *attr) /* I - IPP attribute */ in ippGetValueTag() argument
2628 if (!attr) in ippGetValueTag()
2635 return (attr->value_tag & IPP_TAG_CUPS_MASK); in ippGetValueTag()
2824 ipp_attribute_t *attr; /* Current attribute */ in ippNewResponse() local
2853 attr = request->attrs; in ippNewResponse()
2855 if (attr && attr->name && !strcmp(attr->name, "attributes-charset") && in ippNewResponse()
2856 attr->group_tag == IPP_TAG_OPERATION && in ippNewResponse()
2857 attr->value_tag == IPP_TAG_CHARSET && in ippNewResponse()
2858 attr->num_values == 1) in ippNewResponse()
2865 "attributes-charset", NULL, attr->values[0].string.text); in ippNewResponse()
2881 if (attr) in ippNewResponse()
2882 attr = attr->next; in ippNewResponse()
2884 if (attr && attr->name && in ippNewResponse()
2885 !strcmp(attr->name, "attributes-natural-language") && in ippNewResponse()
2886 attr->group_tag == IPP_TAG_OPERATION && in ippNewResponse()
2887 attr->value_tag == IPP_TAG_LANGUAGE && in ippNewResponse()
2888 attr->num_values == 1) in ippNewResponse()
2896 attr->values[0].string.text); in ippNewResponse()
2969 ipp_attribute_t *attr; /* Current attribute */ in ippReadIO() local
3150 attr = ipp->current; in ippReadIO()
3151 value_tag = (ipp_tag_t)(attr->value_tag & IPP_TAG_CUPS_MASK); in ippReadIO()
3164 attr->value_tag = tag; in ippReadIO()
3193 attr->name, ippTagString(value_tag), ippTagString(tag))); in ippReadIO()
3194 ippSetValueTag(ipp, &attr, tag); in ippReadIO()
3224 "rangeOfInteger.", attr->name)); in ippReadIO()
3225 ippSetValueTag(ipp, &attr, IPP_TAG_RANGE); in ippReadIO()
3244 if ((value = ipp_set_value(ipp, &attr, attr->num_values)) == NULL) in ippReadIO()
3267 attr = ipp->current = ipp_add_attr(ipp, NULL, ipp->curtag, IPP_TAG_ZERO, 1); in ippReadIO()
3268 if (!attr) in ippReadIO()
3278 value = attr->values; in ippReadIO()
3298 if ((attr = ipp->current = ipp_add_attr(ipp, (char *)buffer, ipp->curtag, tag, in ippReadIO()
3309 value = attr->values; in ippReadIO()
3313 attr = NULL; in ippReadIO()
3363 if (attr->value_tag == IPP_TAG_RANGE) in ippReadIO()
3399 if (attr->value_tag == tag) in ippReadIO()
3404 attr->value_tag = IPP_TAG_TEXT; in ippReadIO()
3626 if (!attr) in ippReadIO()
3650 attr->name = _cupsStrAlloc((char *)buffer); in ippReadIO()
3658 attr->num_values --; in ippReadIO()
3660 DEBUG_printf(("2ippReadIO: member name=\"%s\"", attr->name)); in ippReadIO()
3737 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetBoolean() argument
3748 if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_BOOLEAN || in ippSetBoolean()
3749 element < 0 || element > (*attr)->num_values) in ippSetBoolean()
3756 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetBoolean()
3780 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetCollection() argument
3791 if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_BEGIN_COLLECTION || in ippSetCollection()
3792 element < 0 || element > (*attr)->num_values || !colvalue) in ippSetCollection()
3799 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetCollection()
3828 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetDate() argument
3839 if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_DATE || in ippSetDate()
3840 element < 0 || element > (*attr)->num_values || !datevalue) in ippSetDate()
3847 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetDate()
3874 ipp_attribute_t **attr, /* IO - Attribute */ in ippSetGroupTag() argument
3881 if (!ipp || !attr || !*attr || in ippSetGroupTag()
3890 (*attr)->group_tag = group_tag; in ippSetGroupTag()
3912 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetInteger() argument
3923 if (!ipp || !attr || !*attr || in ippSetInteger()
3924 ((*attr)->value_tag != IPP_TAG_INTEGER && (*attr)->value_tag != IPP_TAG_ENUM) || in ippSetInteger()
3925 element < 0 || element > (*attr)->num_values) in ippSetInteger()
3932 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetInteger()
3952 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetName() argument
3962 if (!ipp || !attr || !*attr) in ippSetName()
3971 if ((*attr)->name) in ippSetName()
3972 _cupsStrFree((*attr)->name); in ippSetName()
3974 (*attr)->name = temp; in ippSetName()
3998 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetOctetString() argument
4010 if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_STRING || in ippSetOctetString()
4011 element < 0 || element > (*attr)->num_values || in ippSetOctetString()
4019 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetOctetString()
4021 if ((int)((*attr)->value_tag) & IPP_TAG_CUPS_CONST) in ippSetOctetString()
4115 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetRange() argument
4127 if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_RANGE || in ippSetRange()
4128 element < 0 || element > (*attr)->num_values || lowervalue > uppervalue) in ippSetRange()
4135 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetRange()
4196 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetResolution() argument
4209 if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_RESOLUTION || in ippSetResolution()
4210 element < 0 || element > (*attr)->num_values || xresvalue <= 0 || yresvalue <= 0 || in ippSetResolution()
4218 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetResolution()
4303 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetString() argument
4315 if (!ipp || !attr || !*attr || in ippSetString()
4316 ((*attr)->value_tag != IPP_TAG_TEXTLANG && in ippSetString()
4317 (*attr)->value_tag != IPP_TAG_NAMELANG && in ippSetString()
4318 ((*attr)->value_tag < IPP_TAG_TEXT || in ippSetString()
4319 (*attr)->value_tag > IPP_TAG_MIMETYPE)) || in ippSetString()
4320 element < 0 || element > (*attr)->num_values || !strvalue) in ippSetString()
4327 if ((value = ipp_set_value(ipp, attr, element)) != NULL) in ippSetString()
4330 value->string.language = (*attr)->values[0].string.language; in ippSetString()
4332 if ((int)((*attr)->value_tag) & IPP_TAG_CUPS_CONST) in ippSetString()
4370 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetStringf() argument
4380 ret = ippSetStringfv(ipp, attr, element, format, ap); in ippSetStringf()
4408 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetStringfv() argument
4424 if (attr && *attr) in ippSetStringfv()
4425 value_tag = (*attr)->value_tag & IPP_TAG_CUPS_MASK; in ippSetStringfv()
4429 if (!ipp || !attr || !*attr || in ippSetStringfv()
4531 return (ippSetString(ipp, attr, element, buffer)); in ippSetStringfv()
4561 ipp_attribute_t **attr, /* IO - IPP attribute */ in ippSetValueTag() argument
4576 if (!ipp || !attr || !*attr) in ippSetValueTag()
4583 if (value_tag == (*attr)->value_tag) in ippSetValueTag()
4590 temp_tag = (ipp_tag_t)((int)((*attr)->value_tag) & IPP_TAG_CUPS_MASK); in ippSetValueTag()
4605 if ((*attr)->num_values > 0) in ippSetValueTag()
4606 ipp_free_values(*attr, 0, (*attr)->num_values); in ippSetValueTag()
4612 (*attr)->value_tag = value_tag; in ippSetValueTag()
4619 for (i = (*attr)->num_values, value = (*attr)->values; in ippSetValueTag()
4627 (*attr)->value_tag = IPP_TAG_RANGE; in ippSetValueTag()
4634 (*attr)->value_tag = (ipp_tag_t)(IPP_TAG_NAME | ((*attr)->value_tag & IPP_TAG_CUPS_CONST)); in ippSetValueTag()
4652 (*attr)->values[0].string.language = in ippSetValueTag()
4662 (*attr)->values[0].string.language = _cupsStrAlloc(ipp_lang_code(language->language, in ippSetValueTag()
4667 for (i = (*attr)->num_values - 1, value = (*attr)->values + 1; in ippSetValueTag()
4670 value->string.language = (*attr)->values[0].string.language; in ippSetValueTag()
4672 if ((int)(*attr)->value_tag & IPP_TAG_CUPS_CONST) in ippSetValueTag()
4678 for (i = (*attr)->num_values, value = (*attr)->values; in ippSetValueTag()
4684 (*attr)->value_tag = IPP_TAG_NAMELANG; in ippSetValueTag()
4793 ipp_attribute_t *attr) /* I - Attribute */ in ippValidateAttribute() argument
4827 if (!attr->name) in ippValidateAttribute()
4834 for (ptr = attr->name; *ptr; ptr ++) in ippValidateAttribute()
4838 if (*ptr || ptr == attr->name) in ippValidateAttribute()
4842 "(RFC 8011 section 5.1.4)."), attr->name); in ippValidateAttribute()
4846 if ((ptr - attr->name) > 255) in ippValidateAttribute()
4850 "(RFC 8011 section 5.1.4)."), attr->name, in ippValidateAttribute()
4851 (int)(ptr - attr->name)); in ippValidateAttribute()
4855 switch (attr->value_tag) in ippValidateAttribute()
4861 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
4863 if (attr->values[i].boolean != 0 && in ippValidateAttribute()
4864 attr->values[i].boolean != 1) in ippValidateAttribute()
4868 "(RFC 8011 section 5.1.21)."), attr->name, in ippValidateAttribute()
4869 attr->values[i].boolean); in ippValidateAttribute()
4876 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
4878 if (attr->values[i].integer < 1) in ippValidateAttribute()
4882 "(RFC 8011 section 5.1.5)."), attr->name, in ippValidateAttribute()
4883 attr->values[i].integer); in ippValidateAttribute()
4890 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
4892 if (attr->values[i].unknown.length > IPP_MAX_OCTETSTRING) in ippValidateAttribute()
4896 "(RFC 8011 section 5.1.20)."), attr->name, in ippValidateAttribute()
4897 attr->values[i].unknown.length); in ippValidateAttribute()
4904 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
4906 date = attr->values[i].date; in ippValidateAttribute()
4912 "(RFC 8011 section 5.1.15)."), attr->name, date[2]); in ippValidateAttribute()
4920 "(RFC 8011 section 5.1.15)."), attr->name, date[3]); in ippValidateAttribute()
4928 "(RFC 8011 section 5.1.15)."), attr->name, date[4]); in ippValidateAttribute()
4936 "(RFC 8011 section 5.1.15)."), attr->name, date[5]); in ippValidateAttribute()
4944 "(RFC 8011 section 5.1.15)."), attr->name, date[6]); in ippValidateAttribute()
4952 "(RFC 8011 section 5.1.15)."), attr->name, date[7]); in ippValidateAttribute()
4960 "(RFC 8011 section 5.1.15)."), attr->name, date[8]); in ippValidateAttribute()
4968 "(RFC 8011 section 5.1.15)."), attr->name, date[9]); in ippValidateAttribute()
4976 "(RFC 8011 section 5.1.15)."), attr->name, date[10]); in ippValidateAttribute()
4983 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
4985 if (attr->values[i].resolution.xres <= 0) in ippValidateAttribute()
4990 "(RFC 8011 section 5.1.16)."), attr->name, in ippValidateAttribute()
4991 attr->values[i].resolution.xres, in ippValidateAttribute()
4992 attr->values[i].resolution.yres, in ippValidateAttribute()
4993 attr->values[i].resolution.units == in ippValidateAttribute()
4995 attr->values[i].resolution.units == in ippValidateAttribute()
5000 if (attr->values[i].resolution.yres <= 0) in ippValidateAttribute()
5005 "(RFC 8011 section 5.1.16)."), attr->name, in ippValidateAttribute()
5006 attr->values[i].resolution.xres, in ippValidateAttribute()
5007 attr->values[i].resolution.yres, in ippValidateAttribute()
5008 attr->values[i].resolution.units == in ippValidateAttribute()
5010 attr->values[i].resolution.units == in ippValidateAttribute()
5015 if (attr->values[i].resolution.units != IPP_RES_PER_INCH && in ippValidateAttribute()
5016 attr->values[i].resolution.units != IPP_RES_PER_CM) in ippValidateAttribute()
5021 attr->name, attr->values[i].resolution.xres, in ippValidateAttribute()
5022 attr->values[i].resolution.yres, in ippValidateAttribute()
5023 attr->values[i].resolution.units == in ippValidateAttribute()
5025 attr->values[i].resolution.units == in ippValidateAttribute()
5033 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5035 if (attr->values[i].range.lower > attr->values[i].range.upper) in ippValidateAttribute()
5040 attr->name, attr->values[i].range.lower, in ippValidateAttribute()
5041 attr->values[i].range.upper); in ippValidateAttribute()
5048 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5050 for (colattr = attr->values[i].collection->attrs; in ippValidateAttribute()
5062 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5064 for (ptr = attr->values[i].string.text; *ptr; ptr ++) in ippValidateAttribute()
5101 "sequence (RFC 8011 section 5.1.2)."), attr->name, in ippValidateAttribute()
5102 attr->values[i].string.text); in ippValidateAttribute()
5106 if ((ptr - attr->values[i].string.text) > (IPP_MAX_TEXT - 1)) in ippValidateAttribute()
5110 "(RFC 8011 section 5.1.2)."), attr->name, in ippValidateAttribute()
5111 attr->values[i].string.text, in ippValidateAttribute()
5112 (int)(ptr - attr->values[i].string.text)); in ippValidateAttribute()
5120 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5122 for (ptr = attr->values[i].string.text; *ptr; ptr ++) in ippValidateAttribute()
5159 "sequence (RFC 8011 section 5.1.3)."), attr->name, in ippValidateAttribute()
5160 attr->values[i].string.text); in ippValidateAttribute()
5164 if ((ptr - attr->values[i].string.text) > (IPP_MAX_NAME - 1)) in ippValidateAttribute()
5168 "(RFC 8011 section 5.1.3)."), attr->name, in ippValidateAttribute()
5169 attr->values[i].string.text, in ippValidateAttribute()
5170 (int)(ptr - attr->values[i].string.text)); in ippValidateAttribute()
5177 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5179 for (ptr = attr->values[i].string.text; *ptr; ptr ++) in ippValidateAttribute()
5184 if (*ptr || ptr == attr->values[i].string.text) in ippValidateAttribute()
5189 attr->name, attr->values[i].string.text); in ippValidateAttribute()
5193 if ((ptr - attr->values[i].string.text) > (IPP_MAX_KEYWORD - 1)) in ippValidateAttribute()
5198 attr->name, attr->values[i].string.text, in ippValidateAttribute()
5199 (int)(ptr - attr->values[i].string.text)); in ippValidateAttribute()
5206 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5209 attr->values[i].string.text, in ippValidateAttribute()
5219 "(RFC 8011 section 5.1.6)."), attr->name, in ippValidateAttribute()
5220 attr->values[i].string.text, in ippValidateAttribute()
5226 if (strlen(attr->values[i].string.text) > (IPP_MAX_URI - 1)) in ippValidateAttribute()
5230 "(RFC 8011 section 5.1.6)."), attr->name, in ippValidateAttribute()
5231 attr->values[i].string.text, in ippValidateAttribute()
5232 (int)strlen(attr->values[i].string.text)); in ippValidateAttribute()
5238 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5240 ptr = attr->values[i].string.text; in ippValidateAttribute()
5249 if (*ptr || ptr == attr->values[i].string.text) in ippValidateAttribute()
5254 attr->name, attr->values[i].string.text); in ippValidateAttribute()
5258 if ((ptr - attr->values[i].string.text) > (IPP_MAX_URISCHEME - 1)) in ippValidateAttribute()
5263 attr->name, attr->values[i].string.text, in ippValidateAttribute()
5264 (int)(ptr - attr->values[i].string.text)); in ippValidateAttribute()
5271 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5273 for (ptr = attr->values[i].string.text; *ptr; ptr ++) in ippValidateAttribute()
5278 if (*ptr || ptr == attr->values[i].string.text) in ippValidateAttribute()
5283 attr->name, attr->values[i].string.text); in ippValidateAttribute()
5287 if ((ptr - attr->values[i].string.text) > (IPP_MAX_CHARSET - 1)) in ippValidateAttribute()
5292 attr->name, attr->values[i].string.text, in ippValidateAttribute()
5293 (int)(ptr - attr->values[i].string.text)); in ippValidateAttribute()
5331 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5333 if (regexec(&re, attr->values[i].string.text, 0, NULL, 0)) in ippValidateAttribute()
5338 attr->name, attr->values[i].string.text); in ippValidateAttribute()
5343 if (strlen(attr->values[i].string.text) > (IPP_MAX_LANGUAGE - 1)) in ippValidateAttribute()
5348 attr->name, attr->values[i].string.text, in ippValidateAttribute()
5349 (int)strlen(attr->values[i].string.text)); in ippValidateAttribute()
5385 for (i = 0; i < attr->num_values; i ++) in ippValidateAttribute()
5387 if (regexec(&re, attr->values[i].string.text, 0, NULL, 0)) in ippValidateAttribute()
5392 attr->name, attr->values[i].string.text); in ippValidateAttribute()
5397 if (strlen(attr->values[i].string.text) > (IPP_MAX_MIMETYPE - 1)) in ippValidateAttribute()
5402 attr->name, attr->values[i].string.text, in ippValidateAttribute()
5403 (int)strlen(attr->values[i].string.text)); in ippValidateAttribute()
5433 ipp_attribute_t *attr; /* Current attribute */ in ippValidateAttributes() local
5439 for (attr = ipp->attrs; attr; attr = attr->next) in ippValidateAttributes()
5440 if (!ippValidateAttribute(attr)) in ippValidateAttributes()
5499 ipp_attribute_t *attr; /* Current attribute */ in ippWriteIO() local
5582 attr = ipp->current; in ippWriteIO()
5588 if (ipp->curtag != attr->group_tag) in ippWriteIO()
5594 ipp->curtag = attr->group_tag; in ippWriteIO()
5596 if (attr->group_tag == IPP_TAG_ZERO) in ippWriteIO()
5600 attr->group_tag, ippTagString(attr->group_tag))); in ippWriteIO()
5601 *bufptr++ = (ipp_uchar_t)attr->group_tag; in ippWriteIO()
5603 else if (attr->group_tag == IPP_TAG_ZERO) in ippWriteIO()
5607 DEBUG_printf(("1ippWriteIO: %s (%s%s)", attr->name, in ippWriteIO()
5608 attr->num_values > 1 ? "1setOf " : "", in ippWriteIO()
5609 ippTagString(attr->value_tag))); in ippWriteIO()
5627 if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 8)) in ippWriteIO()
5639 attr->value_tag, ippTagString(attr->value_tag))); in ippWriteIO()
5641 attr->name)); in ippWriteIO()
5643 if (attr->value_tag > 0xff) in ippWriteIO()
5646 *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 24); in ippWriteIO()
5647 *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 16); in ippWriteIO()
5648 *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 8); in ippWriteIO()
5649 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5652 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5656 memcpy(bufptr, attr->name, (size_t)n); in ippWriteIO()
5666 if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 12)) in ippWriteIO()
5681 attr->name)); in ippWriteIO()
5683 attr->value_tag, ippTagString(attr->value_tag))); in ippWriteIO()
5691 memcpy(bufptr, attr->name, (size_t)n); in ippWriteIO()
5694 if (attr->value_tag > 0xff) in ippWriteIO()
5697 *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 24); in ippWriteIO()
5698 *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 16); in ippWriteIO()
5699 *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 8); in ippWriteIO()
5700 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5703 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5713 switch (attr->value_tag & ~IPP_TAG_CUPS_CONST) in ippWriteIO()
5728 for (i = 0, value = attr->values; in ippWriteIO()
5729 i < attr->num_values; in ippWriteIO()
5752 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5774 for (i = 0, value = attr->values; in ippWriteIO()
5775 i < attr->num_values; in ippWriteIO()
5798 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5823 for (i = 0, value = attr->values; in ippWriteIO()
5824 i < attr->num_values; in ippWriteIO()
5835 attr->value_tag, in ippWriteIO()
5836 ippTagString(attr->value_tag))); in ippWriteIO()
5852 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5907 for (i = 0, value = attr->values; in ippWriteIO()
5908 i < attr->num_values; in ippWriteIO()
5931 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
5952 for (i = 0, value = attr->values; in ippWriteIO()
5953 i < attr->num_values; in ippWriteIO()
5976 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
6005 for (i = 0, value = attr->values; in ippWriteIO()
6006 i < attr->num_values; in ippWriteIO()
6029 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
6057 for (i = 0, value = attr->values; in ippWriteIO()
6058 i < attr->num_values; in ippWriteIO()
6081 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
6164 for (i = 0, value = attr->values; in ippWriteIO()
6165 i < attr->num_values; in ippWriteIO()
6195 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
6234 for (i = 0, value = attr->values; in ippWriteIO()
6235 i < attr->num_values; in ippWriteIO()
6258 *bufptr++ = (ipp_uchar_t)attr->value_tag; in ippWriteIO()
6391 ipp_attribute_t *attr; /* New attribute */ in ipp_add_attr() local
6412 attr = calloc(sizeof(ipp_attribute_t) + in ipp_add_attr()
6415 if (attr) in ipp_add_attr()
6421 …DEBUG_printf(("4debug_alloc: %p %s %s%s (%d values)", (void *)attr, name, num_values > 1 ? "1setOf… in ipp_add_attr()
6424 attr->name = _cupsStrAlloc(name); in ipp_add_attr()
6426 attr->group_tag = group_tag; in ipp_add_attr()
6427 attr->value_tag = value_tag; in ipp_add_attr()
6428 attr->num_values = num_values; in ipp_add_attr()
6435 ipp->last->next = attr; in ipp_add_attr()
6437 ipp->attrs = attr; in ipp_add_attr()
6440 ipp->last = ipp->current = attr; in ipp_add_attr()
6443 DEBUG_printf(("5ipp_add_attr: Returning %p", (void *)attr)); in ipp_add_attr()
6445 return (attr); in ipp_add_attr()
6454 ipp_free_values(ipp_attribute_t *attr, /* I - Attribute to free values from */ in ipp_free_values() argument
6462 DEBUG_printf(("4ipp_free_values(attr=%p, element=%d, count=%d)", (void *)attr, element, count)); in ipp_free_values()
6464 if (!(attr->value_tag & IPP_TAG_CUPS_CONST)) in ipp_free_values()
6470 switch (attr->value_tag) in ipp_free_values()
6474 if (element == 0 && count == attr->num_values && in ipp_free_values()
6475 attr->values[0].string.language) in ipp_free_values()
6477 _cupsStrFree(attr->values[0].string.language); in ipp_free_values()
6478 attr->values[0].string.language = NULL; in ipp_free_values()
6491 for (i = count, value = attr->values + element; in ipp_free_values()
6515 for (i = count, value = attr->values + element; in ipp_free_values()
6526 for (i = count, value = attr->values + element; in ipp_free_values()
6544 if ((element + count) < attr->num_values) in ipp_free_values()
6545 memmove(attr->values + element, attr->values + element + count, in ipp_free_values()
6546 (size_t)(attr->num_values - count - element) * sizeof(_ipp_value_t)); in ipp_free_values()
6548 attr->num_values -= count; in ipp_free_values()
6626 ipp_attribute_t *attr; /* Current attribute */ in ipp_length() local
6651 for (attr = ipp->attrs; attr != NULL; attr = attr->next) in ipp_length()
6653 if (attr->group_tag != group && !collection) in ipp_length()
6655 group = attr->group_tag; in ipp_length()
6662 if (!attr->name) in ipp_length()
6666 "bytes=" CUPS_LLFMT, attr->name, attr->num_values, CUPS_LLCAST bytes)); in ipp_length()
6668 if ((attr->value_tag & ~IPP_TAG_CUPS_CONST) < IPP_TAG_EXTENSION) in ipp_length()
6669 bytes += (size_t)attr->num_values;/* Value tag for each value */ in ipp_length()
6671 bytes += (size_t)(5 * attr->num_values); in ipp_length()
6673 bytes += (size_t)(2 * attr->num_values); in ipp_length()
6675 bytes += strlen(attr->name); /* Name */ in ipp_length()
6676 bytes += (size_t)(2 * attr->num_values); in ipp_length()
6682 switch (attr->value_tag & ~IPP_TAG_CUPS_CONST) in ipp_length()
6695 bytes += (size_t)(4 * attr->num_values); in ipp_length()
6699 bytes += (size_t)attr->num_values; in ipp_length()
6710 for (i = 0, value = attr->values; in ipp_length()
6711 i < attr->num_values; in ipp_length()
6718 bytes += (size_t)(11 * attr->num_values); in ipp_length()
6722 bytes += (size_t)(9 * attr->num_values); in ipp_length()
6726 bytes += (size_t)(8 * attr->num_values); in ipp_length()
6731 bytes += (size_t)(4 * attr->num_values); in ipp_length()
6734 for (i = 0, value = attr->values; in ipp_length()
6735 i < attr->num_values; in ipp_length()
6747 for (i = 0, value = attr->values; in ipp_length()
6748 i < attr->num_values; in ipp_length()
6754 for (i = 0, value = attr->values; in ipp_length()
6755 i < attr->num_values; in ipp_length()
6914 ipp_attribute_t **attr, /* IO - IPP attribute */ in ipp_set_value() argument
6927 temp = *attr; in ipp_set_value()
6973 if (temp != *attr) in ipp_set_value()
6979 DEBUG_printf(("4debug_free: %p %s", (void *)*attr, temp->name)); in ipp_set_value()
6982 if (ipp->current == *attr && ipp->prev) in ipp_set_value()
6997 current && current != *attr; in ipp_set_value()
7006 *attr = temp; in ipp_set_value()
7022 if (ipp->last == *attr) in ipp_set_value()
7025 *attr = temp; in ipp_set_value()