+<dd class="description">IPP response or event message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Status code in IPP message</p>
+<h3 class="function"><a name="ippGetString">ippGetString</a></h3>
+<p class="description">Return the value...</p>
+<p class="code">
+const char *ippGetString (<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+ int element,<br>
+ const char **language<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>language</dt>
+<dd class="description">Language code (<code>NULL</code> for don't care)</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Get the string and optionally the language code for an attribute.</p>
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippGetValueTag">ippGetValueTag</a></h3>
+<p class="description">Get the value tag for an attribute.</p>
+<p class="code">
+ipp_tag_t ippGetValueTag (<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Value tag or <code>IPP_TAG_ZERO</code> on error</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippGetVersion">ippGetVersion</a></h3>
+<p class="description">Get the major and minor version number from an IPP message.</p>
+<p class="code">
+int ippGetVersion (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ int *minor<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>minor</dt>
+<dd class="description">Minor version number or <code>NULL</code></dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Major version number or 0 on error</p>
+<h3 class="function"><a name="ippLength">ippLength</a></h3>
+<p class="description">Compute the length of an IPP message.</p>
+<p class="code">
+size_t ippLength (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Size of IPP message</p>
+<h3 class="function"><a name="ippNew">ippNew</a></h3>
+<p class="description">Allocate a new IPP message.</p>
+<p class="code">
+<a href="#ipp_t">ipp_t</a> *ippNew (void);</p>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">New IPP message</p>
+<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a name="ippNewRequest">ippNewRequest</a></h3>
+<p class="description">Allocate a new IPP request message.</p>
+<p class="code">
+<a href="#ipp_t">ipp_t</a> *ippNewRequest (<br>
+ ipp_op_t op<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>op</dt>
+<dd class="description">Operation code</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">IPP request message</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The new request message is initialized with the attributes-charset and
+attributes-natural-language attributes added. The
+attributes-natural-language value is derived from the current locale.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </span><a name="ippNewResponse">ippNewResponse</a></h3>
+<p class="description">Allocate a new IPP response message.</p>
+<p class="code">
+<a href="#ipp_t">ipp_t</a> *ippNewResponse (<br>
+ <a href="#ipp_t">ipp_t</a> *request<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>request</dt>
+<dd class="description">IPP request message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">IPP response message</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The new response message is initialized with the same version-number,
+request-id, attributes-charset, and attributes-natural-language as the
+provided request message. If the attributes-charset or
+attributes-natural-language attributes are missing from the request,
+"utf-8" and a value derived from the current locale are substituted,
+respectively.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippNextAttribute">ippNextAttribute</a></h3>
+<p class="description">Return the next attribute in the message.</p>
+<p class="code">
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippNextAttribute (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Next attribute or <code>NULL</code> if none</p>
+<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a name="ippOpString">ippOpString</a></h3>
+<p class="description">Return a name for the given operation id.</p>
+<p class="code">
+const char *ippOpString (<br>
+ ipp_op_t op<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>op</dt>
+<dd class="description">Operation ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Name</p>
+<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a name="ippOpValue">ippOpValue</a></h3>
+<p class="description">Return an operation id for the given name.</p>
+<p class="code">
+ipp_op_t ippOpValue (<br>
+ const char *name<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>name</dt>
+<dd class="description">Textual name</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Operation ID</p>
+<h3 class="function"><a name="ippPort">ippPort</a></h3>
+<p class="description">Return the default IPP port number.</p>
+<p class="code">
+int ippPort (void);</p>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Port number</p>
+<h3 class="function"><a name="ippRead">ippRead</a></h3>
+<p class="description">Read data for an IPP message from a HTTP connection.</p>
+<p class="code">
+<a href="#ipp_state_t">ipp_state_t</a> ippRead (<br>
+ <a href="#http_t">http_t</a> *http,<br>
+ <a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">HTTP connection</dd>
+<dt>ipp</dt>
+<dd class="description">IPP data</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Current state</p>
+<h3 class="function"><span class="info"> CUPS 1.1.19/macOS 10.3 </span><a name="ippReadFile">ippReadFile</a></h3>
+<p class="description">Read data for an IPP message from a file.</p>
+<p class="code">
+<a href="#ipp_state_t">ipp_state_t</a> ippReadFile (<br>
+ int fd,<br>
+ <a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>fd</dt>
+<dd class="description">HTTP data</dd>
+<dt>ipp</dt>
+<dd class="description">IPP data</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Current state</p>
+<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a name="ippReadIO">ippReadIO</a></h3>
+<p class="description">Read data for an IPP message.</p>
+<p class="code">
+<a href="#ipp_state_t">ipp_state_t</a> ippReadIO (<br>
+ void *src,<br>
+ <a href="#ipp_iocb_t">ipp_iocb_t</a> cb,<br>
+ int blocking,<br>
+ <a href="#ipp_t">ipp_t</a> *parent,<br>
+ <a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>src</dt>
+<dd class="description">Data source</dd>
+<dt>cb</dt>
+<dd class="description">Read callback function</dd>
+<dt>blocking</dt>
+<dd class="description">Use blocking IO?</dd>
+<dt>parent</dt>
+<dd class="description">Parent request, if any</dd>
+<dt>ipp</dt>
+<dd class="description">IPP data</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Current state</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetBoolean">ippSetBoolean</a></h3>
+<p class="description">Set a boolean value in an attribute.</p>
+<p class="code">
+int ippSetBoolean (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ int element,<br>
+ int boolvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>boolvalue</dt>
+<dd class="description">Boolean value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetCollection">ippSetCollection</a></h3>
+<p class="description">Set a collection value in an attribute.</p>
+<p class="code">
+int ippSetCollection (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ int element,<br>
+ <a href="#ipp_t">ipp_t</a> *colvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>colvalue</dt>
+<dd class="description">Collection value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetDate">ippSetDate</a></h3>
+<p class="description">Set a date value in an attribute.</p>
+<p class="code">
+int ippSetDate (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ int element,<br>
+ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *datevalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>datevalue</dt>
+<dd class="description">Date value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetGroupTag">ippSetGroupTag</a></h3>
+<p class="description">Set the group tag of an attribute.</p>
+<p class="code">
+int ippSetGroupTag (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ ipp_tag_t group_tag<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">Attribute</dd>
+<dt>group_tag</dt>
+<dd class="description">Group tag</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetInteger">ippSetInteger</a></h3>
+<p class="description">Set an integer or enum value in an attribute.</p>
+<p class="code">
+int ippSetInteger (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ int element,<br>
+ int intvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>intvalue</dt>
+<dd class="description">Integer/enum value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetName">ippSetName</a></h3>
+<p class="description">Set the name of an attribute.</p>
+<p class="code">
+int ippSetName (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ const char *name<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>name</dt>
+<dd class="description">Attribute name</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.7/macOS 10.9 </span><a name="ippSetOctetString">ippSetOctetString</a></h3>
+<p class="description">Set an octetString value in an IPP attribute.</p>
+<p class="code">
+int ippSetOctetString (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ int element,<br>
+ const void *data,<br>
+ int datalen<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>data</dt>
+<dd class="description">Pointer to octetString data</dd>
+<dt>datalen</dt>
+<dd class="description">Length of octetString data</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetOperation">ippSetOperation</a></h3>
+<p class="description">Set the operation ID in an IPP request message.</p>
+<p class="code">
+int ippSetOperation (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ ipp_op_t op<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP request message</dd>
+<dt>op</dt>
+<dd class="description">Operation ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.
+
+</p>
+<h3 class="function"><a name="ippSetPort">ippSetPort</a></h3>
+<p class="description">Set the default port number.</p>
+<p class="code">
+void ippSetPort (<br>
+ int p<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>p</dt>
+<dd class="description">Port number to use</dd>
+</dl>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetRange">ippSetRange</a></h3>
+<p class="description">Set a rangeOfInteger value in an attribute.</p>
+<p class="code">
+int ippSetRange (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ int element,<br>
+ int lowervalue,<br>
+ int uppervalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>lowervalue</dt>
+<dd class="description">Lower bound for range</dd>
+<dt>uppervalue</dt>
+<dd class="description">Upper bound for range</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetRequestId">ippSetRequestId</a></h3>
+<p class="description">Set the request ID in an IPP message.</p>
+<p class="code">
+int ippSetRequestId (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ int request_id<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>request_id</dt>
+<dd class="description">Request ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>request_id</code> parameter must be greater than 0.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetResolution">ippSetResolution</a></h3>
+<p class="description">Set a resolution value in an attribute.</p>
+<p class="code">
+int ippSetResolution (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+ int element,<br>
+ <a href="#ipp_res_t">ipp_res_t</a> unitsvalue,<br>
+ int xresvalue,<br>
+ int yresvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>unitsvalue</dt>
+<dd class="description">Resolution units</dd>
+<dt>xresvalue</dt>
+<dd class="description">Horizontal/cross feed resolution</dd>
+<dt>yresvalue</dt>
+<dd class="description">Vertical/feed resolution</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using
+the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ippNewRequest</code></a>, or <a href="#ippNewResponse"><code>ippNewResponse</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info"> CUPS 1.6/macOS 10.8 </span><a name="ippSetState">ippSetState</a></h3>
+<p class="description">Set the current state of the IPP message.</p>
+<p class="code">
+int ippSetState (<br>
+ <a href="#ipp_t">ipp_t</a> *ipp,<br>
+ <a href="#ipp_state_t">ipp_state_t</a> state<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>