Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 8db5617ff88aacc3075d0be1db459900 > files > 112

pcsc-lite-doc-1.8.11-4.mga5.noarch.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.8"/>
<title>pcsc-lite: MUSCLE PC/SC-Lite API Documentation</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">pcsc-lite
   &#160;<span id="projectnumber">1.8.11</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">MUSCLE PC/SC-Lite API Documentation </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="Introduction"></a>
Introduction</h1>
<p>This document contains the reference API calls for communicating to the MUSCLE PC/SC Smart Card Resource Manager. PC/SC is a standard proposed by the PC/SC workgroup <a href="http://www.pcscworkgroup.com/">http://www.pcscworkgroup.com/</a> which is a conglomerate of representative from major smart card manufacturers and other companies. This specification tries to abstract the smart card layer into a high level API so that smart cards and their readers can be accessed in a homogeneous fashion.</p>
<p>This toolkit was written in ANSI C that can be used with most compilers and does NOT use complex and large data structures such as vectors, etc. The C API emulates the winscard API that is used on the Windows platform. It is contained in the library <code>libpcsclite.so</code> that is linked to your application.</p>
<p>I would really like to hear from you. If you have any feedback either on this documentation or on the MUSCLE project please feel free to email me at: <a href="#" onclick="location.href='mai'+'lto:'+'cor'+'co'+'ran'+'@m'+'usc'+'le'+'car'+'d.'+'com'; return false;">corco<span style="display: none;">.nosp@m.</span>ran@<span style="display: none;">.nosp@m.</span>muscl<span style="display: none;">.nosp@m.</span>ecar<span style="display: none;">.nosp@m.</span>d.com</a>.</p>
<h1><a class="anchor" id="API_Routines"></a>
API_Routines</h1>
<p>These routines specified here are <a class="el" href="winscard_8h.html" title="This handles smart card reader communications. ">winscard.h</a> routines like those in the winscard API provided under Windows(R). These are compatible with the Microsoft(R) API calls. This list of calls is mainly an abstraction of readers. It gives a common API for communication to most readers in a homogeneous fashion.</p>
<p>Since all functions can produce a wide array of errors, please refer to <a class="el" href="pcsclite_8h.html" title="This keeps a list of defines for pcsc-lite. ">pcsclite.h</a> for a list of error returns.</p>
<p>For a human readable representation of an error the function <a class="el" href="group__API.html#gab5c302876c4c8187143603837a41aa86" title="Returns a human readable text for the given PC/SC error code. ">pcsc_stringify_error()</a> is declared in <a class="el" href="pcsclite_8h.html" title="This keeps a list of defines for pcsc-lite. ">pcsclite.h</a>. This function is not available on Microsoft(R) winscard API and is pcsc-lite specific.</p>
<h1><a class="anchor" id="Internals"></a>
Internals</h1>
<p>PC/SC Lite is formed by a server deamon (<code>pcscd</code>) and a client library (<code>libpcsclite.so</code>) that communicate via IPC.</p>
<p>The file <em><a class="el" href="winscard__clnt_8c.html">winscard_clnt.c</a></em> in the client-side exposes the API for applications.<br />
 The file <em><a class="el" href="winscard_8c.html" title="This handles smart card reader communications. ">winscard.c</a></em> has the server-side counterpart functions present in <em><a class="el" href="winscard__clnt_8c.html">winscard_clnt.c</a></em>.<br />
 The file <em><a class="el" href="winscard__msg_8c.html" title="This is responsible for client/server communication. ">winscard_msg.c</a></em> is the communication interface between <em><a class="el" href="winscard__clnt_8c.html">winscard_clnt.c</a></em> and <em><a class="el" href="winscard_8c.html" title="This handles smart card reader communications. ">winscard.c</a></em>.<br />
 The file <a class="el" href="pcscdaemon_8c.html" title="This is the main pcscd daemon. ">pcscdaemon.c</a> has the main server-side function, including a loop for accepting client requests.<br />
 The file <em><a class="el" href="winscard__svc_8c.html" title="This demarshalls functions over the message queue and keeps track of clients and their handles...">winscard_svc.c</a></em> has the functions called by <em><a class="el" href="pcscdaemon_8c.html" title="This is the main pcscd daemon. ">pcscdaemon.c</a></em> to serve clients requests.</p>
<p>When a function from <em><a class="el" href="winscard__clnt_8c.html">winscard_clnt.c</a></em> is called by a client application, it calls a function in <em><a class="el" href="winscard__msg_8c.html" title="This is responsible for client/server communication. ">winscard_msg.c</a></em> to send the message to <em><a class="el" href="pcscdaemon_8c.html" title="This is the main pcscd daemon. ">pcscdaemon.c</a></em>. When <em><a class="el" href="pcscdaemon_8c.html" title="This is the main pcscd daemon. ">pcscdaemon.c</a></em> a client detects a request arrived, it calls <em><a class="el" href="winscard__svc_8c.html" title="This demarshalls functions over the message queue and keeps track of clients and their handles...">winscard_svc.c</a></em> which identifies what command the message contains and requests <em><a class="el" href="winscard_8c.html" title="This handles smart card reader communications. ">winscard.c</a></em> to execute the command.<br />
 Meanwhile <a class="el" href="winscard__clnt_8c.html">winscard_clnt.c</a> waits for the response until a timeout occurs. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Oct 15 2014 11:57:57 for pcsc-lite by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>