Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > f831237475ece7d1519c6812064707d4 > files > 80

libnfc-devel-1.4.2-1.fc14.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"/>
<title>libnfc: nfc-types.h File Reference</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.3 -->
<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">libnfc&#160;<span id="projectnumber">1.4.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_41028febda0963323f7e6054c1e7205d.html">include</a>      </li>
      <li class="navelem"><a class="el" href="dir_70f07fa48bb0d24326c844d55c4ad9eb.html">nfc</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<h1>nfc-types.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>Define NFC types.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;stddef.h&gt;</code><br/>
<code>#include &lt;stdint.h&gt;</code><br/>
<code>#include &lt;stdbool.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
</div>
<p><a href="nfc-types_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__device__t.html">nfc_device_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC device information.  <a href="structnfc__device__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__device__desc__t.html">nfc_device_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC device description.  <a href="structnfc__device__desc__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchip__callbacks.html">chip_callbacks</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for chip specific functions.  <a href="structchip__callbacks.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdriver__callbacks.html">driver_callbacks</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic structure to handle NFC device functions.  <a href="structdriver__callbacks.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__dep__info__t.html">nfc_dep_info_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC target information in D.E.P. (Data Exchange Protocol) see ISO/IEC 18092 (NFCIP-1)  <a href="structnfc__dep__info__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__iso14443a__info__t.html">nfc_iso14443a_info_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC ISO14443A tag (MIFARE) information.  <a href="structnfc__iso14443a__info__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__felica__info__t.html">nfc_felica_info_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC FeLiCa tag information.  <a href="structnfc__felica__info__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__iso14443b__info__t.html">nfc_iso14443b_info_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC ISO14443B tag information.  <a href="structnfc__iso14443b__info__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__jewel__info__t.html">nfc_jewel_info_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC Jewel tag information.  <a href="structnfc__jewel__info__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionnfc__target__info__t.html">nfc_target_info_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Union between all kind of tags information structures.  <a href="unionnfc__target__info__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__modulation__t.html">nfc_modulation_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC modulation structure.  <a href="structnfc__modulation__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnfc__target__t.html">nfc_target_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NFC target structure.  <a href="structnfc__target__t.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311e">nfc_device_option_t</a> { <br/>
&#160;&#160;<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311ea34588e4870fcc10476151e27e8e97a74">NDO_HANDLE_CRC</a> =  0x00, 
<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311ea7c1f6097b2d2a1670f580de332c41596">NDO_HANDLE_PARITY</a> =  0x01, 
<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311ea932832c243c9448924de6e21aa622d07">NDO_ACTIVATE_FIELD</a> =  0x10, 
<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311ea7727d8aca77883ad234319a75994c8f5">NDO_ACTIVATE_CRYPTO1</a> =  0x11, 
<br/>
&#160;&#160;<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311ead179fd877ff1ba540f0425fa3547825d">NDO_INFINITE_SELECT</a> =  0x20, 
<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311eaf11f5510dd7430ca8a1b7fe58c67273b">NDO_ACCEPT_INVALID_FRAMES</a> =  0x30, 
<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311ea56833a5b8feb00e4d17a33c399fa7de6">NDO_ACCEPT_MULTIPLE_FRAMES</a> =  0x31, 
<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311eae40c8c9da1c2e8d123948e03374a1c0c">NDO_AUTO_ISO14443_4</a> =  0x40, 
<br/>
&#160;&#160;<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311eabb3413ff22c634f90298444e0fffed5f">NDO_EASY_FRAMING</a> =  0x41, 
<a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311ea6dafbd16a163d494637d9d640cf3d8f1">NDO_FORCE_ISO14443_A</a> =  0x42
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>NFC device option. </p>
 <a href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311e">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nfc-types_8h.html#a0403437f90b1c17f0177fc26c1f4e0fc">nfc_dep_mode_t</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>NFC D.E.P. (Data Exchange Protocol) active/passive mode. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nfc-types_8h.html#ae9d7b01916fb677e7c0ad1de171b1fdd">nfc_baud_rate_t</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>NFC baud rate enumeration. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nfc-types_8h.html#a0ba2d4ab603fd8f3f0745cd1f44e9893">nfc_modulation_type_t</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>NFC modulation type enumeration. </p>
<br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Define NFC types. </p>
<p>Public platform independent Near Field Communication (NFC) library</p>
<p>Copyright (C) 2009, Roel Verdult Copyright (C) 2010, Romain Tartière, Romuald Conty</p>
<p>This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</p>
<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
<p>You should have received a copy of the GNU Lesser General Public License along with this program. If not, see &lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt; </p>

<p>Definition in file <a class="el" href="nfc-types_8h_source.html">nfc-types.h</a>.</p>
</div><hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311e"></a><!-- doxytag: member="nfc&#45;types.h::nfc_device_option_t" ref="ab2cdef5e5ac453e9c60c9fe449cb311e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="nfc-types_8h.html#ab2cdef5e5ac453e9c60c9fe449cb311e">nfc_device_option_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>NFC device option. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311ea34588e4870fcc10476151e27e8e97a74"></a><!-- doxytag: member="NDO_HANDLE_CRC" ref="ab2cdef5e5ac453e9c60c9fe449cb311ea34588e4870fcc10476151e27e8e97a74" args="" -->NDO_HANDLE_CRC</em>&nbsp;</td><td>
<p>Let the PN53X chip handle the CRC bytes. This means that the chip appends the CRC bytes to the frames that are transmitted. It will parse the last bytes from received frames as incoming CRC bytes. They will be verified against the used modulation and protocol. If an frame is expected with incorrect CRC bytes this option should be disabled. Example frames where this is useful are the ATQA and UID+BCC that are transmitted without CRC bytes during the anti-collision phase of the ISO14443-A protocol. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311ea7c1f6097b2d2a1670f580de332c41596"></a><!-- doxytag: member="NDO_HANDLE_PARITY" ref="ab2cdef5e5ac453e9c60c9fe449cb311ea7c1f6097b2d2a1670f580de332c41596" args="" -->NDO_HANDLE_PARITY</em>&nbsp;</td><td>
<p>Parity bits in the network layer of ISO14443-A are by default generated and validated in the PN53X chip. This is a very convenient feature. On certain times though it is useful to get full control of the transmitted data. The proprietary MIFARE Classic protocol uses for example custom (encrypted) parity bits. For interoperability it is required to be completely compatible, including the arbitrary parity bits. When this option is disabled, the functions to communicating bits should be used. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311ea932832c243c9448924de6e21aa622d07"></a><!-- doxytag: member="NDO_ACTIVATE_FIELD" ref="ab2cdef5e5ac453e9c60c9fe449cb311ea932832c243c9448924de6e21aa622d07" args="" -->NDO_ACTIVATE_FIELD</em>&nbsp;</td><td>
<p>This option can be used to enable or disable the electronic field of the NFC device. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311ea7727d8aca77883ad234319a75994c8f5"></a><!-- doxytag: member="NDO_ACTIVATE_CRYPTO1" ref="ab2cdef5e5ac453e9c60c9fe449cb311ea7727d8aca77883ad234319a75994c8f5" args="" -->NDO_ACTIVATE_CRYPTO1</em>&nbsp;</td><td>
<p>The internal CRYPTO1 co-processor can be used to transmit messages encrypted. This option is automatically activated after a successful MIFARE Classic authentication. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311ead179fd877ff1ba540f0425fa3547825d"></a><!-- doxytag: member="NDO_INFINITE_SELECT" ref="ab2cdef5e5ac453e9c60c9fe449cb311ead179fd877ff1ba540f0425fa3547825d" args="" -->NDO_INFINITE_SELECT</em>&nbsp;</td><td>
<p>The default configuration defines that the PN53X chip will try indefinitely to invite a tag in the field to respond. This could be desired when it is certain a tag will enter the field. On the other hand, when this is uncertain, it will block the application. This option could best be compared to the (NON)BLOCKING option used by (socket)network programming. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311eaf11f5510dd7430ca8a1b7fe58c67273b"></a><!-- doxytag: member="NDO_ACCEPT_INVALID_FRAMES" ref="ab2cdef5e5ac453e9c60c9fe449cb311eaf11f5510dd7430ca8a1b7fe58c67273b" args="" -->NDO_ACCEPT_INVALID_FRAMES</em>&nbsp;</td><td>
<p>If this option is enabled, frames that carry less than 4 bits are allowed. According to the standards these frames should normally be handles as invalid frames. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311ea56833a5b8feb00e4d17a33c399fa7de6"></a><!-- doxytag: member="NDO_ACCEPT_MULTIPLE_FRAMES" ref="ab2cdef5e5ac453e9c60c9fe449cb311ea56833a5b8feb00e4d17a33c399fa7de6" args="" -->NDO_ACCEPT_MULTIPLE_FRAMES</em>&nbsp;</td><td>
<p>If the NFC device should only listen to frames, it could be useful to let it gather multiple frames in a sequence. They will be stored in the internal FIFO of the PN53X chip. This could be retrieved by using the receive data functions. Note that if the chip runs out of bytes (FIFO = 64 bytes long), it will overwrite the first received frames, so quick retrieving of the received data is desirable. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311eae40c8c9da1c2e8d123948e03374a1c0c"></a><!-- doxytag: member="NDO_AUTO_ISO14443_4" ref="ab2cdef5e5ac453e9c60c9fe449cb311eae40c8c9da1c2e8d123948e03374a1c0c" args="" -->NDO_AUTO_ISO14443_4</em>&nbsp;</td><td>
<p>This option can be used to enable or disable the auto-switching mode to ISO14443-4 is device is compliant. In initiator mode, it means that NFC chip will send RATS automatically when select and it will automatically poll for ISO14443-4 card when ISO14443A is requested. In target mode, with a NFC chip compiliant (ie. PN532), the chip will emulate a 14443-4 PICC using hardware capability </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311eabb3413ff22c634f90298444e0fffed5f"></a><!-- doxytag: member="NDO_EASY_FRAMING" ref="ab2cdef5e5ac453e9c60c9fe449cb311eabb3413ff22c634f90298444e0fffed5f" args="" -->NDO_EASY_FRAMING</em>&nbsp;</td><td>
<p>Use automatic frames encapsulation and chaining. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab2cdef5e5ac453e9c60c9fe449cb311ea6dafbd16a163d494637d9d640cf3d8f1"></a><!-- doxytag: member="NDO_FORCE_ISO14443_A" ref="ab2cdef5e5ac453e9c60c9fe449cb311ea6dafbd16a163d494637d9d640cf3d8f1" args="" -->NDO_FORCE_ISO14443_A</em>&nbsp;</td><td>
<p>Force the chip to switch in ISO14443-A </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nfc-types_8h_source.html#l00151">151</a> of file <a class="el" href="nfc-types_8h_source.html">nfc-types.h</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Feb 23 2011 for libnfc by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>