Sophie

Sophie

distrib > Fedora > 20 > x86_64 > by-pkgid > b43bb4545a0a5407bff310ae5d712bcb > files > 111

pkcs11-helper-devel-1.11-3.fc20.i686.rpm

<!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/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>pkcs11-helper: test-basic.c</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">pkcs11-helper
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">test-basic.c</div>  </div>
</div><!--header-->
<div class="contents">
<p>The following example shows some basic usage of the library.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &quot;../../config.h&quot;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="pkcs11h-core_8h.html">pkcs11-helper-1.0/pkcs11h-core.h</a>&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">static</span></div>
<div class="line"><span class="keywordtype">void</span></div>
<div class="line">fatal (<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> m, CK_RV rv) {</div>
<div class="line">        fprintf (stderr, <span class="stringliteral">&quot;%s - %08lu - %s\n&quot;</span>, m, rv, <a name="a0"></a><a class="code" href="group__pkcs11h__core.html#ga9aebf44a24ec0312cbf42a1024bbf290">pkcs11h_getMessage</a> (rv));</div>
<div class="line">        exit (1);</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keyword">static</span></div>
<div class="line"><span class="keywordtype">void</span></div>
<div class="line">_pkcs11h_hooks_log (</div>
<div class="line">        IN <span class="keywordtype">void</span> * <span class="keyword">const</span> global_data,</div>
<div class="line">        IN <span class="keywordtype">unsigned</span> flags,</div>
<div class="line">        IN <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> format,</div>
<div class="line">        IN va_list args</div>
<div class="line">) {</div>
<div class="line">        vfprintf (stdout, format, args);</div>
<div class="line">        fprintf (stdout, <span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line">        fflush (stdout);</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main () {</div>
<div class="line">        CK_RV rv;</div>
<div class="line"></div>
<div class="line">        printf (<span class="stringliteral">&quot;Version: %08x\n&quot;</span>, <a name="a1"></a><a class="code" href="group__pkcs11h__core.html#gaecea4287b494c1907b8c7e9dcde0d48b">pkcs11h_getVersion</a> ());</div>
<div class="line">        printf (<span class="stringliteral">&quot;Features: %08x\n&quot;</span>, <a name="a2"></a><a class="code" href="group__pkcs11h__core.html#ga66cddd754ca08b5cf82881d22853d8bf">pkcs11h_getFeatures</a> ());</div>
<div class="line"></div>
<div class="line">        printf (<span class="stringliteral">&quot;Initializing pkcs11-helper\n&quot;</span>);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> ((rv = <a name="a3"></a><a class="code" href="group__pkcs11h__core.html#gadf09a7c486742188b8ceedf84a5c5db6">pkcs11h_initialize</a> ()) != CKR_OK) {</div>
<div class="line">                fatal (<span class="stringliteral">&quot;pkcs11h_initialize failed&quot;</span>, rv);</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        printf (<span class="stringliteral">&quot;Registering pkcs11-helper hooks\n&quot;</span>);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> ((rv = <a name="a4"></a><a class="code" href="group__pkcs11h__core.html#gaf5dcc671471e326942f5ad9615840e8b">pkcs11h_setLogHook</a> (_pkcs11h_hooks_log, NULL)) != CKR_OK) {</div>
<div class="line">                fatal (<span class="stringliteral">&quot;pkcs11h_setLogHook failed&quot;</span>, rv);</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        <a name="a5"></a><a class="code" href="group__pkcs11h__core.html#gad4b64d348be65a44012d7f2160cf27b2">pkcs11h_setLogLevel</a> (TEST_LOG_LEVEL);</div>
<div class="line"></div>
<div class="line">        printf (<span class="stringliteral">&quot;Adding provider &#39;%s&#39;\n&quot;</span>, TEST_PROVIDER);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> (</div>
<div class="line">                (rv = <a name="a6"></a><a class="code" href="group__pkcs11h__core.html#gafa48a26cc3c2662a87eef3eaa9523e23">pkcs11h_addProvider</a> (</div>
<div class="line">                        TEST_PROVIDER,</div>
<div class="line">                        TEST_PROVIDER,</div>
<div class="line">                        FALSE,</div>
<div class="line">                        <a name="a7"></a><a class="code" href="group__PKCS11H__PRIVATEMODE__MASK.html#gafae49935ec998dabe7fd40b2ce7180dd">PKCS11H_PRIVATEMODE_MASK_AUTO</a>,</div>
<div class="line">                        PKCS11H_SLOTEVENT_METHOD_AUTO,</div>
<div class="line">                        0,</div>
<div class="line">                        FALSE</div>
<div class="line">                )) != CKR_OK</div>
<div class="line">        ) {</div>
<div class="line">                fatal (<span class="stringliteral">&quot;pkcs11h_addProvider failed&quot;</span>, rv);</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        printf (<span class="stringliteral">&quot;Terminating pkcs11-helper\n&quot;</span>);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> ((rv = <a name="a8"></a><a class="code" href="group__pkcs11h__core.html#gac8464931fa412eb69a118fe12c1778fe">pkcs11h_terminate</a> ()) != CKR_OK) {</div>
<div class="line">                fatal (<span class="stringliteral">&quot;pkcs11h_terminate failed&quot;</span>, rv);</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        exit (0);</div>
<div class="line">        <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --> </div><!-- contents -->
<hr>
<table width="100%"><tr><td>pkcs11-helper, Copyright (C) Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;</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>