Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PKCS11 URIs: Gck Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Gck Library Reference Manual">
<link rel="up" href="reference.html" title="PKCS#11 GObject Bindings">
<link rel="prev" href="gck-Errors.html" title="Errors">
<link rel="next" href="gck-Library-Utilities.html" title="Library Utilities">
<meta name="generator" content="GTK-Doc V1.27.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#gck-PKCS11-URIs.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#gck-PKCS11-URIs.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gck-Errors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gck-Library-Utilities.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gck-PKCS11-URIs"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gck-PKCS11-URIs.top_of_page"></a>PKCS11 URIs</span></h2>
<p>PKCS11 URIs — Parsing and building PKCS#11 URIs.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gck-PKCS11-URIs.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="returnvalue">GckUriData</span></a> *
</td>
<td class="function_name">
<a class="link" href="gck-PKCS11-URIs.html#gck-uri-data-new" title="gck_uri_data_new ()">gck_uri_data_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="returnvalue">GckUriData</span></a> *
</td>
<td class="function_name">
<a class="link" href="gck-PKCS11-URIs.html#gck-uri-parse" title="gck_uri_parse ()">gck_uri_parse</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="gck-PKCS11-URIs.html#gck-uri-build" title="gck_uri_build ()">gck_uri_build</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="returnvalue">GckUriData</span></a> *
</td>
<td class="function_name">
<a class="link" href="gck-PKCS11-URIs.html#gck-uri-data-copy" title="gck_uri_data_copy ()">gck_uri_data_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gck-PKCS11-URIs.html#gck-uri-data-free" title="gck_uri_data_free ()">gck_uri_data_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<a name="GckUriData"></a><div class="refsect1">
<a name="gck-PKCS11-URIs.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gck-PKCS11-URIs.html#GckUriData-struct" title="struct GckUriData">GckUriData</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="gck-PKCS11-URIs.html#GckUriError" title="enum GckUriError">GckUriError</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="gck-PKCS11-URIs.html#GckUriFlags" title="enum GckUriFlags">GckUriFlags</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gck-PKCS11-URIs.html#GCK-URI-FOR-MODULE-WITH-VERSION:CAPS" title="GCK_URI_FOR_MODULE_WITH_VERSION">GCK_URI_FOR_MODULE_WITH_VERSION</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gck-PKCS11-URIs.html#GCK-URI-FOR-OBJECT-ON-TOKEN:CAPS" title="GCK_URI_FOR_OBJECT_ON_TOKEN">GCK_URI_FOR_OBJECT_ON_TOKEN</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gck-PKCS11-URIs.html#GCK-URI-FOR-OBJECT-ON-TOKEN-AND-MODULE:CAPS" title="GCK_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE">GCK_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gck-PKCS11-URIs.html#GCK-URI-ERROR:CAPS" title="GCK_URI_ERROR">GCK_URI_ERROR</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gck-PKCS11-URIs.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/home/dueno/jhbuild/install/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
    <span class="lineart">╰──</span> GckUriData
</pre>
</div>
<div class="refsect1">
<a name="gck-PKCS11-URIs.description"></a><h2>Description</h2>
<a class="ulink" href="" target="_top">PKCS\#11 URIs</a><p>are a standard for referring to PKCS#11 modules, tokens, or objects. What the
PKCS#11 URI refers to depends on the context in which it is used.</p>
<p>A PKCS#11 URI can always resolve to more than one object, token or module. A
PKCS#11 URI that refers to a token, would (when used in a context that expects
objects) refer to all the token on that module.</p>
<p>In most cases the parsing or building of URIs is handled elsewhere in the GCK
library. For example to enumerate objects that match a PKCS#11 URI use the
<a class="link" href="gck-GckModule-lists.html#gck-modules-enumerate-uri" title="gck_modules_enumerate_uri ()"><code class="function">gck_modules_enumerate_uri()</code></a> function.</p>
<p>To parse a PKCS#11 URI use the <a class="link" href="gck-PKCS11-URIs.html#gck-uri-parse" title="gck_uri_parse ()"><code class="function">gck_uri_parse()</code></a> function passing in the type of
context in which you're using the URI. To build a URI use the <a class="link" href="gck-PKCS11-URIs.html#gck-uri-build" title="gck_uri_build ()"><code class="function">gck_uri_build()</code></a>
function.</p>
</div>
<div class="refsect1">
<a name="gck-PKCS11-URIs.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gck-uri-data-new"></a><h3>gck_uri_data_new ()</h3>
<pre class="programlisting"><a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="returnvalue">GckUriData</span></a> *
gck_uri_data_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Allocate a new GckUriData structure. None of the fields
will be set.</p>
<div class="refsect3">
<a name="gck-uri-data-new.returns"></a><h4>Returns</h4>
<p>a newly allocated GckUriData, free with
<a class="link" href="gck-PKCS11-URIs.html#gck-uri-data-free" title="gck_uri_data_free ()"><code class="function">gck_uri_data_free()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-uri-parse"></a><h3>gck_uri_parse ()</h3>
<pre class="programlisting"><a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="returnvalue">GckUriData</span></a> *
gck_uri_parse (<em class="parameter"><code>const <span class="type">gchar</span> *string</code></em>,
               <em class="parameter"><code><a class="link" href="gck-PKCS11-URIs.html#GckUriFlags" title="enum GckUriFlags"><span class="type">GckUriFlags</span></a> flags</code></em>,
               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Parse a PKCS#11 URI for use in a given context.</p>
<p>The result will contain the fields that are relevant for
the given context. See <a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="type">GckUriData</span></a>  for more info.
Other fields will be set to <code class="literal">NULL</code>.</p>
<div class="refsect3">
<a name="gck-uri-parse.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>string</p></td>
<td class="parameter_description"><p>the URI to parse.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>the context in which the URI will be used.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span>, or <code class="literal">NULL</code>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-uri-parse.returns"></a><h4>Returns</h4>
<p>a newly allocated <a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="type">GckUriData</span></a>; which should be
freed with <a class="link" href="gck-PKCS11-URIs.html#gck-uri-data-free" title="gck_uri_data_free ()"><code class="function">gck_uri_data_free()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-uri-build"></a><h3>gck_uri_build ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
gck_uri_build (<em class="parameter"><code><a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="type">GckUriData</span></a> *uri_data</code></em>,
               <em class="parameter"><code><a class="link" href="gck-PKCS11-URIs.html#GckUriFlags" title="enum GckUriFlags"><span class="type">GckUriFlags</span></a> flags</code></em>);</pre>
<p>Build a PKCS#11 URI. The various parts relevant to the flags
specified will be used to build the URI.</p>
<div class="refsect3">
<a name="gck-uri-build.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>uri_data</p></td>
<td class="parameter_description"><p>the info to build the URI from.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>The context that the URI is for</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-uri-build.returns"></a><h4>Returns</h4>
<p> a newly allocated string containing a PKCS#11 URI.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-uri-data-copy"></a><h3>gck_uri_data_copy ()</h3>
<pre class="programlisting"><a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="returnvalue">GckUriData</span></a> *
gck_uri_data_copy (<em class="parameter"><code><a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="type">GckUriData</span></a> *uri_data</code></em>);</pre>
<p>Copy a <a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="type">GckUriData</span></a></p>
<div class="refsect3">
<a name="gck-uri-data-copy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>uri_data</p></td>
<td class="parameter_description"><p>URI data to copy</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-uri-data-copy.returns"></a><h4>Returns</h4>
<p>newly allocated copy of the uri data. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-uri-data-free"></a><h3>gck_uri_data_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_uri_data_free (<em class="parameter"><code><a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="type">GckUriData</span></a> *uri_data</code></em>);</pre>
<p>Free a <a class="link" href="gck-PKCS11-URIs.html#GckUriData"><span class="type">GckUriData</span></a>.</p>
<div class="refsect3">
<a name="gck-uri-data-free.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>uri_data</p></td>
<td class="parameter_description"><p>URI data to free.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gck-PKCS11-URIs.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GckUriData-struct"></a><h3>struct GckUriData</h3>
<pre class="programlisting">struct GckUriData {
	gboolean any_unrecognized;
	GckModuleInfo *module_info;
	GckTokenInfo *token_info;
	GckAttributes *attributes;
};
</pre>
<p>Information about the contents of a PKCS#11 URI. Various fields may be <code class="literal">NULL</code>
depending on the context that the URI was parsed for.</p>
<p>Since PKCS#11 URIs represent a set which results from the intersections of
all of the URI parts, if <em class="parameter"><code>any_recognized</code></em>
 is set to <code class="literal">TRUE</code> then usually the URI
should be treated as not matching anything.</p>
<div class="refsect3">
<a name="GckUriData.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><span class="type">gboolean</span> <em class="structfield"><code><a name="GckUriData-struct.any-unrecognized"></a>any_unrecognized</code></em>;</p></td>
<td class="struct_member_description"><p>whether any parts of the PKCS#11 URI were unsupported or unrecognized.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="GckModule.html#GckModuleInfo"><span class="type">GckModuleInfo</span></a> *<em class="structfield"><code><a name="GckUriData-struct.module-info"></a>module_info</code></em>;</p></td>
<td class="struct_member_description"><p>information about the PKCS#11 modules matching the URI.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="GckSlot.html#GckTokenInfo"><span class="type">GckTokenInfo</span></a> *<em class="structfield"><code><a name="GckUriData-struct.token-info"></a>token_info</code></em>;</p></td>
<td class="struct_member_description"><p>information about the PKCS#11 tokens matching the URI.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *<em class="structfield"><code><a name="GckUriData-struct.attributes"></a>attributes</code></em>;</p></td>
<td class="struct_member_description"><p>information about the PKCS#11 objects matching the URI.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GckUriError"></a><h3>enum GckUriError</h3>
<p>Various error codes used with PKCS#11 URIs</p>
<div class="refsect3">
<a name="GckUriError.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-BAD-SCHEME:CAPS"></a>GCK_URI_BAD_SCHEME</p></td>
<td class="enum_member_description">
<p>invalid URI scheme</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-BAD-ENCODING:CAPS"></a>GCK_URI_BAD_ENCODING</p></td>
<td class="enum_member_description">
<p>bad URI encoding</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-BAD-SYNTAX:CAPS"></a>GCK_URI_BAD_SYNTAX</p></td>
<td class="enum_member_description">
<p>bad URI syntax</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-BAD-VERSION:CAPS"></a>GCK_URI_BAD_VERSION</p></td>
<td class="enum_member_description">
<p>bad URI version component</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-NOT-FOUND:CAPS"></a>GCK_URI_NOT_FOUND</p></td>
<td class="enum_member_description">
<p>piece of the URI was not found</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GckUriFlags"></a><h3>enum GckUriFlags</h3>
<p>Which parts of the PKCS#11 URI will be parsed or formatted. These can be
combined.</p>
<div class="refsect3">
<a name="GckUriFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-FOR-OBJECT:CAPS"></a>GCK_URI_FOR_OBJECT</p></td>
<td class="enum_member_description">
<p>the URI will be used to match objects.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-FOR-TOKEN:CAPS"></a>GCK_URI_FOR_TOKEN</p></td>
<td class="enum_member_description">
<p>the URI will be used to match tokens.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-FOR-MODULE:CAPS"></a>GCK_URI_FOR_MODULE</p></td>
<td class="enum_member_description">
<p>the URI will be used to match modules.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-WITH-VERSION:CAPS"></a>GCK_URI_WITH_VERSION</p></td>
<td class="enum_member_description">
<p>the URI has specific version numbers for module and/or token</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-URI-FOR-ANY:CAPS"></a>GCK_URI_FOR_ANY</p></td>
<td class="enum_member_description">
<p>parse all recognized components of the URI.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GCK-URI-FOR-MODULE-WITH-VERSION:CAPS"></a><h3>GCK_URI_FOR_MODULE_WITH_VERSION</h3>
<pre class="programlisting">#define             GCK_URI_FOR_MODULE_WITH_VERSION         (GCK_URI_WITH_VERSION | GCK_URI_FOR_MODULE)
</pre>
<p>The URI will match specific version of modules. To be used as a GckUriFlags argument.</p>
</div>
<hr>
<div class="refsect2">
<a name="GCK-URI-FOR-OBJECT-ON-TOKEN:CAPS"></a><h3>GCK_URI_FOR_OBJECT_ON_TOKEN</h3>
<pre class="programlisting">#define             GCK_URI_FOR_OBJECT_ON_TOKEN             (GCK_URI_FOR_OBJECT | GCK_URI_FOR_TOKEN)
</pre>
<p>The URI will match objects on a specific token. To be used as a GckUriFlags argument.</p>
</div>
<hr>
<div class="refsect2">
<a name="GCK-URI-FOR-OBJECT-ON-TOKEN-AND-MODULE:CAPS"></a><h3>GCK_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE</h3>
<pre class="programlisting">#define             GCK_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE  (GCK_URI_FOR_OBJECT_ON_TOKEN | GCK_URI_FOR_MODULE)
</pre>
<p>The token inserted into a device with a specific module.</p>
</div>
<hr>
<div class="refsect2">
<a name="GCK-URI-ERROR:CAPS"></a><h3>GCK_URI_ERROR</h3>
<pre class="programlisting">#define             GCK_URI_ERROR                           (gck_uri_error_get_quark ())
</pre>
<p>Error domain for URI errors.</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27.1</div>
</body>
</html>