<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <title>pkcs11-helper: Data object interface</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.0 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> </div> <div class="contents"> <h1>Data object interface</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structpkcs11h__data__id__list__s.html">pkcs11h_data_id_list_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Data identifier list. <a href="structpkcs11h__data__id__list__s.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2>Files</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="pkcs11h-data_8h.html">pkcs11h-data.h</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>pkcs11-helper data object support. </p> <br/></td></tr> </p> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3b8d9f35014c9157175120359af266ec"></a><!-- doxytag: member="pkcs11h_data::pkcs11h_data_id_list_t" ref="ga3b8d9f35014c9157175120359af266ec" args="" --> typedef struct <br class="typebreak"/> <a class="el" href="structpkcs11h__data__id__list__s.html">pkcs11h_data_id_list_s</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pkcs11h__data.html#ga3b8d9f35014c9157175120359af266ec">pkcs11h_data_id_list_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Data identifier list. <br/></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">CK_RV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pkcs11h__data.html#gad1756abd101284958c81bbce568be174">pkcs11h_data_get</a> (IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> token_id, IN const PKCS11H_BOOL is_public, IN const char *const application, IN const char *const label, IN void *const user_data, IN const unsigned mask_prompt, OUT unsigned char *const blob, IN OUT size_t *const p_blob_size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get data object. <a href="#gad1756abd101284958c81bbce568be174"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">CK_RV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pkcs11h__data.html#gac3c6095a527f868ff8db2ea82e3749e5">pkcs11h_data_put</a> (IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> token_id, IN const PKCS11H_BOOL is_public, IN const char *const application, IN const char *const label, IN void *const user_data, IN const unsigned mask_prompt, OUT unsigned char *const blob, IN const size_t blob_size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Put data object. <a href="#gac3c6095a527f868ff8db2ea82e3749e5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">CK_RV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pkcs11h__data.html#ga879e5e57a5b989c2f7c7bee855bc338f">pkcs11h_data_del</a> (IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> token_id, IN const PKCS11H_BOOL is_public, IN const char *const application, IN const char *const label, IN void *const user_data, IN const unsigned mask_prompt)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete data object. <a href="#ga879e5e57a5b989c2f7c7bee855bc338f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">CK_RV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pkcs11h__data.html#ga47e7c0a37e1fdb5a3c1ea3b126f34c70">pkcs11h_data_freeDataIdList</a> (IN const <a class="el" href="structpkcs11h__data__id__list__s.html">pkcs11h_data_id_list_t</a> data_id_list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Free data object list. <a href="#ga47e7c0a37e1fdb5a3c1ea3b126f34c70"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">CK_RV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pkcs11h__data.html#ga6246a927a47d724b020c26e211e827f3">pkcs11h_data_enumDataObjects</a> (IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> token_id, IN const PKCS11H_BOOL is_public, IN void *const user_data, IN const unsigned mask_prompt, OUT <a class="el" href="structpkcs11h__data__id__list__s.html">pkcs11h_data_id_list_t</a> *const p_data_id_list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get list of data objects. <a href="#ga6246a927a47d724b020c26e211e827f3"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Data object manipulation. </p> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga879e5e57a5b989c2f7c7bee855bc338f"></a><!-- doxytag: member="pkcs11h-data.h::pkcs11h_data_del" ref="ga879e5e57a5b989c2f7c7bee855bc338f" args="(IN const pkcs11h_token_id_t token_id, IN const PKCS11H_BOOL is_public, IN const char *const application, IN const char *const label, IN void *const user_data, IN const unsigned mask_prompt)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CK_RV pkcs11h_data_del </td> <td>(</td> <td class="paramtype">IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> </td> <td class="paramname"> <em>token_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const PKCS11H_BOOL </td> <td class="paramname"> <em>is_public</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const char *const </td> <td class="paramname"> <em>application</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const char *const </td> <td class="paramname"> <em>label</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN void *const </td> <td class="paramname"> <em>user_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const unsigned </td> <td class="paramname"> <em>mask_prompt</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Delete data object. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>token_id</em> </td><td>Token id object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>is_public</em> </td><td>Object is public. </td></tr> <tr><td valign="top"></td><td valign="top"><em>application</em> </td><td>Object application attribute. </td></tr> <tr><td valign="top"></td><td valign="top"><em>label</em> </td><td>Object label attribute. </td></tr> <tr><td valign="top"></td><td valign="top"><em>user_data</em> </td><td>Optional user data, to be passed to hooks. </td></tr> <tr><td valign="top"></td><td valign="top"><em>mask_prompt</em> </td><td>Allow prompt <a class="el" href="group__PKCS11H__PROMPT__MASK.html">PKCS11H_PROMPT_MASK</a>. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>CK_RV. </dd></dl> </div> </div> <a class="anchor" id="ga6246a927a47d724b020c26e211e827f3"></a><!-- doxytag: member="pkcs11h-data.h::pkcs11h_data_enumDataObjects" ref="ga6246a927a47d724b020c26e211e827f3" args="(IN const pkcs11h_token_id_t token_id, IN const PKCS11H_BOOL is_public, IN void *const user_data, IN const unsigned mask_prompt, OUT pkcs11h_data_id_list_t *const p_data_id_list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CK_RV pkcs11h_data_enumDataObjects </td> <td>(</td> <td class="paramtype">IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> </td> <td class="paramname"> <em>token_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const PKCS11H_BOOL </td> <td class="paramname"> <em>is_public</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN void *const </td> <td class="paramname"> <em>user_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const unsigned </td> <td class="paramname"> <em>mask_prompt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">OUT <a class="el" href="structpkcs11h__data__id__list__s.html">pkcs11h_data_id_list_t</a> *const </td> <td class="paramname"> <em>p_data_id_list</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Get list of data objects. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>token_id</em> </td><td>Token id object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>is_public</em> </td><td>Get a list of public objects. </td></tr> <tr><td valign="top"></td><td valign="top"><em>user_data</em> </td><td>Optional user data, to be passed to hooks. </td></tr> <tr><td valign="top"></td><td valign="top"><em>mask_prompt</em> </td><td>Allow prompt <a class="el" href="group__PKCS11H__PROMPT__MASK.html">PKCS11H_PROMPT_MASK</a>. </td></tr> <tr><td valign="top"></td><td valign="top"><em>p_data_id_list</em> </td><td>List location. </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__pkcs11h__data.html#ga47e7c0a37e1fdb5a3c1ea3b126f34c70" title="Free data object list.">pkcs11h_data_freeDataIdList()</a>. </dd></dl> <dl class="return"><dt><b>Returns:</b></dt><dd>CK_RV. </dd></dl> </div> </div> <a class="anchor" id="ga47e7c0a37e1fdb5a3c1ea3b126f34c70"></a><!-- doxytag: member="pkcs11h-data.h::pkcs11h_data_freeDataIdList" ref="ga47e7c0a37e1fdb5a3c1ea3b126f34c70" args="(IN const pkcs11h_data_id_list_t data_id_list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CK_RV pkcs11h_data_freeDataIdList </td> <td>(</td> <td class="paramtype">IN const <a class="el" href="structpkcs11h__data__id__list__s.html">pkcs11h_data_id_list_t</a> </td> <td class="paramname"> <em>data_id_list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Free data object list. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>data_id_list</em> </td><td>List to free. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>CK_RV. </dd></dl> </div> </div> <a class="anchor" id="gad1756abd101284958c81bbce568be174"></a><!-- doxytag: member="pkcs11h-data.h::pkcs11h_data_get" ref="gad1756abd101284958c81bbce568be174" args="(IN const pkcs11h_token_id_t token_id, IN const PKCS11H_BOOL is_public, IN const char *const application, IN const char *const label, IN void *const user_data, IN const unsigned mask_prompt, OUT unsigned char *const blob, IN OUT size_t *const p_blob_size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CK_RV pkcs11h_data_get </td> <td>(</td> <td class="paramtype">IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> </td> <td class="paramname"> <em>token_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const PKCS11H_BOOL </td> <td class="paramname"> <em>is_public</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const char *const </td> <td class="paramname"> <em>application</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const char *const </td> <td class="paramname"> <em>label</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN void *const </td> <td class="paramname"> <em>user_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const unsigned </td> <td class="paramname"> <em>mask_prompt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">OUT unsigned char *const </td> <td class="paramname"> <em>blob</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN OUT size_t *const </td> <td class="paramname"> <em>p_blob_size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Get data object. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>token_id</em> </td><td>Token id object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>is_public</em> </td><td>Object is public. </td></tr> <tr><td valign="top"></td><td valign="top"><em>application</em> </td><td>Object application attribute. </td></tr> <tr><td valign="top"></td><td valign="top"><em>label</em> </td><td>Object label attribute. </td></tr> <tr><td valign="top"></td><td valign="top"><em>user_data</em> </td><td>Optional user data, to be passed to hooks. </td></tr> <tr><td valign="top"></td><td valign="top"><em>mask_prompt</em> </td><td>Allow prompt <a class="el" href="group__PKCS11H__PROMPT__MASK.html">PKCS11H_PROMPT_MASK</a>. </td></tr> <tr><td valign="top"></td><td valign="top"><em>blob</em> </td><td>Blob, set to NULL to get size. </td></tr> <tr><td valign="top"></td><td valign="top"><em>p_blob_size</em> </td><td>Blob size. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>CK_RV. </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>blob may be NULL to get size. </dd></dl> </div> </div> <a class="anchor" id="gac3c6095a527f868ff8db2ea82e3749e5"></a><!-- doxytag: member="pkcs11h-data.h::pkcs11h_data_put" ref="gac3c6095a527f868ff8db2ea82e3749e5" args="(IN const pkcs11h_token_id_t token_id, IN const PKCS11H_BOOL is_public, IN const char *const application, IN const char *const label, IN void *const user_data, IN const unsigned mask_prompt, OUT unsigned char *const blob, IN const size_t blob_size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CK_RV pkcs11h_data_put </td> <td>(</td> <td class="paramtype">IN const <a class="el" href="structpkcs11h__token__id__s.html">pkcs11h_token_id_t</a> </td> <td class="paramname"> <em>token_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const PKCS11H_BOOL </td> <td class="paramname"> <em>is_public</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const char *const </td> <td class="paramname"> <em>application</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const char *const </td> <td class="paramname"> <em>label</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN void *const </td> <td class="paramname"> <em>user_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const unsigned </td> <td class="paramname"> <em>mask_prompt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">OUT unsigned char *const </td> <td class="paramname"> <em>blob</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">IN const size_t </td> <td class="paramname"> <em>blob_size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Put data object. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>token_id</em> </td><td>Token id object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>is_public</em> </td><td>Object is public. </td></tr> <tr><td valign="top"></td><td valign="top"><em>application</em> </td><td>Object application attribute. </td></tr> <tr><td valign="top"></td><td valign="top"><em>label</em> </td><td>Object label attribute. </td></tr> <tr><td valign="top"></td><td valign="top"><em>user_data</em> </td><td>Optional user data, to be passed to hooks. </td></tr> <tr><td valign="top"></td><td valign="top"><em>mask_prompt</em> </td><td>Allow prompt <a class="el" href="group__PKCS11H__PROMPT__MASK.html">PKCS11H_PROMPT_MASK</a>. </td></tr> <tr><td valign="top"></td><td valign="top"><em>blob</em> </td><td>Blob, set to NULL to get size. </td></tr> <tr><td valign="top"></td><td valign="top"><em>blob_size</em> </td><td>Blob size. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>CK_RV. </dd></dl> </div> </div> </div> <hr> <table width="100%"><tr><td>pkcs11-helper, Copyright (C) Alon Bar-Lev <alon.barlev@gmail.com></td><td align="right"><a href="http://www.opensc-project.org"><img src="opensc-logo.gif" alt="OpenSC-Project.org Logo" border="0"/></a></td></tr></table>