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>GckAttributes: 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-GckAttribute.html" title="GckAttribute">
<link rel="next" href="GckObjectCache.html" title="GckObjectCache">
<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="#GckAttributes.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GckAttributes.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-GckAttribute.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GckObjectCache.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GckAttributes"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GckAttributes.top_of_page"></a>GckAttributes</span></h2>
<p>GckAttributes — A set of PKCS11 attributes.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GckAttributes.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="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-new-empty" title="gck_attributes_new_empty ()">gck_attributes_new_empty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-at" title="gck_attributes_at ()">gck_attributes_at</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-find" title="gck_attributes_find ()">gck_attributes_find</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-find-boolean" title="gck_attributes_find_boolean ()">gck_attributes_find_boolean</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-find-ulong" title="gck_attributes_find_ulong ()">gck_attributes_find_ulong</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-find-string" title="gck_attributes_find_string ()">gck_attributes_find_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-find-date" title="gck_attributes_find_date ()">gck_attributes_find_date</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gulong</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-count" title="gck_attributes_count ()">gck_attributes_count</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-ref" title="gck_attributes_ref ()">gck_attributes_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-ref-sink" title="gck_attributes_ref_sink ()">gck_attributes_ref_sink</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="GckAttributes.html#gck-attributes-unref" title="gck_attributes_unref ()">gck_attributes_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-contains" title="gck_attributes_contains ()">gck_attributes_contains</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="GckAttributes.html#gck-attributes-to-string" title="gck_attributes_to_string ()">gck_attributes_to_string</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="GckAttributes.html#gck-attributes-dump" title="gck_attributes_dump ()">gck_attributes_dump</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="GckAttributes.html#gck-builder-init" title="gck_builder_init ()">gck_builder_init</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="GckAttributes.html#gck-builder-init-full" title="gck_builder_init_full ()">gck_builder_init_full</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html#GckBuilder"><span class="returnvalue">GckBuilder</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-new" title="gck_builder_new ()">gck_builder_new</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="GckAttributes.html#gck-builder-add-boolean" title="gck_builder_add_boolean ()">gck_builder_add_boolean</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="GckAttributes.html#gck-builder-set-boolean" title="gck_builder_set_boolean ()">gck_builder_set_boolean</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="GckAttributes.html#gck-builder-add-data" title="gck_builder_add_data ()">gck_builder_add_data</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="GckAttributes.html#gck-builder-set-data" title="gck_builder_set_data ()">gck_builder_set_data</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="GckAttributes.html#gck-builder-take-data" title="gck_builder_take_data ()">gck_builder_take_data</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="GckAttributes.html#gck-builder-add-date" title="gck_builder_add_date ()">gck_builder_add_date</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="GckAttributes.html#gck-builder-set-date" title="gck_builder_set_date ()">gck_builder_set_date</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="GckAttributes.html#gck-builder-add-string" title="gck_builder_add_string ()">gck_builder_add_string</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="GckAttributes.html#gck-builder-set-string" title="gck_builder_set_string ()">gck_builder_set_string</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="GckAttributes.html#gck-builder-add-ulong" title="gck_builder_add_ulong ()">gck_builder_add_ulong</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="GckAttributes.html#gck-builder-set-ulong" title="gck_builder_set_ulong ()">gck_builder_set_ulong</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="GckAttributes.html#gck-builder-add-empty" title="gck_builder_add_empty ()">gck_builder_add_empty</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="GckAttributes.html#gck-builder-set-empty" title="gck_builder_set_empty ()">gck_builder_set_empty</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="GckAttributes.html#gck-builder-add-invalid" title="gck_builder_add_invalid ()">gck_builder_add_invalid</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="GckAttributes.html#gck-builder-set-invalid" title="gck_builder_set_invalid ()">gck_builder_set_invalid</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="GckAttributes.html#gck-builder-add-attribute" title="gck_builder_add_attribute ()">gck_builder_add_attribute</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="GckAttributes.html#gck-builder-add-all" title="gck_builder_add_all ()">gck_builder_add_all</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="GckAttributes.html#gck-builder-set-all" title="gck_builder_set_all ()">gck_builder_set_all</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="GckAttributes.html#gck-builder-add-except" title="gck_builder_add_except ()">gck_builder_add_except</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="GckAttributes.html#gck-builder-add-exceptv" title="gck_builder_add_exceptv ()">gck_builder_add_exceptv</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="GckAttributes.html#gck-builder-add-only" title="gck_builder_add_only ()">gck_builder_add_only</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="GckAttributes.html#gck-builder-add-onlyv" title="gck_builder_add_onlyv ()">gck_builder_add_onlyv</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-end" title="gck_builder_end ()">gck_builder_end</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="GckAttributes.html#gck-builder-clear" title="gck_builder_clear ()">gck_builder_clear</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-steal" title="gck_builder_steal ()">gck_builder_steal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html#GckBuilder"><span class="returnvalue">GckBuilder</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-ref" title="gck_builder_ref ()">gck_builder_ref</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="GckAttributes.html#gck-builder-unref" title="gck_builder_unref ()">gck_builder_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html#GckBuilder"><span class="returnvalue">GckBuilder</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-copy" title="gck_builder_copy ()">gck_builder_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-find" title="gck_builder_find ()">gck_builder_find</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-find-boolean" title="gck_builder_find_boolean ()">gck_builder_find_boolean</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-find-date" title="gck_builder_find_date ()">gck_builder_find_date</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-find-string" title="gck_builder_find_string ()">gck_builder_find_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-builder-find-ulong" title="gck_builder_find_ulong ()">gck_builder_find_ulong</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-new" title="gck_attributes_new ()">gck_attributes_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add" title="gck_attributes_add ()">gck_attributes_add</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="GckAttributes.html#gck-attributes-add-all" title="gck_attributes_add_all ()">gck_attributes_add_all</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add-boolean" title="gck_attributes_add_boolean ()">gck_attributes_add_boolean</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add-data" title="gck_attributes_add_data ()">gck_attributes_add_data</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add-date" title="gck_attributes_add_date ()">gck_attributes_add_date</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add-empty" title="gck_attributes_add_empty ()">gck_attributes_add_empty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add-invalid" title="gck_attributes_add_invalid ()">gck_attributes_add_invalid</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add-string" title="gck_attributes_add_string ()">gck_attributes_add_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-add-ulong" title="gck_attributes_add_ulong ()">gck_attributes_add_ulong</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-dup" title="gck_attributes_dup ()">gck_attributes_dup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
</td>
<td class="function_name">
<a class="link" href="GckAttributes.html#gck-attributes-new-full" title="gck_attributes_new_full ()">gck_attributes_new_full</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="GckAttributes.html#gck-attributes-set" title="gck_attributes_set ()">gck_attributes_set</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="GckAttributes.html#gck-attributes-set-all" title="gck_attributes_set_all ()">gck_attributes_set_all</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="GckAttributes.html#gck-attributes-set-boolean" title="gck_attributes_set_boolean ()">gck_attributes_set_boolean</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="GckAttributes.html#gck-attributes-set-date" title="gck_attributes_set_date ()">gck_attributes_set_date</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="GckAttributes.html#gck-attributes-set-string" title="gck_attributes_set_string ()">gck_attributes_set_string</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="GckAttributes.html#gck-attributes-set-ulong" title="gck_attributes_set_ulong ()">gck_attributes_set_ulong</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<a name="GckBuilder"></a><div class="refsect1">
<a name="GckAttributes.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"> </td>
<td class="function_name"><a class="link" href="GckAttributes.html#GckAttributes-struct" title="GckAttributes">GckAttributes</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GckAttributes.html#GckBuilder-struct" title="struct GckBuilder">GckBuilder</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GckAttributes.html#GckBuilderFlags" title="enum GckBuilderFlags">GckBuilderFlags</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GckAttributes.html#GCK-BUILDER-INIT:CAPS" title="GCK_BUILDER_INIT">GCK_BUILDER_INIT</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GckAttributes.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> GckAttributes
    <span class="lineart">╰──</span> GckBuilder
</pre>
</div>
<div class="refsect1">
<a name="GckAttributes.description"></a><h2>Description</h2>
<p>A set of GckAttribute structures. These attributes contain information
about a PKCS11 object. Use <a class="link" href="GckObject.html#gck-object-get" title="gck_object_get ()"><code class="function">gck_object_get()</code></a> or <a class="link" href="GckObject.html#gck-object-set" title="gck_object_set ()"><code class="function">gck_object_set()</code></a> to set and retrieve
attributes on an object.</p>
</div>
<div class="refsect1">
<a name="GckAttributes.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gck-attributes-new-empty"></a><h3>gck_attributes_new_empty ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_attributes_new_empty (<em class="parameter"><code><span class="type">gulong</span> first_type</code></em>,
                          <em class="parameter"><code>...</code></em>);</pre>
<p>Creates an GckAttributes array with empty attributes</p>
<p>Terminate the argument list with <a class="link" href="gck-Miscellaneous-Functions.html#GCK-INVALID:CAPS" title="GCK_INVALID"><code class="literal">GCK_INVALID</code></a>.</p>
<p>The returned set of attributes is floating, and should either be passed to
another gck library function which consumes this floating reference, or if
you wish to keep these attributes around you should ref them with
<a class="link" href="GckAttributes.html#gck-attributes-ref-sink" title="gck_attributes_ref_sink ()"><code class="function">gck_attributes_ref_sink()</code></a> and unref them later with <a class="link" href="GckAttributes.html#gck-attributes-unref" title="gck_attributes_unref ()"><code class="function">gck_attributes_unref()</code></a>.</p>
<div class="refsect3">
<a name="gck-attributes-new-empty.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>first_type</p></td>
<td class="parameter_description"><p>the first empty attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>the other empty attribute types</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-new-empty.returns"></a><h4>Returns</h4>
<p>a floating reference to an empty set of attributes. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-at"></a><h3>gck_attributes_at ()</h3>
<pre class="programlisting">const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_at (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                   <em class="parameter"><code><span class="type">guint</span> index</code></em>);</pre>
<p>Get attribute at the specified index in the attribute array.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-attributes-count" title="gck_attributes_count ()"><code class="function">gck_attributes_count()</code></a> to determine how many attributes are
in the array.</p>
<div class="refsect3">
<a name="gck-attributes-at.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>index</p></td>
<td class="parameter_description"><p>The attribute index to retrieve.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-at.returns"></a><h4>Returns</h4>
<p>the specified attribute. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-find"></a><h3>gck_attributes_find ()</h3>
<pre class="programlisting">const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_find (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                     <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<p>Find an attribute with the specified type in the array.</p>
<div class="refsect3">
<a name="gck-attributes-find.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to find.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-find.returns"></a><h4>Returns</h4>
<p>the first attribute found with the specified type,
or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-find-boolean"></a><h3>gck_attributes_find_boolean ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_attributes_find_boolean (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                             <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                             <em class="parameter"><code><span class="type">gboolean</span> *value</code></em>);</pre>
<p>Find an attribute with the specified type in the array.</p>
<p>The attribute (if found) must be of the right size to store
a boolean value (ie: CK_BBOOL). If the attribute is marked invalid
then it will be treated as not found.</p>
<div class="refsect3">
<a name="gck-attributes-find-boolean.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to find.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>The resulting gboolean value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-find-boolean.returns"></a><h4>Returns</h4>
<p> Whether a value was found or not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-find-ulong"></a><h3>gck_attributes_find_ulong ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_attributes_find_ulong (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                           <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                           <em class="parameter"><code><span class="type">gulong</span> *value</code></em>);</pre>
<p>Find an attribute with the specified type in the array.</p>
<p>The attribute (if found) must be of the right size to store
a unsigned long value (ie: CK_ULONG). If the attribute is marked invalid
then it will be treated as not found.</p>
<div class="refsect3">
<a name="gck-attributes-find-ulong.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to find.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>The resulting gulong value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-find-ulong.returns"></a><h4>Returns</h4>
<p> Whether a value was found or not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-find-string"></a><h3>gck_attributes_find_string ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_attributes_find_string (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                            <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                            <em class="parameter"><code><span class="type">gchar</span> **value</code></em>);</pre>
<p>Find an attribute with the specified type in the array.</p>
<p>If the attribute is marked invalid then it will be treated as not found.
The resulting string will be null-terminated, and must be freed by the caller
using <code class="function">g_free()</code>.</p>
<div class="refsect3">
<a name="gck-attributes-find-string.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to find.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>The resulting string value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-find-string.returns"></a><h4>Returns</h4>
<p> Whether a value was found or not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-find-date"></a><h3>gck_attributes_find_date ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_attributes_find_date (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                          <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                          <em class="parameter"><code><span class="type">GDate</span> *value</code></em>);</pre>
<p>Find an attribute with the specified type in the array.</p>
<p>The attribute (if found) must be of the right size to store
a date value (ie: CK_DATE). If the attribute is marked invalid
then it will be treated as not found.</p>
<div class="refsect3">
<a name="gck-attributes-find-date.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to search.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to find.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>The resulting GDate value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-find-date.returns"></a><h4>Returns</h4>
<p> Whether a value was found or not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-count"></a><h3>gck_attributes_count ()</h3>
<pre class="programlisting"><span class="returnvalue">gulong</span>
gck_attributes_count (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<p>Get the number of attributes in this attribute array.</p>
<div class="refsect3">
<a name="gck-attributes-count.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to count.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-count.returns"></a><h4>Returns</h4>
<p> The number of contained attributes.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-ref"></a><h3>gck_attributes_ref ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_attributes_ref (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<p>Reference this attributes array.</p>
<div class="refsect3">
<a name="gck-attributes-ref.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>attrs</p></td>
<td class="parameter_description"><p>An attribute array</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-ref.returns"></a><h4>Returns</h4>
<p> the attributes</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-ref-sink"></a><h3>gck_attributes_ref_sink ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_attributes_ref_sink (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> uses a floating reference count system. <a class="link" href="GckAttributes.html#gck-builder-end" title="gck_builder_end ()"><code class="function">gck_builder_end()</code></a>
and <a class="link" href="GckAttributes.html#gck-attributes-new-empty" title="gck_attributes_new_empty ()"><code class="function">gck_attributes_new_empty()</code></a> both return floating references.</p>
<p>Calling <a class="link" href="GckAttributes.html#gck-attributes-ref-sink" title="gck_attributes_ref_sink ()"><code class="function">gck_attributes_ref_sink()</code></a> on a <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> with a floating
reference will convert the floating reference into a full reference.
Calling <a class="link" href="GckAttributes.html#gck-attributes-ref-sink" title="gck_attributes_ref_sink ()"><code class="function">gck_attributes_ref_sink()</code></a> on a non-floating <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> results
in an additional normal reference being added.</p>
<p>In other words, if the <em class="parameter"><code>attrs</code></em>
 is floating, then this call "assumes
ownership" of the floating reference, converting it to a normal
reference.  If the <em class="parameter"><code>attrs</code></em>
 is not floating, then this call adds a
new normal reference increasing the reference count by one.</p>
<p>All Gck library functions that assume ownership of floating references
are documented as such. Essentially any Gck function that performs
an operation using a <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> argument rather than operating on the
atributes themselves, will accept a floating reference.</p>
<div class="refsect3">
<a name="gck-attributes-ref-sink.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>attrs</p></td>
<td class="parameter_description"><p>an attribute array</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-ref-sink.returns"></a><h4>Returns</h4>
<p> the referenced attributes</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-unref"></a><h3>gck_attributes_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_unref (<em class="parameter"><code><span class="type">gpointer</span> attrs</code></em>);</pre>
<p>Unreference this attribute array.</p>
<p>When all outstanding references are gone, the array will be freed.</p>
<div class="refsect3">
<a name="gck-attributes-unref.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>attrs</p></td>
<td class="parameter_description"><p>(type Gck.Attributes): An attribute array. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-contains"></a><h3>gck_attributes_contains ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_attributes_contains (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                         <em class="parameter"><code>const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="type">GckAttribute</span></a> *match</code></em>);</pre>
<p>Check whether the attributes contain a certain attribute.</p>
<div class="refsect3">
<a name="gck-attributes-contains.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>attrs</p></td>
<td class="parameter_description"><p>The attributes to check</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match</p></td>
<td class="parameter_description"><p>The attribute to find</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-contains.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the attributes contain the attribute.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-to-string"></a><h3>gck_attributes_to_string ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
gck_attributes_to_string (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<p>Print out attributes to a string in aform that's useful for debugging
or logging.</p>
<p>The format of the string returned may change in the future.</p>
<div class="refsect3">
<a name="gck-attributes-to-string.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>attrs</p></td>
<td class="parameter_description"><p>the attributes</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-to-string.returns"></a><h4>Returns</h4>
<p> a newly allocated string</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-dump"></a><h3>gck_attributes_dump ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_dump (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<p>Dump the attributes using <code class="function">g_printerr()</code>.</p>
<div class="refsect3">
<a name="gck-attributes-dump.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>attrs</p></td>
<td class="parameter_description"><p>The attributes</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-init"></a><h3>gck_builder_init ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_init (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>);</pre>
<p>Initialize a stack allocated builder, with the default flags.</p>
<p>This is equivalent to initializing a builder variable with the
<a class="link" href="GckAttributes.html#GCK-BUILDER-INIT:CAPS" title="GCK_BUILDER_INIT"><code class="literal">GCK_BUILDER_INIT</code></a> constant, or setting it to zeroed memory.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="comment">/* Equivalent ways of initializing a GckBuilder */</span>
<span class="usertype">GckBuilder</span><span class="normal"> builder </span><span class="symbol">=</span><span class="normal"> <a href="GckAttributes.html#GCK-BUILDER-INIT:CAPS">GCK_BUILDER_INIT</a></span><span class="symbol">;</span>
<span class="usertype">GckBuilder</span><span class="normal"> builder2</span><span class="symbol">;</span>
<span class="usertype">GckBuilder</span><span class="normal"> builder3</span><span class="symbol">;</span>

<span class="function"><a href="GckAttributes.html#gck-builder-init">gck_builder_init</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">builder2</span><span class="symbol">);</span>

<span class="function">memset</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">builder3</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="keyword">sizeof</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder3</span><span class="symbol">));</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<div class="refsect3">
<a name="gck-builder-init.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-init-full"></a><h3>gck_builder_init_full ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_init_full (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilderFlags" title="enum GckBuilderFlags"><span class="type">GckBuilderFlags</span></a> flags</code></em>);</pre>
<p>Initialize a stack allocated builder, with the appropriate flags.</p>
<p>If the <a class="link" href="GckAttributes.html#GCK-BUILDER-SECURE-MEMORY:CAPS"><code class="literal">GCK_BUILDER_SECURE_MEMORY</code></a> flag is specified then non-pageable memory
will be used for the various values of the attributes in the builder</p>
<div class="refsect3">
<a name="gck-builder-init-full.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>the flags for the new builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-new"></a><h3>gck_builder_new ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html#GckBuilder"><span class="returnvalue">GckBuilder</span></a> *
gck_builder_new (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilderFlags" title="enum GckBuilderFlags"><span class="type">GckBuilderFlags</span></a> flags</code></em>);</pre>
<p>Create a new <a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> not allocated on the stack, so it can be shared
across a single scope, and referenced / unreferenced.</p>
<p>Normally a <a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> is created on the stack, and simply initialized.</p>
<p>If the <a class="link" href="GckAttributes.html#GCK-BUILDER-SECURE-MEMORY:CAPS"><code class="literal">GCK_BUILDER_SECURE_MEMORY</code></a> flag is specified then non-pageable memory
will be used for the various values of the attributes in the builder</p>
<div class="refsect3">
<a name="gck-builder-new.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>flags</p></td>
<td class="parameter_description"><p>flags for the new builder</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-new.returns"></a><h4>Returns</h4>
<p>a new builder, to be freed with <a class="link" href="GckAttributes.html#gck-builder-unref" title="gck_builder_unref ()"><code class="function">gck_builder_unref()</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-builder-add-boolean"></a><h3>gck_builder_add_boolean ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_boolean (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                         <em class="parameter"><code><span class="type">gboolean</span> value</code></em>);</pre>
<p>Add a new attribute to the builder for the boolean <em class="parameter"><code>value</code></em>
.
Unconditionally adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>

already exists.</p>
<div class="refsect3">
<a name="gck-builder-add-boolean.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-boolean"></a><h3>gck_builder_set_boolean ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_boolean (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                         <em class="parameter"><code><span class="type">gboolean</span> value</code></em>);</pre>
<p>Set an attribute on the builder for the boolean <em class="parameter"><code>value</code></em>
.
If an attribute with <em class="parameter"><code>attr_type</code></em>
 already exists in the builder then it is
changed to the new value, otherwise an attribute is added.</p>
<div class="refsect3">
<a name="gck-builder-set-boolean.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-data"></a><h3>gck_builder_add_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_data (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                      <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                      <em class="parameter"><code>const <span class="type">guchar</span> *value</code></em>,
                      <em class="parameter"><code><span class="type">gsize</span> length</code></em>);</pre>
<p>Add a new attribute to the builder with an arbitrary value. Unconditionally
adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>
 already exists.</p>
<p>The memory in <em class="parameter"><code>value</code></em>
 is copied by the builder.</p>
<p><code class="literal">NULL</code> may be specified for the <em class="parameter"><code>value</code></em>
 argument, in which case an empty
attribute is created. GCK_INVALID may be specified for the length, in
which case an invalid attribute is created in the PKCS#11 style.</p>
<div class="refsect3">
<a name="gck-builder-add-data.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>(allow-none): the new attribute memory. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>the length of the memory</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-data"></a><h3>gck_builder_set_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_data (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                      <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                      <em class="parameter"><code>const <span class="type">guchar</span> *value</code></em>,
                      <em class="parameter"><code><span class="type">gsize</span> length</code></em>);</pre>
<p>Set a new attribute to the builder with an arbitrary value. If an attribute
with <em class="parameter"><code>attr_type</code></em>
 already exists in the builder then it is changed to the new
value, otherwise an attribute is added.</p>
<p>The memory in <em class="parameter"><code>value</code></em>
 is copied by the builder.</p>
<p><code class="literal">NULL</code> may be specified for the <em class="parameter"><code>value</code></em>
 argument, in which case an empty
attribute is created. GCK_INVALID may be specified for the length, in
which case an invalid attribute is created in the PKCS#11 style.</p>
<div class="refsect3">
<a name="gck-builder-set-data.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>(allow-none): the new attribute memory. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>the length of the memory</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-take-data"></a><h3>gck_builder_take_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_take_data (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                       <em class="parameter"><code><span class="type">guchar</span> *value</code></em>,
                       <em class="parameter"><code><span class="type">gsize</span> length</code></em>);</pre>
<p>Add a new attribute to the builder with an arbitrary value. Unconditionally
adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>
 already exists.</p>
<p>Ownership of the <em class="parameter"><code>value</code></em>
 memory is taken by the builder, may be reallocated,
and is eventually freed with <code class="function">g_free()</code>. The memory must have been allocated
using the standard GLib memory allocation routines.</p>
<p><code class="literal">NULL</code> may be specified for the <em class="parameter"><code>value</code></em>
 argument, in which case an empty
attribute is created. GCK_INVALID may be specified for the length, in
which case an invalid attribute is created in the PKCS#11 style.</p>
<div class="refsect3">
<a name="gck-builder-take-data.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>(array length=length): (allow-none): the new
attribute memory. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>the length of the memory</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-date"></a><h3>gck_builder_add_date ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_date (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                      <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                      <em class="parameter"><code>const <span class="type">GDate</span> *value</code></em>);</pre>
<p>Add a new attribute to the builder for the date <em class="parameter"><code>value</code></em>
.
Unconditionally adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>

already exists.</p>
<div class="refsect3">
<a name="gck-builder-add-date.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-date"></a><h3>gck_builder_set_date ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_date (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                      <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                      <em class="parameter"><code>const <span class="type">GDate</span> *value</code></em>);</pre>
<p>Set an attribute on the builder for the date <em class="parameter"><code>value</code></em>
.
If an attribute with <em class="parameter"><code>attr_type</code></em>
 already exists in the builder then it is
changed to the new value, otherwise an attribute is added.</p>
<div class="refsect3">
<a name="gck-builder-set-date.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-string"></a><h3>gck_builder_add_string ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_string (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                        <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                        <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
<p>Add a new attribute to the builder for the string <em class="parameter"><code>value</code></em>
 or <code class="literal">NULL</code>.
Unconditionally adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>

already exists.</p>
<div class="refsect3">
<a name="gck-builder-add-string.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-string"></a><h3>gck_builder_set_string ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_string (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                        <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                        <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
<p>Set an attribute on the builder for the string <em class="parameter"><code>value</code></em>
 or <code class="literal">NULL</code>.
If an attribute with <em class="parameter"><code>attr_type</code></em>
 already exists in the builder then it is
changed to the new value, otherwise an attribute is added.</p>
<div class="refsect3">
<a name="gck-builder-set-string.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-ulong"></a><h3>gck_builder_add_ulong ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_ulong (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> value</code></em>);</pre>
<p>Add a new attribute to the builder for the unsigned long <em class="parameter"><code>value</code></em>
.
Unconditionally adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>

already exists.</p>
<div class="refsect3">
<a name="gck-builder-add-ulong.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-ulong"></a><h3>gck_builder_set_ulong ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_ulong (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> value</code></em>);</pre>
<p>Set an attribute on the builder for the unsigned long <em class="parameter"><code>value</code></em>
.
If an attribute with <em class="parameter"><code>attr_type</code></em>
 already exists in the builder then it is
changed to the new value, otherwise an attribute is added.</p>
<div class="refsect3">
<a name="gck-builder-set-ulong.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the attribute value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-empty"></a><h3>gck_builder_add_empty ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_empty (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<p>Add a new attribute to the builder that is empty. Unconditionally
adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>
 already exists.</p>
<div class="refsect3">
<a name="gck-builder-add-empty.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-empty"></a><h3>gck_builder_set_empty ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_empty (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<p>Set an attribute on the builder that is empty. If an attribute
with <em class="parameter"><code>attr_type</code></em>
 already exists in the builder then it is changed to the new
value, otherwise an attribute is added.</p>
<div class="refsect3">
<a name="gck-builder-set-empty.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-invalid"></a><h3>gck_builder_add_invalid ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_invalid (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<p>Add a new attribute to the builder that is invalid in the PKCS#11 sense.
Unconditionally adds a new attribute, even if one with the same <em class="parameter"><code>attr_type</code></em>

already exists.</p>
<div class="refsect3">
<a name="gck-builder-add-invalid.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the new attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-invalid"></a><h3>gck_builder_set_invalid ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_invalid (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<p>Set an attribute on the builder that is invalid in the PKCS#11 sense.
If an attribute with <em class="parameter"><code>attr_type</code></em>
 already exists in the builder then it is
changed to the new value, otherwise an attribute is added.</p>
<div class="refsect3">
<a name="gck-builder-set-invalid.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the attribute type</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-attribute"></a><h3>gck_builder_add_attribute ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_attribute (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                           <em class="parameter"><code>const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="type">GckAttribute</span></a> *attr</code></em>);</pre>
<p>Add an attribute to the builder. The attribute is added unconditionally whether
or not an attribute with the same type already exists on the builder.</p>
<p>The <em class="parameter"><code>attr</code></em>
 attribute must have been created or owned by the Gck library.
If you call this function on an arbitrary <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="type">GckAttribute</span></a> that is allocated on
the stack or elsewhere, then this will result in undefined behavior.</p>
<p>As an optimization, the attribute memory value is automatically shared
between the attribute and the builder.</p>
<div class="refsect3">
<a name="gck-builder-add-attribute.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr</p></td>
<td class="parameter_description"><p>the attribute to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-all"></a><h3>gck_builder_add_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_all (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                     <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<p>Add all the <em class="parameter"><code>attrs</code></em>
 attributes to the builder. The attributes are added
uncondititionally whether or not attributes with the same types already
exist in the builder.</p>
<p>As an optimization, the attribute memory values are automatically shared
between the attributes and the builder.</p>
<div class="refsect3">
<a name="gck-builder-add-all.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attrs</p></td>
<td class="parameter_description"><p>the attributes to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-set-all"></a><h3>gck_builder_set_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_set_all (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                     <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<p>Set all the <em class="parameter"><code>attrs</code></em>
 attributes to the builder. If any attributes with the
same types are already present in the builder, then those attributes are
changed to the new values.</p>
<p>As an optimization, the attribute memory values are automatically shared
between the attributes and the builder.</p>
<div class="refsect3">
<a name="gck-builder-set-all.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attrs</p></td>
<td class="parameter_description"><p>the attributes to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-except"></a><h3>gck_builder_add_except ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_except (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                        <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                        <em class="parameter"><code><span class="type">gulong</span> except_type</code></em>,
                        <em class="parameter"><code>...</code></em>);</pre>
<p>Add the attributes in <em class="parameter"><code>attrs</code></em>
 to the builder, with the exception of those
in the argument list. The attributes are added uncondititionally whether or
not attributes with the same types already exist in the builder.</p>
<p>The variable arguments must be unsigned longs.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="comment">/* Add all attributes in attrs except CKA_CLASS to the builder */</span>
<span class="function"><a href="GckAttributes.html#gck-builder-add-except">gck_builder_add_except</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">,</span><span class="normal"> attrs</span><span class="symbol">,</span><span class="normal"> CKA_CLASS</span><span class="symbol">,</span><span class="normal"> <a href="gck-Miscellaneous-Functions.html#GCK-INVALID:CAPS">GCK_INVALID</a></span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p>As an optimization, the attribute memory values are automatically shared
between the attributes and the builder.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="gck-builder-add-except.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attrs</p></td>
<td class="parameter_description"><p>the attributes to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>except_type</p></td>
<td class="parameter_description"><p>the first type of attribute to to exclude</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>the remaining attribute types to exclude, ending with <a class="link" href="gck-Miscellaneous-Functions.html#GCK-INVALID:CAPS" title="GCK_INVALID"><code class="literal">GCK_INVALID</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-exceptv"></a><h3>gck_builder_add_exceptv ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_exceptv (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                         <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                         <em class="parameter"><code>const <span class="type">gulong</span> *except_types</code></em>,
                         <em class="parameter"><code><span class="type">guint</span> n_except_types</code></em>);</pre>
<p>Add the attributes in <em class="parameter"><code>attrs</code></em>
 to the builder, with the exception of those
whose types are specified in <em class="parameter"><code>except_types</code></em>
. The attributes are added
uncondititionally whether or not attributes with the same types already
exist in the builder.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="comment">/* Add all attributes in attrs except CKA_CLASS to the builder */</span>
<span class="usertype">gulong</span><span class="normal"> except_types</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> CKA_CLASS </span><span class="cbracket">}</span><span class="symbol">;</span>
<span class="function"><a href="GckAttributes.html#gck-builder-add-exceptv">gck_builder_add_exceptv</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">,</span><span class="normal"> attrs</span><span class="symbol">,</span><span class="normal"> except_types</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p>As an optimization, the attribute memory values are automatically shared
between the attributes and the builder.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="gck-builder-add-exceptv.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attrs</p></td>
<td class="parameter_description"><p>the attributes to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>except_types</p></td>
<td class="parameter_description"><p>the except types. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_except_types]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>n_except_types</p></td>
<td class="parameter_description"><p>the number of except types</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-only"></a><h3>gck_builder_add_only ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_only (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                      <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                      <em class="parameter"><code><span class="type">gulong</span> only_type</code></em>,
                      <em class="parameter"><code>...</code></em>);</pre>
<p>Add the attributes specified in the argument list from <em class="parameter"><code>attrs</code></em>
 to the
builder. The attributes are added uncondititionally whether or not
attributes with the same types already exist in the builder.</p>
<p>The variable arguments must be unsigned longs.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="comment">/* Add the CKA_ID and CKA_CLASS attributes from attrs to builder */</span>
<span class="function"><a href="GckAttributes.html#gck-builder-add-only">gck_builder_add_only</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">,</span><span class="normal"> attrs</span><span class="symbol">,</span><span class="normal"> CKA_ID</span><span class="symbol">,</span><span class="normal"> CKA_CLASS</span><span class="symbol">,</span><span class="normal"> <a href="gck-Miscellaneous-Functions.html#GCK-INVALID:CAPS">GCK_INVALID</a></span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p>As an optimization, the attribute memory values are automatically shared
between the attributes and the builder.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="gck-builder-add-only.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attrs</p></td>
<td class="parameter_description"><p>the attributes to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>only_type</p></td>
<td class="parameter_description"><p>the first type of attribute to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>the remaining attribute types to add, ending with <a class="link" href="gck-Miscellaneous-Functions.html#GCK-INVALID:CAPS" title="GCK_INVALID"><code class="literal">GCK_INVALID</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-add-onlyv"></a><h3>gck_builder_add_onlyv ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_add_onlyv (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                       <em class="parameter"><code>const <span class="type">gulong</span> *only_types</code></em>,
                       <em class="parameter"><code><span class="type">guint</span> n_only_types</code></em>);</pre>
<p>Add the attributes with the types in <em class="parameter"><code>only_types</code></em>
 from <em class="parameter"><code>attrs</code></em>
 to the
builder. The attributes are added uncondititionally whether or not
attributes with the same types already exist in the builder.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="comment">/* Add the CKA_ID and CKA_CLASS attributes from attrs to builder */</span>
<span class="usertype">gulong</span><span class="normal"> only</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> CKA_ID</span><span class="symbol">,</span><span class="normal"> CKA_CLASS </span><span class="cbracket">}</span><span class="symbol">;</span>
<span class="function"><a href="GckAttributes.html#gck-builder-add-onlyv">gck_builder_add_onlyv</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">,</span><span class="normal"> attrs</span><span class="symbol">,</span><span class="normal"> only</span><span class="symbol">,</span><span class="normal"> </span><span class="number">2</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p>As an optimization, the attribute memory values are automatically shared
between the attributes and the builder.</p>
<p><span class="annotation">[<acronym title="Rename the original symbol's name to SYMBOL."><span class="acronym">rename-to</span></acronym> gck_builder_add_only]</span></p>
<div class="refsect3">
<a name="gck-builder-add-onlyv.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attrs</p></td>
<td class="parameter_description"><p>the attributes to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>only_types</p></td>
<td class="parameter_description"><p>the types of attributes to add. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_only_types]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>n_only_types</p></td>
<td class="parameter_description"><p>the number of attributes</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-end"></a><h3>gck_builder_end ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_builder_end (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>);</pre>
<p>Complete the <a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a>, and return the attributes contained in the builder.
The <a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> will be cleared after this function call, and it is no
longer necessary to use <a class="link" href="GckAttributes.html#gck-builder-clear" title="gck_builder_clear ()"><code class="function">gck_builder_clear()</code></a> on it, although it is also
permitted. The builder may be used again to build another set of attributes
after this function call.</p>
<p>The returned set of attributes is floating, and should either be passed to
another gck library function which consumes this floating reference, or if
you wish to keep these attributes around you should ref them with
<a class="link" href="GckAttributes.html#gck-attributes-ref-sink" title="gck_attributes_ref_sink ()"><code class="function">gck_attributes_ref_sink()</code></a> and unref them later with <a class="link" href="GckAttributes.html#gck-attributes-unref" title="gck_attributes_unref ()"><code class="function">gck_attributes_unref()</code></a>.</p>
<div class="refsect3">
<a name="gck-builder-end.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-end.returns"></a><h4>Returns</h4>
<p>a floating reference to the attributes created
in the builder. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-clear"></a><h3>gck_builder_clear ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_clear (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>);</pre>
<p>Clear the builder and release all allocated memory. The builder may be used
again to build another set of attributes after this function call.</p>
<p>If memory is shared between this builder and other attributes, then that
memory is only freed when both of them are cleared or unreferenced.</p>
<div class="refsect3">
<a name="gck-builder-clear.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-steal"></a><h3>gck_builder_steal ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_builder_steal (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>);</pre>
<p>Take the attributes that have been built in the <a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a>. The builder
will no longer contain any attributes after this function call.</p>
<p>The returned set of attributes is a full reference, not floating.</p>
<div class="refsect3">
<a name="gck-builder-steal.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-steal.returns"></a><h4>Returns</h4>
<p>the stolen attributes, which should be freed with
<a class="link" href="GckAttributes.html#gck-attributes-unref" title="gck_attributes_unref ()"><code class="function">gck_attributes_unref()</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-builder-ref"></a><h3>gck_builder_ref ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html#GckBuilder"><span class="returnvalue">GckBuilder</span></a> *
gck_builder_ref (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>);</pre>
<p>Add a reference to a builder that was created with <a class="link" href="GckAttributes.html#gck-builder-new" title="gck_builder_new ()"><code class="function">gck_builder_new()</code></a>. The
builder must later be unreferenced again with <a class="link" href="GckAttributes.html#gck-builder-unref" title="gck_builder_unref ()"><code class="function">gck_builder_unref()</code></a>.</p>
<p>It is an error to use this function on builders that were allocated on the
stack.</p>
<div class="refsect3">
<a name="gck-builder-ref.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-ref.returns"></a><h4>Returns</h4>
<p> the builder</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-unref"></a><h3>gck_builder_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_builder_unref (<em class="parameter"><code><span class="type">gpointer</span> builder</code></em>);</pre>
<p>Unreferences a builder. If this was the last reference then the builder
is freed.</p>
<p>It is an error to use this function on builders that were allocated on the
stack.</p>
<div class="refsect3">
<a name="gck-builder-unref.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-copy"></a><h3>gck_builder_copy ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html#GckBuilder"><span class="returnvalue">GckBuilder</span></a> *
gck_builder_copy (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>);</pre>
<p>Make a copy of the builder and its state. The new builder is allocated
with <a class="link" href="GckAttributes.html#gck-builder-new" title="gck_builder_new ()"><code class="function">gck_builder_new()</code></a> and should be freed with <a class="link" href="GckAttributes.html#gck-builder-unref" title="gck_builder_unref ()"><code class="function">gck_builder_unref()</code></a>.</p>
<p>Attribute value memory is automatically shared between the two builders,
and is only freed when both are gone.</p>
<div class="refsect3">
<a name="gck-builder-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>builder</p></td>
<td class="parameter_description"><p>the builder to copy</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-copy.returns"></a><h4>Returns</h4>
<p>the builder copy, which should be freed with
<a class="link" href="GckAttributes.html#gck-builder-unref" title="gck_builder_unref ()"><code class="function">gck_builder_unref()</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-builder-find"></a><h3>gck_builder_find ()</h3>
<pre class="programlisting">const <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_builder_find (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                  <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<p>Find an attribute in the builder. Both valid and invalid attributes (in
the PKCS#11 sense) are returned. If multiple attributes exist for the given
attribute type, then the first one is returned.</p>
<p>The returned <a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="type">GckAttribute</span></a> is owned by the builder and may not be modified
in any way. It is only valid until another attribute is added to or set on
the builder, or until the builder is cleared or unreferenced.</p>
<div class="refsect3">
<a name="gck-builder-find.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to find</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-find.returns"></a><h4>Returns</h4>
<p> the attribute or <code class="literal">NULL</code> if not found</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-find-boolean"></a><h3>gck_builder_find_boolean ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_builder_find_boolean (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                          <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                          <em class="parameter"><code><span class="type">gboolean</span> *value</code></em>);</pre>
<p>Find a boolean attribute in the builder that has the type <em class="parameter"><code>attr_type</code></em>
, is
of the correct boolean size, and is not invalid in the PKCS#11 sense.
If multiple attributes exist for the given attribute type, then the first\
one is returned.</p>
<div class="refsect3">
<a name="gck-builder-find-boolean.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to find</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the location to place the found value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-find-boolean.returns"></a><h4>Returns</h4>
<p> whether a valid boolean attribute was found</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-find-date"></a><h3>gck_builder_find_date ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_builder_find_date (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                       <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                       <em class="parameter"><code><span class="type">GDate</span> *value</code></em>);</pre>
<p>Find a date attribute in the builder that has the type <em class="parameter"><code>attr_type</code></em>
, is of
the correct date size, and is not invalid in the PKCS#11 sense.
If multiple attributes exist for the given attribute type, then the first
one is returned.</p>
<div class="refsect3">
<a name="gck-builder-find-date.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to find</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the location to place the found value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-find-date.returns"></a><h4>Returns</h4>
<p> whether a valid date attribute was found</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-find-string"></a><h3>gck_builder_find_string ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_builder_find_string (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                         <em class="parameter"><code><span class="type">gchar</span> **value</code></em>);</pre>
<p>Find a string attribute in the builder that has the type <em class="parameter"><code>attr_type</code></em>
, has a
non <code class="literal">NULL</code> value pointer, and is not invalid in the PKCS#11 sense.
If multiple attributes exist for the given attribute type, then the first
one is returned.</p>
<div class="refsect3">
<a name="gck-builder-find-string.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to find</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the location to place the found value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-find-string.returns"></a><h4>Returns</h4>
<p> whether a valid string attribute was found</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-builder-find-ulong"></a><h3>gck_builder_find_ulong ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gck_builder_find_ulong (<em class="parameter"><code><a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> *builder</code></em>,
                        <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                        <em class="parameter"><code><span class="type">gulong</span> *value</code></em>);</pre>
<p>Find a unsigned long attribute in the builder that has the type <em class="parameter"><code>attr_type</code></em>
,
is of the correct unsigned long size, and is not invalid in the PKCS#11 sense.
If multiple attributes exist for the given attribute type, then the first\
one is returned.</p>
<div class="refsect3">
<a name="gck-builder-find-ulong.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>builder</p></td>
<td class="parameter_description"><p>the builder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to find</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the location to place the found value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-builder-find-ulong.returns"></a><h4>Returns</h4>
<p> whether a valid unsigned long attribute was found</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-new"></a><h3>gck_attributes_new ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_attributes_new (<em class="parameter"><code><span class="type">gulong</span> reserved</code></em>);</pre>
<p>Create a new empty GckAttributes array.</p>
<p>The returned set of attributes is floating, and should either be passed to
another gck library function which consumes this floating reference, or if
you wish to keep these attributes around you should ref them with
<a class="link" href="GckAttributes.html#gck-attributes-ref-sink" title="gck_attributes_ref_sink ()"><code class="function">gck_attributes_ref_sink()</code></a> and unref them later with <a class="link" href="GckAttributes.html#gck-attributes-unref" title="gck_attributes_unref ()"><code class="function">gck_attributes_unref()</code></a>.</p>
<div class="refsect3">
<a name="gck-attributes-new.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>reserved</p></td>
<td class="parameter_description"><p>Should be set to always be GCK_INVALID</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-new.returns"></a><h4>Returns</h4>
<p>a floating reference to the new attributes array;
when done with the array release it with <a class="link" href="GckAttributes.html#gck-attributes-unref" title="gck_attributes_unref ()"><code class="function">gck_attributes_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add"></a><h3>gck_attributes_add ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                    <em class="parameter"><code><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="type">GckAttribute</span></a> *attr</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-all" title="gck_builder_set_all ()"><code class="function">gck_builder_set_all()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add.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>attrs</p></td>
<td class="parameter_description"><p>the attributes array to add to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr</p></td>
<td class="parameter_description"><p>the attribute to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-all"></a><h3>gck_attributes_add_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_add_all (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                        <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *from</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_all</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-all" title="gck_builder_add_all ()"><code class="function">gck_builder_add_all()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-all.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>attrs</p></td>
<td class="parameter_description"><p>a set of attributes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>from</p></td>
<td class="parameter_description"><p>attributes to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-boolean"></a><h3>gck_attributes_add_boolean ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add_boolean (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                            <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                            <em class="parameter"><code><span class="type">gboolean</span> value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_boolean</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-boolean" title="gck_builder_add_boolean ()"><code class="function">gck_builder_add_boolean()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-boolean.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>attrs</p></td>
<td class="parameter_description"><p>the attributes array to add to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the boolean value to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add-boolean.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-data"></a><h3>gck_attributes_add_data ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add_data (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                         <em class="parameter"><code>const <span class="type">guchar</span> *value</code></em>,
                         <em class="parameter"><code><span class="type">gsize</span> length</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_data</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-data" title="gck_builder_add_data ()"><code class="function">gck_builder_add_data()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-data.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to add to.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to add.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the raw memory of the attribute value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>The length of the attribute value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add-data.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-date"></a><h3>gck_attributes_add_date ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add_date (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                         <em class="parameter"><code>const <span class="type">GDate</span> *value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_date</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-date" title="gck_builder_add_date ()"><code class="function">gck_builder_add_date()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-date.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>attrs</p></td>
<td class="parameter_description"><p>the attributes array to add to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the GDate value to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add-date.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-empty"></a><h3>gck_attributes_add_empty ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add_empty (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                          <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_empty</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-empty" title="gck_builder_add_empty ()"><code class="function">gck_builder_add_empty()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-empty.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to add.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to add.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add-empty.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-invalid"></a><h3>gck_attributes_add_invalid ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add_invalid (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                            <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_invalid</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-invalid" title="gck_builder_add_invalid ()"><code class="function">gck_builder_add_invalid()</code></a> instead</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-invalid.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>attrs</p></td>
<td class="parameter_description"><p>The attributes array to add to.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>The type of attribute to add.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add-invalid.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-string"></a><h3>gck_attributes_add_string ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add_string (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                           <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                           <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_string</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-string" title="gck_builder_add_string ()"><code class="function">gck_builder_add_string()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-string.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>attrs</p></td>
<td class="parameter_description"><p>the attributes array to add to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the null terminated string value to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add-string.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-add-ulong"></a><h3>gck_attributes_add_ulong ()</h3>
<pre class="programlisting"><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="returnvalue">GckAttribute</span></a> *
gck_attributes_add_ulong (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                          <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                          <em class="parameter"><code><span class="type">gulong</span> value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_add_ulong</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-add-ulong" title="gck_builder_add_ulong ()"><code class="function">gck_builder_add_ulong()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-add-ulong.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>attrs</p></td>
<td class="parameter_description"><p>the attributes array to add to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the gulong value to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-add-ulong.returns"></a><h4>Returns</h4>
<p>returns <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-dup"></a><h3>gck_attributes_dup ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_attributes_dup (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_dup</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-attributes-ref" title="gck_attributes_ref ()"><code class="function">gck_attributes_ref()</code></a> or <a class="link" href="GckAttributes.html#gck-builder-add-all" title="gck_builder_add_all ()"><code class="function">gck_builder_add_all()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable, and can be used in mulitple places.</p>
<div class="refsect3">
<a name="gck-attributes-dup.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>attrs</p></td>
<td class="parameter_description"><p>set of attributes to copy</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-dup.returns"></a><h4>Returns</h4>
<p>a new floating <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-new-full"></a><h3>gck_attributes_new_full ()</h3>
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> *
gck_attributes_new_full (<em class="parameter"><code><span class="type">GckAllocator</span> allocator</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_new_full</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-all" title="gck_builder_set_all ()"><code class="function">gck_builder_set_all()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="gck-attributes-new-full.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>allocator</p></td>
<td class="parameter_description"><p>memory allocator for attribute data, or <code class="literal">NULL</code> for default</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gck-attributes-new-full.returns"></a><h4>Returns</h4>
<p> returns <code class="literal">NULL</code></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-set"></a><h3>gck_attributes_set ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_set (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                    <em class="parameter"><code><a class="link" href="gck-GckAttribute.html#GckAttribute" title="struct GckAttribute"><span class="type">GckAttribute</span></a> *attr</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_set</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-data" title="gck_builder_set_data ()"><code class="function">gck_builder_set_data()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-set.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>attrs</p></td>
<td class="parameter_description"><p>attributes array to add to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr</p></td>
<td class="parameter_description"><p>attribute to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-set-all"></a><h3>gck_attributes_set_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_set_all (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                        <em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *from</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_set_all</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-all" title="gck_builder_set_all ()"><code class="function">gck_builder_set_all()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-set-all.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>attrs</p></td>
<td class="parameter_description"><p>set of attributes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>from</p></td>
<td class="parameter_description"><p>attributes to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-set-boolean"></a><h3>gck_attributes_set_boolean ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_set_boolean (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                            <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                            <em class="parameter"><code><span class="type">gboolean</span> value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_set_boolean</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-boolean" title="gck_builder_set_boolean ()"><code class="function">gck_builder_set_boolean()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-set-boolean.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>attrs</p></td>
<td class="parameter_description"><p>the attributes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>boolean value to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-set-date"></a><h3>gck_attributes_set_date ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_set_date (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                         <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                         <em class="parameter"><code>const <span class="type">GDate</span> *value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_set_date</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-date" title="gck_builder_set_date ()"><code class="function">gck_builder_set_date()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-set-date.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>attrs</p></td>
<td class="parameter_description"><p>the attributes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>date value to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-set-string"></a><h3>gck_attributes_set_string ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_set_string (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                           <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                           <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_set_string</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-string" title="gck_builder_set_string ()"><code class="function">gck_builder_set_string()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-set-string.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>attrs</p></td>
<td class="parameter_description"><p>the attributes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>null terminated string value to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gck-attributes-set-ulong"></a><h3>gck_attributes_set_ulong ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gck_attributes_set_ulong (<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>,
                          <em class="parameter"><code><span class="type">gulong</span> attr_type</code></em>,
                          <em class="parameter"><code><span class="type">gulong</span> value</code></em>);</pre>
<div class="warning">
<p><code class="literal">gck_attributes_set_ulong</code> has been deprecated since version 3.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GckAttributes.html#gck-builder-set-ulong" title="gck_builder_set_ulong ()"><code class="function">gck_builder_set_ulong()</code></a> instead.</p>
</div>
<p><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> are now immutable. This method no longer does anything.</p>
<div class="refsect3">
<a name="gck-attributes-set-ulong.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>attrs</p></td>
<td class="parameter_description"><p>the attributes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>attr_type</p></td>
<td class="parameter_description"><p>the type of attribute to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>gulong value to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GckAttributes.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GckAttributes-struct"></a><h3>GckAttributes</h3>
<pre class="programlisting">typedef struct _GckAttributes GckAttributes;</pre>
<p>A set of GckAttribute structures.</p>
</div>
<hr>
<div class="refsect2">
<a name="GckBuilder-struct"></a><h3>struct GckBuilder</h3>
<pre class="programlisting">struct GckBuilder {
};
</pre>
<p>A builder for a set of attributes. Add attributes to a builder, and then use
<a class="link" href="GckAttributes.html#gck-builder-end" title="gck_builder_end ()"><code class="function">gck_builder_end()</code></a> to get the completed <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a>.</p>
<p>The fields of <a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> are private and not to be accessed directly.</p>
</div>
<hr>
<div class="refsect2">
<a name="GckBuilderFlags"></a><h3>enum GckBuilderFlags</h3>
<p>Flags to be used with a <a class="link" href="GckAttributes.html#gck-builder-init-full" title="gck_builder_init_full ()"><code class="function">gck_builder_init_full()</code></a> and <a class="link" href="GckAttributes.html#gck-builder-new" title="gck_builder_new ()"><code class="function">gck_builder_new()</code></a>.</p>
<div class="refsect3">
<a name="GckBuilderFlags.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-BUILDER-NONE:CAPS"></a>GCK_BUILDER_NONE</p></td>
<td class="enum_member_description">
<p>no special flags</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GCK-BUILDER-SECURE-MEMORY:CAPS"></a>GCK_BUILDER_SECURE_MEMORY</p></td>
<td class="enum_member_description">
<p>use non-pageable memory for the values of the attributes</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GCK-BUILDER-INIT:CAPS"></a><h3>GCK_BUILDER_INIT</h3>
<pre class="programlisting">#define              GCK_BUILDER_INIT                       { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }
</pre>
<p>Values that can be assigned to a <a class="link" href="GckAttributes.html#GckBuilder"><span class="type">GckBuilder</span></a> allocated on the stack.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GckBuilder</span><span class="normal"> builder </span><span class="symbol">=</span><span class="normal"> <a href="GckAttributes.html#GCK-BUILDER-INIT:CAPS">GCK_BUILDER_INIT</a></span><span class="symbol">;</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27.1</div>
</body>
</html>