mirror of
https://github.com/m5stack/M5Unit-NFC.git
synced 2026-05-20 11:48:34 -07:00
320 lines
27 KiB
HTML
320 lines
27 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.11.0"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>M5Unit-NFC: src/nfc/isoDEP/desfire_file_system.hpp File Reference</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>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.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 id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">M5Unit-NFC<span id="projectnumber"> 0.0.3 git rev:59f5362</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.11.0 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){initNavTree('desfire__file__system_8hpp.html',''); initResizable(true); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#namespaces">Namespaces</a> |
|
|
<a href="#enum-members">Enumerations</a> |
|
|
<a href="#func-members">Functions</a> |
|
|
<a href="#var-members">Variables</a> </div>
|
|
<div class="headertitle"><div class="title">desfire_file_system.hpp File Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>File system base using isoDEP for MIFARE DESFire.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include "<a class="el" href="file__system_8hpp_source.html">file_system.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="mifare_8hpp_source.html">nfc/a/mifare.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="ndef_8hpp_source.html">nfc/ndef/ndef.hpp</a>"</code><br />
|
|
<code>#include <m5_utility/stl/expected.hpp></code><br />
|
|
<code>#include <array></code><br />
|
|
<code>#include <algorithm></code><br />
|
|
<code>#include <limits></code><br />
|
|
</div>
|
|
<p><a href="desfire__file__system_8hpp_source.html">Go to the source code of this file.</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_file_settings.html">m5::nfc::a::mifare::desfire::FileSettings</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">DESFire file settings (minimal fields for StdDataFile) <a href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_file_settings.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html">m5::nfc::a::mifare::desfire::desfire_aid_t</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">24bit Application ID <a href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_ndef_format_options.html">m5::nfc::a::mifare::desfire::NdefFormatOptions</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Options for formatting DESFire as Type4 NDEF. <a href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_ndef_format_options.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_file_rename.html">m5::nfc::a::mifare::desfire::FileRename</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">File renaming parameters for DESFire Light SetConfiguration. <a href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_file_rename.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_ev2_context.html">m5::nfc::a::mifare::desfire::Ev2Context</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Session context for EV2 secure messaging. <a href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_ev2_context.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_d_e_s_fire_file_system.html">m5::nfc::a::mifare::desfire::DESFireFileSystem</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">File system for MIFARE DESFire. <a href="classm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1_d_e_s_fire_file_system.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacem5.html">m5</a></td></tr>
|
|
<tr class="memdesc:namespacem5"><td class="mdescLeft"> </td><td class="mdescRight">Top level namespace of M5stack. <br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedesfire.html">desfire</a></td></tr>
|
|
<tr class="memdesc:namespacedesfire"><td class="mdescLeft"> </td><td class="mdescRight">For MIFARE DESFire. <br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
|
|
Enumerations</h2></td></tr>
|
|
<tr class="memitem:a87fa07187f0a1c6976f12ab14bb0fd80" id="r_a87fa07187f0a1c6976f12ab14bb0fd80"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a87fa07187f0a1c6976f12ab14bb0fd80">m5::nfc::a::mifare::desfire::AuthMode</a> : uint8_t { <a class="el" href="#a87fa07187f0a1c6976f12ab14bb0fd80a06b9281e396db002010bde1de57262eb">Auto</a>
|
|
, <a class="el" href="#a87fa07187f0a1c6976f12ab14bb0fd80a80ac4ad5ef5d93178348c18272df6bd3">DES</a>
|
|
, <a class="el" href="#a87fa07187f0a1c6976f12ab14bb0fd80a76b7593457e2ab50befe2dcd63cf388f">AES</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a87fa07187f0a1c6976f12ab14bb0fd80"><td class="mdescLeft"> </td><td class="mdescRight">Authentication mode. <a href="#a87fa07187f0a1c6976f12ab14bb0fd80">More...</a><br /></td></tr>
|
|
<tr class="separator:a87fa07187f0a1c6976f12ab14bb0fd80"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:a105dc871f6836edd2d01ed870ee2b025" id="r_a105dc871f6836edd2d01ed870ee2b025"><td class="memItemLeft" align="right" valign="top"><a id="a105dc871f6836edd2d01ed870ee2b025" name="a105dc871f6836edd2d01ed870ee2b025"></a>
|
|
uint16_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::detail::clamp_u16_size</b> (const size_t size)</td></tr>
|
|
<tr class="separator:a105dc871f6836edd2d01ed870ee2b025"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aef50eb5700c356200e23d33ae6b4460f" id="r_aef50eb5700c356200e23d33ae6b4460f"><td class="memItemLeft" align="right" valign="top"><a id="aef50eb5700c356200e23d33ae6b4460f" name="aef50eb5700c356200e23d33ae6b4460f"></a>
|
|
uint16_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::detail::default_rx_capacity</b> (const <a class="el" href="classm5_1_1nfc_1_1isodep_1_1_iso_d_e_p.html">m5::nfc::isodep::IsoDEP</a> &dep)</td></tr>
|
|
<tr class="separator:aef50eb5700c356200e23d33ae6b4460f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99e39f445f94267dc69c21a687385209" id="r_a99e39f445f94267dc69c21a687385209"><td class="memItemLeft" align="right" valign="top"><a id="a99e39f445f94267dc69c21a687385209" name="a99e39f445f94267dc69c21a687385209"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::detail::pack_le24</b> (uint8_t out[3], const uint32_t value)</td></tr>
|
|
<tr class="separator:a99e39f445f94267dc69c21a687385209"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a158d6e21ec71aa667ba87612a12a2954" id="r_a158d6e21ec71aa667ba87612a12a2954"><td class="memItemLeft" align="right" valign="top"><a id="a158d6e21ec71aa667ba87612a12a2954" name="a158d6e21ec71aa667ba87612a12a2954"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::detail::pack_be24</b> (uint8_t out[3], const uint32_t value)</td></tr>
|
|
<tr class="separator:a158d6e21ec71aa667ba87612a12a2954"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af391bb78f8b1ac481f9e69be06f95698" id="r_af391bb78f8b1ac481f9e69be06f95698"><td class="memItemLeft" align="right" valign="top"><a id="af391bb78f8b1ac481f9e69be06f95698" name="af391bb78f8b1ac481f9e69be06f95698"></a>
|
|
uint32_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::detail::unpack_le24</b> (const uint8_t in[3])</td></tr>
|
|
<tr class="separator:af391bb78f8b1ac481f9e69be06f95698"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af0e880dca1ea93a13be51fd305bcaf4d" id="r_af0e880dca1ea93a13be51fd305bcaf4d"><td class="memItemLeft" align="right" valign="top"><a id="af0e880dca1ea93a13be51fd305bcaf4d" name="af0e880dca1ea93a13be51fd305bcaf4d"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::operator==</b> (const <a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html">desfire_aid_t</a> &a, const <a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html">desfire_aid_t</a> &b) noexcept</td></tr>
|
|
<tr class="separator:af0e880dca1ea93a13be51fd305bcaf4d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a42f58343f1200edce2381161a6be6610" id="r_a42f58343f1200edce2381161a6be6610"><td class="memItemLeft" align="right" valign="top"><a id="a42f58343f1200edce2381161a6be6610" name="a42f58343f1200edce2381161a6be6610"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::operator!=</b> (const <a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html">desfire_aid_t</a> &a, const <a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html">desfire_aid_t</a> &b) noexcept</td></tr>
|
|
<tr class="separator:a42f58343f1200edce2381161a6be6610"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab0e8a6dc16382d66168ea5fbc28c34fc" id="r_ab0e8a6dc16382d66168ea5fbc28c34fc"><td class="memItemLeft" align="right" valign="top"><a id="ab0e8a6dc16382d66168ea5fbc28c34fc" name="ab0e8a6dc16382d66168ea5fbc28c34fc"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::operator<</b> (const <a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html">desfire_aid_t</a> &a, const <a class="el" href="structm5_1_1nfc_1_1a_1_1mifare_1_1desfire_1_1desfire__aid__t.html">desfire_aid_t</a> &b) noexcept</td></tr>
|
|
<tr class="separator:ab0e8a6dc16382d66168ea5fbc28c34fc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5a527aa739178651a434b5907e22d7b3" id="r_a5a527aa739178651a434b5907e22d7b3"><td class="memItemLeft" align="right" valign="top">std::vector< uint8_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="desfire__file__system_8cpp.html#a5a527aa739178651a434b5907e22d7b3">m5::nfc::a::mifare::desfire::make_native_wrap_command</a> (const uint8_t ins, const uint8_t *data=nullptr, const uint16_t data_len=0)</td></tr>
|
|
<tr class="memdesc:a5a527aa739178651a434b5907e22d7b3"><td class="mdescLeft"> </td><td class="mdescRight">Make native wrap command. <br /></td></tr>
|
|
<tr class="separator:a5a527aa739178651a434b5907e22d7b3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac48e82125fa96801b0ceae50e510fc26" id="r_ac48e82125fa96801b0ceae50e510fc26"><td class="memItemLeft" align="right" valign="top"><a id="ac48e82125fa96801b0ceae50e510fc26" name="ac48e82125fa96801b0ceae50e510fc26"></a>
|
|
uint8_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::status_code</b> (const uint8_t *rx, const uint16_t rx_len)</td></tr>
|
|
<tr class="memdesc:ac48e82125fa96801b0ceae50e510fc26"><td class="mdescLeft"> </td><td class="mdescRight">DESFire status code (0x91xx) <br /></td></tr>
|
|
<tr class="separator:ac48e82125fa96801b0ceae50e510fc26"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaacf49946d7267b32be70c6cd5f178f1" id="r_aaacf49946d7267b32be70c6cd5f178f1"><td class="memItemLeft" align="right" valign="top"><a id="aaacf49946d7267b32be70c6cd5f178f1" name="aaacf49946d7267b32be70c6cd5f178f1"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::is_successful</b> (const uint8_t *rx, const uint16_t rx_len)</td></tr>
|
|
<tr class="memdesc:aaacf49946d7267b32be70c6cd5f178f1"><td class="mdescLeft"> </td><td class="mdescRight">Is the status of the received data successful? <br /></td></tr>
|
|
<tr class="separator:aaacf49946d7267b32be70c6cd5f178f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a044c0ecbff9667d3b30b6f09852b3671" id="r_a044c0ecbff9667d3b30b6f09852b3671"><td class="memItemLeft" align="right" valign="top"><a id="a044c0ecbff9667d3b30b6f09852b3671" name="a044c0ecbff9667d3b30b6f09852b3671"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::is_more</b> (const uint8_t *rx, const uint16_t rx_len)</td></tr>
|
|
<tr class="memdesc:a044c0ecbff9667d3b30b6f09852b3671"><td class="mdescLeft"> </td><td class="mdescRight">Is the received data still waiting for a response? <br /></td></tr>
|
|
<tr class="separator:a044c0ecbff9667d3b30b6f09852b3671"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a53b4e87ed3527faa024b6671690cc8e6" id="r_a53b4e87ed3527faa024b6671690cc8e6"><td class="memItemLeft" align="right" valign="top"><a id="a53b4e87ed3527faa024b6671690cc8e6" name="a53b4e87ed3527faa024b6671690cc8e6"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::is_duplicate</b> (const uint8_t *rx, const uint16_t rx_len)</td></tr>
|
|
<tr class="memdesc:a53b4e87ed3527faa024b6671690cc8e6"><td class="mdescLeft"> </td><td class="mdescRight">Is duplicate error? (e.g. app/file already exists) <br /></td></tr>
|
|
<tr class="separator:a53b4e87ed3527faa024b6671690cc8e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
|
|
Variables</h2></td></tr>
|
|
<tr class="memitem:ab9ddfd315305f3441ae70f53d2d2d848" id="r_ab9ddfd315305f3441ae70f53d2d2d848"><td class="memItemLeft" align="right" valign="top"><a id="ab9ddfd315305f3441ae70f53d2d2d848" name="ab9ddfd315305f3441ae70f53d2d2d848"></a>
|
|
constexpr uint8_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::DESFIRE_APDU_CLA</b> {0x90}</td></tr>
|
|
<tr class="separator:ab9ddfd315305f3441ae70f53d2d2d848"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af94d6c2840f64807922b7c38d9ddf8c6" id="r_af94d6c2840f64807922b7c38d9ddf8c6"><td class="memItemLeft" align="right" valign="top"><a id="af94d6c2840f64807922b7c38d9ddf8c6" name="af94d6c2840f64807922b7c38d9ddf8c6"></a>
|
|
constexpr uint8_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::DESFIRE_LIGHT_INS_READ_DATA</b> {0xAD}</td></tr>
|
|
<tr class="separator:af94d6c2840f64807922b7c38d9ddf8c6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adbc7435098e2de668da4aea418eef19f" id="r_adbc7435098e2de668da4aea418eef19f"><td class="memItemLeft" align="right" valign="top"><a id="adbc7435098e2de668da4aea418eef19f" name="adbc7435098e2de668da4aea418eef19f"></a>
|
|
constexpr uint8_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::DESFIRE_LIGHT_INS_WRITE_DATA</b> {0x8D}</td></tr>
|
|
<tr class="separator:adbc7435098e2de668da4aea418eef19f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7c16fac19c4923b99c260753d2798ad5" id="r_a7c16fac19c4923b99c260753d2798ad5"><td class="memItemLeft" align="right" valign="top"><a id="a7c16fac19c4923b99c260753d2798ad5" name="a7c16fac19c4923b99c260753d2798ad5"></a>
|
|
constexpr uint8_t </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::MAXIMUM_FILES</b> {<a class="el" href="#a25dc413db08d6739bacf7c73e3c15845">MAXIMUM_FILE_NO</a> - <a class="el" href="#a7e744743d08b8420d7e969f3df682be8">MINIMUM_FILE_NO</a> + 1}</td></tr>
|
|
<tr class="memdesc:a7c16fac19c4923b99c260753d2798ad5"><td class="mdescLeft"> </td><td class="mdescRight">Files max. <br /></td></tr>
|
|
<tr class="separator:a7c16fac19c4923b99c260753d2798ad5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader">File number</h2></td></tr>
|
|
<tr class="memitem:a289b29edf73add42154f1ae61497b5db" id="r_a289b29edf73add42154f1ae61497b5db"><td class="memItemLeft" align="right" valign="top"><a id="a289b29edf73add42154f1ae61497b5db" name="a289b29edf73add42154f1ae61497b5db"></a>
|
|
using </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::file_no_t</b> = uint8_t</td></tr>
|
|
<tr class="memdesc:a289b29edf73add42154f1ae61497b5db"><td class="mdescLeft"> </td><td class="mdescRight">Alias for file number. <br /></td></tr>
|
|
<tr class="separator:a289b29edf73add42154f1ae61497b5db"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7e744743d08b8420d7e969f3df682be8" id="r_a7e744743d08b8420d7e969f3df682be8"><td class="memItemLeft" align="right" valign="top"><a id="a7e744743d08b8420d7e969f3df682be8" name="a7e744743d08b8420d7e969f3df682be8"></a>
|
|
constexpr <a class="el" href="#a289b29edf73add42154f1ae61497b5db">file_no_t</a> </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::MINIMUM_FILE_NO</b> {0}</td></tr>
|
|
<tr class="memdesc:a7e744743d08b8420d7e969f3df682be8"><td class="mdescLeft"> </td><td class="mdescRight">Minimum file number. <br /></td></tr>
|
|
<tr class="separator:a7e744743d08b8420d7e969f3df682be8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a25dc413db08d6739bacf7c73e3c15845" id="r_a25dc413db08d6739bacf7c73e3c15845"><td class="memItemLeft" align="right" valign="top"><a id="a25dc413db08d6739bacf7c73e3c15845" name="a25dc413db08d6739bacf7c73e3c15845"></a>
|
|
constexpr <a class="el" href="#a289b29edf73add42154f1ae61497b5db">file_no_t</a> </td><td class="memItemRight" valign="bottom"><b>m5::nfc::a::mifare::desfire::MAXIMUM_FILE_NO</b> {31}</td></tr>
|
|
<tr class="memdesc:a25dc413db08d6739bacf7c73e3c15845"><td class="mdescLeft"> </td><td class="mdescRight">Maximum file number. <br /></td></tr>
|
|
<tr class="separator:a25dc413db08d6739bacf7c73e3c15845"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>File system base using isoDEP for MIFARE DESFire. </p>
|
|
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
|
|
<a id="a87fa07187f0a1c6976f12ab14bb0fd80" name="a87fa07187f0a1c6976f12ab14bb0fd80"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a87fa07187f0a1c6976f12ab14bb0fd80">◆ </a></span>AuthMode</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum class <a class="el" href="#a87fa07187f0a1c6976f12ab14bb0fd80">m5::nfc::a::mifare::desfire::AuthMode</a> : uint8_t</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Authentication mode. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a87fa07187f0a1c6976f12ab14bb0fd80a06b9281e396db002010bde1de57262eb" name="a87fa07187f0a1c6976f12ab14bb0fd80a06b9281e396db002010bde1de57262eb"></a>Auto </td><td class="fielddoc"><p>Try DES then AES. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a87fa07187f0a1c6976f12ab14bb0fd80a80ac4ad5ef5d93178348c18272df6bd3" name="a87fa07187f0a1c6976f12ab14bb0fd80a80ac4ad5ef5d93178348c18272df6bd3"></a>DES </td><td class="fielddoc"><p>DES/3DES only. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a87fa07187f0a1c6976f12ab14bb0fd80a76b7593457e2ab50befe2dcd63cf388f" name="a87fa07187f0a1c6976f12ab14bb0fd80a76b7593457e2ab50befe2dcd63cf388f"></a>AES </td><td class="fielddoc"><p>AES only. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a id="a5a527aa739178651a434b5907e22d7b3" name="a5a527aa739178651a434b5907e22d7b3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5a527aa739178651a434b5907e22d7b3">◆ </a></span>make_native_wrap_command()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector< uint8_t > m5::nfc::a::mifare::desfire::make_native_wrap_command </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const uint8_t</td> <td class="paramname"><span class="paramname"><em>ins</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>data</em></span><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint16_t</td> <td class="paramname"><span class="paramname"><em>data_len</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Make native wrap command. </p>
|
|
<p>Something similar to APDU but different </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ins</td><td>Native INS </td></tr>
|
|
<tr><td class="paramname">data</td><td>Data </td></tr>
|
|
<tr><td class="paramname">data_len</td><td>Data length </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Constructed command data </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_59410e1461a4f8107dcbc9b19538c327.html">nfc</a></li><li class="navelem"><a class="el" href="dir_60cb28613bf31858290b8b55565cc38a.html">isoDEP</a></li><li class="navelem"><a class="el" href="desfire__file__system_8hpp.html">desfire_file_system.hpp</a></li>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|