Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 6c21d55247420ace69cad1d05267fc34 > files > 142

pcsc-lite-doc-1.7.2-4.fc15.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"/>
<title>pcsc-lite: MUSCLE PC/SC-Lite API Documentation</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.7.4 -->
<div id="top">
<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.7.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <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>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">MUSCLE PC/SC-Lite API Documentation </div>  </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="Introduction"></a>
Introduction</h2>
<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="mailto:corcoran@musclecard.com">corcoran@musclecard.com</a>.</p>
<h2><a class="anchor" id="API_Routines"></a>
API_Routines</h2>
<p>These routines specified here are <a class="el" href="winscard_8h.html" title="This handles smartcard 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="This function return 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>
<h2><a class="anchor" id="Internals"></a>
Internals</h2>
<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 smartcard 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 smartcard 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 smartcard 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>
<hr class="footer"/><address class="footer"><small>Generated on Thu Sep 15 2011 for pcsc-lite by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>