Files
M5Unit-NFC/nfcf_8hpp_source.html

731 lines
132 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/f/nfcf.hpp Source File</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">&#160;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&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;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&amp;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&amp;dn=expat.txt MIT */
$(function(){initNavTree('nfcf_8hpp_source.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="headertitle"><div class="title">nfcf.hpp</div></div>
</div><!--header-->
<div class="contents">
<a href="nfcf_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * SPDX-License-Identifier: MIT</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> */</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#ifndef M5_UNIT_UNIFIED_NFC_NFC_F_NFCF_HPP</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#define M5_UNIT_UNIFIED_NFC_NFC_F_NFCF_HPP</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &quot;<a class="code" href="nfc_8hpp.html">nfc/nfc.hpp</a>&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;array&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacem5.html">m5</a> {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacenfc.html">nfc</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacef.html">f</a> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="foldopen" id="foldopen00030" data-start="{" data-end="};">
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f"> 30</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f">Type</a> : uint8_t {</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> Unknown, </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96facac4693ba70e855674fafee447e1b759">FeliCaStandard</a>, </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96fabb274ba4f79260fac1cceb11d9504a91">FeliCaLite</a>, </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96fa6478df87d6ba411e0bb4c7824085bc01">FeliCaLiteS</a>, </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96fa2672a11e5105880c01910d1c337e4bcb">FeliCaPlug</a>, </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// FeliCaLink, //!&lt; Link</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>};</div>
</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="foldopen" id="foldopen00040" data-start="{" data-end="}">
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#ac45986717903a578a3dc4c59da17f298"> 40</a></span><span class="keyword">inline</span> <a class="code hl_enumeration" href="nfc_8hpp.html#a952a1a2c9c08aa278d2aadafe02a5cd1">m5::nfc::NFCForumTag</a> get_nfc_forum_tag_type(<span class="keyword">const</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f">Type</a> t)</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>{</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> (t != Type::Unknown) ? NFCForumTag::Type3 : NFCForumTag::None;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>}</div>
</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9"> 47</a></span><span class="keyword">using </span><a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> = uint8_t;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aa521daa7bf5e75d10fa21e848654c2be"> 48</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="nfcf_8hpp.html#aa521daa7bf5e75d10fa21e848654c2be">format_nfcip1</a>{0x0001}; </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#afe6ad9f347b81b810097fd17b31af8d2"> 49</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="nfcf_8hpp.html#afe6ad9f347b81b810097fd17b31af8d2">format_lite</a>{0x0002}; </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a2ddee2f888ea8483516ca0d5c09f9935"> 50</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="nfcf_8hpp.html#a2ddee2f888ea8483516ca0d5c09f9935">format_private</a>{0x0004}; </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#ab430bcb9ae317feae37a1a7f1364f544"> 51</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="nfcf_8hpp.html#ab430bcb9ae317feae37a1a7f1364f544">format_ndef</a>{0x0008}; </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a2e51494ec684f04fe85652cfca51b19d"> 52</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="nfcf_8hpp.html#a2e51494ec684f04fe85652cfca51b19d">format_shared</a>{0x0010}; </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a9adc4af29d0d219c1804748d6c7aef48"> 53</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="nfcf_8hpp.html#a9adc4af29d0d219c1804748d6c7aef48">format_secure</a>{0x0020}; </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a703ced21afb41aef9aa9f100b80b25ce"> 54</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="nfcf_8hpp.html#a703ced21afb41aef9aa9f100b80b25ce">format_felica_plug</a>{0x0040}; </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="foldopen" id="foldopen00061" data-start="{" data-end="};">
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a5cc4c0eab77c7e2ae44f9549f695d52d"> 61</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a5cc4c0eab77c7e2ae44f9549f695d52d">CommandCode</a> : uint8_t {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> Polling,</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> RequestService = 0x02,</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> RequestResponse = 0x04,</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> ReadWithoutEncryption = 0x06,</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> WriteWithoutEncryption = 0x08,</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> RequestSystemCode = 0x0C,</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>};</div>
</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="foldopen" id="foldopen00074" data-start="{" data-end="};">
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a360c75b595fa2e5fa9988959168746df"> 74</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a360c75b595fa2e5fa9988959168746df">ResponseCode</a> : uint8_t {</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> Polling = 0x01,</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> RequestService = 0x03,</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> RequestResponse = 0x05,</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> ReadWithoutEncryption = 0x07,</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> WriteWithoutEncryption = 0x09,</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> RequestSystemCode = 0x0D,</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span>};</div>
</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#add8594506fbb8c50eabd0c0104aee674"> 85</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#add8594506fbb8c50eabd0c0104aee674">system_code_wildcard</a>{0xFFFF}; </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aafc54fae843e05f63e3f8ab7b3941464"> 86</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#aafc54fae843e05f63e3f8ab7b3941464">system_code_ndef</a>{0x12FC}; </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#ad8380cc3ac96fab0ea0b1c22e7ef008b"> 87</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#ad8380cc3ac96fab0ea0b1c22e7ef008b">system_code_felica_secure_id</a>{0x957A}; </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a2e036876dc05e21ffb6d8ff76c2f8cd7"> 88</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a2e036876dc05e21ffb6d8ff76c2f8cd7">system_code_shared</a>{0xFE00}; </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aed3fbe9519884df27578df4e3ec7730b"> 89</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#aed3fbe9519884df27578df4e3ec7730b">system_code_lite</a>{0x88B4}; </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a429e821de9621a46cf40349fd964d89f"> 90</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a429e821de9621a46cf40349fd964d89f">system_code_felica_plug</a>{0xFEE1}; </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="foldopen" id="foldopen00097" data-start="{" data-end="};">
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144"> 97</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144">RequestCode</a> : uint8_t {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> None, </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144a1eeecf7b9a1ca67f7b230b65716a19d6">SystemCode</a>, </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144a3ce9c6f141a2a97b4e9504272d3efc98">CommunicationPerformance</a>, </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span>};</div>
</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a1ca4eeb3808f5d0529b603128edc5b84"> 107</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a1ca4eeb3808f5d0529b603128edc5b84">TimeSlot</a> : uint8_t { Slot1, Slot2, Slot4 = 0x03, Slot8 = 0x07, Slot16 = 0x0F };</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="foldopen" id="foldopen00110" data-start="{" data-end="}">
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a89d13d59812d64bb13835a45aebebeba"> 110</a></span><span class="keyword">inline</span> <span class="keyword">constexpr</span> uint8_t <a class="code hl_function" href="nfcf_8hpp.html#a89d13d59812d64bb13835a45aebebeba">timeslot_to_slot</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a1ca4eeb3808f5d0529b603128edc5b84">TimeSlot</a> ts)</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span>{</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">return</span> (ts == TimeSlot::Slot16) ? 16</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> : (ts == TimeSlot::Slot8) ? 8</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> : (ts == TimeSlot::Slot4) ? 4</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> : (ts == TimeSlot::Slot2) ? 2</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> : (ts == TimeSlot::Slot1) ? 1</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> : 0; <span class="comment">// Illegal</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>}</div>
</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="comment">// Random service</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a425db1e4f06b88c8d011a4271bee8fa3"> 123</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a425db1e4f06b88c8d011a4271bee8fa3">service_random_read_write_auth</a>{0x0008}; </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a22c27e0c42a8e14db11ed926e20b50d7"> 124</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a22c27e0c42a8e14db11ed926e20b50d7">service_random_read_write</a>{0x0009}; </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a5b2562fa6829d1e1b1adde7ab8a79e3a"> 125</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a5b2562fa6829d1e1b1adde7ab8a79e3a">service_random_read_auth</a>{0x000A}; </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aa34539f8d3d332d33990ae18cf63ec52"> 126</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#aa34539f8d3d332d33990ae18cf63ec52">service_random_read</a>{0x000B}; </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment">// Cyclic service</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a7827a434c6e681ebf2a94da09ac935e1"> 128</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a7827a434c6e681ebf2a94da09ac935e1">service_cyclic_read_write_auth</a>{0x000C}; </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#ac244ed94137bfb4a42dc4cb9539fa00c"> 129</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#ac244ed94137bfb4a42dc4cb9539fa00c">service_cyclic_read_write</a>{0x000D}; </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#ab3f37f14f630750fae7a1015a24d158f"> 130</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#ab3f37f14f630750fae7a1015a24d158f">service_cyclic_read_auth</a>{0x000E}; </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#ad932724434468d099da3f88fd3ea3131"> 131</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#ad932724434468d099da3f88fd3ea3131">service_cyclic_read</a>{0x000F}; </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment">// Parse service</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a79f5298b66bb05349cebe3d7b2793fd3"> 133</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a79f5298b66bb05349cebe3d7b2793fd3">service_parse_direct_auth</a>{0x0100};</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a9a8429d9d2a55a4366b5ced92dfa5d48"> 134</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a9a8429d9d2a55a4366b5ced92dfa5d48">service_parse_direct</a>{0x0101};</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a1d17392cf32de3b4c93e851e3bf4862b"> 135</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a1d17392cf32de3b4c93e851e3bf4862b">service_parse_cacheback_auth</a>{0x0102};</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a2fac017d2e051772fd2b3e1e43f0c50c"> 136</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a2fac017d2e051772fd2b3e1e43f0c50c">service_parse_cacheback</a>{0x0103};</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a32c126ea71f639f747e3de1520d054dc"> 137</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a32c126ea71f639f747e3de1520d054dc">service_parse_decrement_auth</a>{0x0104};</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#ad9a3c4163a53990d8a994c4bd0d78908"> 138</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#ad9a3c4163a53990d8a994c4bd0d78908">service_parse_decrement</a>{0x0105};</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a5878b0feb6beec1c2aee07fdd49d8cec"> 139</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a5878b0feb6beec1c2aee07fdd49d8cec">service_parse_increment_auth</a>{0x0106};</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#af6667e88bbf020556ad1d7a1492af337"> 140</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#af6667e88bbf020556ad1d7a1492af337">service_parse_increment</a>{0x0107};</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
<div class="foldopen" id="foldopen00147" data-start="{" data-end="};">
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1block__t.html"> 147</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> uint8_t pad{};</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8"> 149</a></span> uint8_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a>{}; </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a"> 150</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a">number</a>{}; </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a>() : <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a>(0)</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> {</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> }</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// Allow implicit type conversion</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> block_t(<span class="keyword">const</span> uint16_t num, <span class="keyword">const</span> uint8_t access = 0, <span class="keyword">const</span> uint8_t order = 0)</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> : <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a>{(uint8_t)(((num &gt; 0xFF) ? 0x00 : 0x80) | ((access &amp; 0x07) &lt;&lt; 4) | (order &amp; 0x0F))}, <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a">number</a>{num}</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> }</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">static</span> block_t from(<span class="keyword">const</span> uint8_t <a class="code hl_namespace" href="namespacev.html">v</a>[3])</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> {</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> block_t <a class="code hl_namespace" href="namespaceb.html">b</a>{0xFFFFu};</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">if</span> (<a class="code hl_namespace" href="namespacev.html">v</a>) {</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <a class="code hl_namespace" href="namespaceb.html">b</a>.header = <a class="code hl_namespace" href="namespacev.html">v</a>[0];</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <a class="code hl_namespace" href="namespaceb.html">b</a>.number = <a class="code hl_namespace" href="namespacev.html">v</a>[1];</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span> (<a class="code hl_namespace" href="namespaceb.html">b</a>.is_3byte()) {</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <a class="code hl_namespace" href="namespaceb.html">b</a>.number |= (uint16_t)<a class="code hl_namespace" href="namespacev.html">v</a>[2] &lt;&lt; 8;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> }</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> <a class="code hl_namespace" href="namespaceb.html">b</a>;</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> }</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> <span class="keywordtype">bool</span> is_2byte()<span class="keyword"> const</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> &amp; 0x80) != 0;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> }</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> <span class="keywordtype">bool</span> is_3byte()<span class="keyword"> const</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> &amp; 0x80) == 0;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> }</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> uint8_t access_mode()<span class="keyword"> const</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> &gt;&gt; 4) &amp; 0x07;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> }</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> uint8_t order()<span class="keyword"> const</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> &amp; 0x0F);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> }</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> uint16_t block()<span class="keyword"> const</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a">number</a>;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> }</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> block(<span class="keyword">const</span> uint16_t num)</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> {</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a">number</a> = num;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> = (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> &amp; ~0x80) | (num &gt; 0xFF ? 0x00 : 0x80);</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> }</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> access_mode(<span class="keyword">const</span> uint8_t <a class="code hl_namespace" href="namespacea.html">a</a>)</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> {</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> = (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> &amp; ~(0x07 &lt;&lt; 4)) | ((<a class="code hl_namespace" href="namespacea.html">a</a> &amp; 0x07) &lt;&lt; 4);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> }</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> order(<span class="keyword">const</span> uint8_t o)</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> {</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> = (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a> &amp; ~0x0F) | (o &amp; 0x0F);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> }</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">inline</span> <span class="keyword">operator</span> uint16_t()<span class="keyword"> const</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> block();</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> }</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> uint8_t store(uint8_t buf[3])<span class="keyword"> const</span></div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> uint8_t idx{};</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> buf[idx++] = <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">header</a>;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> buf[idx++] = <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a">number</a> &amp; 0xFF;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> (is_3byte()) {</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> buf[idx++] = <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a">number</a> &gt;&gt; 8;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> }</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> idx;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> }</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span>};</div>
</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacestandard.html">standard</a> {</div>
<div class="foldopen" id="foldopen00236" data-start="{" data-end="};">
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5c"> 236</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5c">Mode</a> : uint8_t {</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5ca315436bae0e85636381fc939db06aee5">Mode0</a>, </div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5ca7a2ea225a084605104f8c39b3ae9657c">Mode1</a>, </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5ca04c542f260d16590ec60c594f67a30e7">Mode2</a>, </div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <a class="code hl_enumvalue" href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5cab68fa4884da8d22e83f37b4f209295f1">Mode3</a>, </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span>};</div>
</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span>} <span class="comment">// namespace standard</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
<div class="foldopen" id="foldopen00249" data-start="{" data-end="}">
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="namespacem5_1_1nfc_1_1f_1_1lite.html"> 249</a></span><span class="keyword">namespace </span>lite {</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD0{0x00};</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD1{0x01};</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD2{0x02};</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD3{0x03};</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD4{0x04};</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD5{0x05};</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD6{0x06};</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD7{0x07};</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD8{0x08};</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD9{0x09};</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD10{0x0A};</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD11{0x0B};</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD12{0X0C};</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD13{0x0D};</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> <a class="code hl_struct" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html">REG</a>{0x0E};</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> RC{0x80};</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> MAC{0x81};</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> ID{0x082};</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> D_ID{0x83};</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> SER_C{0x84};</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> SYS_C{0x85};</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> CKV{0x86};</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> CK{0x87};</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> MC{0x88};</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span>} <span class="comment">// namespace lite</span></div>
</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
<div class="foldopen" id="foldopen00286" data-start="{" data-end="}">
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="namespacem5_1_1nfc_1_1f_1_1lite__s.html"> 286</a></span><span class="keyword">namespace </span>lite_s {</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="foldopen" id="foldopen00292" data-start="{" data-end="};">
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"><a class="line" href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90"> 292</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90">Mode</a> : uint8_t {</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <a class="code hl_enumvalue" href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90ada3f9688888dfbaa06ca923662130978">Mode00</a>, </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <a class="code hl_enumvalue" href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90ae2094a9b36ca75c979deaf1a582fbfc5">Mode01</a>, </div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <a class="code hl_enumvalue" href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90a8fec38fc491b842379a834279aa2ca03">Mode10</a>, </div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <a class="code hl_enumvalue" href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90a4bc80f64d5ab44497ce35569d1bc12b4">Mode11</a>, </div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span>};</div>
</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="keyword">constexpr</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> S_PAD0{0x00}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><span class="keyword">constexpr</span> block_t S_PAD1{0x01}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="keyword">constexpr</span> block_t S_PAD2{0x02}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="keyword">constexpr</span> block_t S_PAD3{0x03}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="keyword">constexpr</span> block_t S_PAD4{0x04}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="keyword">constexpr</span> block_t S_PAD5{0x05}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span><span class="keyword">constexpr</span> block_t S_PAD6{0x06}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="keyword">constexpr</span> block_t S_PAD7{0x07}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="keyword">constexpr</span> block_t S_PAD8{0x08}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span><span class="keyword">constexpr</span> block_t S_PAD9{0x09}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span><span class="keyword">constexpr</span> block_t S_PAD10{0x0A}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="keyword">constexpr</span> block_t S_PAD11{0x0B}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="keyword">constexpr</span> block_t S_PAD12{0X0C}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="keyword">constexpr</span> block_t S_PAD13{0x0D}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="keyword">constexpr</span> block_t REG{0x0E}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="keyword">constexpr</span> block_t RC{0x80}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="keyword">constexpr</span> block_t MAC{0x81}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="keyword">constexpr</span> block_t ID{0x082}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="keyword">constexpr</span> block_t D_ID{0x83}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span><span class="keyword">constexpr</span> block_t SER_C{0x84}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span><span class="keyword">constexpr</span> block_t SYS_C{0x85}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span><span class="keyword">constexpr</span> block_t CKV{0x86}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="keyword">constexpr</span> block_t CK{0x87}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span><span class="keyword">constexpr</span> block_t MC{0x88}; <span class="comment">// Same as Lite</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="keyword">constexpr</span> block_t WCNT{0x90};</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="keyword">constexpr</span> block_t MAC_A{0x91};</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span><span class="keyword">constexpr</span> block_t STATE{0x92};</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="keyword">constexpr</span> block_t CRC_CHECK{0xA0};</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> </div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span>} <span class="comment">// namespace lite_s</span></div>
</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> </div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span>uint16_t <a class="code hl_function" href="nfcf_8cpp.html#abd6a4ea21d882749c7a2bfb347975623">get_maximum_block</a>(<span class="keyword">const</span> Type t);</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span>uint16_t <a class="code hl_function" href="nfca_8cpp.html#a90f81b2afbf160114f08f351e7b6c16f">get_number_of_user_blocks</a>(<span class="keyword">const</span> Type t);</div>
<div class="foldopen" id="foldopen00338" data-start="{" data-end="}">
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aa8fa452b71d896b1fb7ed52eab69a8d2"> 338</a></span><span class="keyword">inline</span> uint16_t get_user_area_size(<span class="keyword">const</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f">Type</a> t)</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span>{</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">return</span> 16 * get_number_of_user_blocks(t);</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span>}</div>
</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span>uint16_t get_first_user_block(<span class="keyword">const</span> Type t);</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span>uint16_t get_last_user_block(<span class="keyword">const</span> Type t);</div>
<div class="foldopen" id="foldopen00347" data-start="{" data-end="}">
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a0e2254c895998ba49f34dbe5f93cfe23"> 347</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> is_user_block(<span class="keyword">const</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f">Type</a> t, <span class="keyword">const</span> uint16_t block)</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span>{</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">return</span> (block &gt;= get_first_user_block(t)) &amp;&amp; (block &lt;= get_last_user_block(t));</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span>}</div>
</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span>uint8_t get_maximum_read_blocks(<span class="keyword">const</span> Type t);</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span>uint8_t get_maximum_write_blocks(<span class="keyword">const</span> Type t);</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span><span class="keywordtype">bool</span> is_read_only_lite(<span class="keyword">const</span> block_t block);</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span><span class="keywordtype">bool</span> is_read_only_lite_s(<span class="keyword">const</span> block_t block);</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span><span class="keywordtype">bool</span> can_read_lite(<span class="keyword">const</span> block_t block);</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span><span class="keywordtype">bool</span> can_read_lite_s(<span class="keyword">const</span> block_t block);</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> </div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#aea1e9a30d61d21a485d0f00785b030d2"> 367</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#aea1e9a30d61d21a485d0f00785b030d2">NODE_SYSTEM_KEY</a>{0xFFFF}; </div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a826f0b02bdb00fafe162f52e5a90c7c4"> 368</a></span><span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="nfcf_8hpp.html#a826f0b02bdb00fafe162f52e5a90c7c4">KEY_VERIOSN_NONE</a>{0xFFFF}; </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> </div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span><span class="keyword">constexpr</span> uint8_t FELICA_ID_LENGTH{8};</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span><span class="keyword">constexpr</span> uint8_t FELICA_MAX_BLOCKS{8};</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span><span class="keyword">constexpr</span> uint16_t FELICA_MAX_PACKET_LENGTH_REQUEST_SERVICE{1 + 8 + 1 + 2 * 255};</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="keyword">constexpr</span> uint16_t FELICA_MAX_PACKET_LENGTH_REQUEST_RESPONSE{1 + 8 + 1};</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span><span class="keyword">constexpr</span> uint16_t FELICA_MAX_PACKET_LENGTH_REQUEST_SYSTEM_CODE{1 + 8 + 1 + 2 * 255};</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="foldopen" id="foldopen00381" data-start="{" data-end="};">
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html"> 381</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html">PICC</a> {</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> uint8_t m[16]{};</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a4835868074d0ca82eade8bd58bae6d69"> 385</a></span> uint8_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a4835868074d0ca82eade8bd58bae6d69">idm</a>[FELICA_ID_LENGTH]; </div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a98b1fadb1fee84982f07020c3254770c"> 386</a></span> uint8_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a98b1fadb1fee84982f07020c3254770c">pmm</a>[FELICA_ID_LENGTH]; </div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> };</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> };</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac0edd79a2abaa04fb42e8bd6d716eed2"> 389</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac0edd79a2abaa04fb42e8bd6d716eed2">request_data</a>{}; </div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a4997c0cf13eff03c2ad30f207d7fe77b"> 390</a></span> <a class="code hl_enumeration" href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144">RequestCode</a> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a4997c0cf13eff03c2ad30f207d7fe77b">request_code</a>{}; </div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119"> 391</a></span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f">Type</a> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>{}; </div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a3c8e889e88a8a234e71ccb9a45166a18"> 392</a></span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a3c8e889e88a8a234e71ccb9a45166a18">format</a>{}; </div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> uint8_t _pad{}; <span class="comment">// padding</span></div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a259230acc28cc4aaf634364234eb59a6"> 394</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a259230acc28cc4aaf634364234eb59a6">dfc_format</a>{}; </div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af525e296d36658fdda374724ce5de6ef"> 395</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af525e296d36658fdda374724ce5de6ef">emulation_sc</a>{}; </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af69afa2b56967446faeeec15e9785f3a">valid</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a38bab55d286773192148fd6d21cfb42b">validEmulation</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
<div class="foldopen" id="foldopen00403" data-start="{" data-end="}">
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a19b5720e144a758fc9a26d9045fc35c2"> 403</a></span> <span class="keyword">inline</span> uint16_t <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a19b5720e144a758fc9a26d9045fc35c2">userAreaSize</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af69afa2b56967446faeeec15e9785f3a">valid</a>() ? get_user_area_size(<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>) : 0;</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> }</div>
</div>
<div class="foldopen" id="foldopen00408" data-start="{" data-end="}">
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac3b14091a6e255fdd111dc5058106573"> 408</a></span> <span class="keyword">inline</span> uint16_t <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac3b14091a6e255fdd111dc5058106573">firstUserBlock</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af69afa2b56967446faeeec15e9785f3a">valid</a>() ? get_first_user_block(<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>) : 0xFFFF;</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> }</div>
</div>
<div class="foldopen" id="foldopen00413" data-start="{" data-end="}">
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a3e1acb785f96fe267425388e2519b544"> 413</a></span> <span class="keyword">inline</span> uint16_t <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a3e1acb785f96fe267425388e2519b544">lastUserBlock</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af69afa2b56967446faeeec15e9785f3a">valid</a>() ? get_last_user_block(<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>) : 0xFFFF;</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> }</div>
</div>
<div class="foldopen" id="foldopen00418" data-start="{" data-end="}">
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ad84ac714bd3397f8cb173b7b8651ff0c"> 418</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ad84ac714bd3397f8cb173b7b8651ff0c">isUserBlock</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1block__t.html">block_t</a> block)<span class="keyword"> const</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">return</span> is_user_block(<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>, block);</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> }</div>
</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="foldopen" id="foldopen00424" data-start="{" data-end="}">
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ad034f19064f3e2e66e13758a72e38b23"> 424</a></span> <span class="keyword">inline</span> uint8_t <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ad034f19064f3e2e66e13758a72e38b23">maximumReadBlocks</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">return</span> <a class="code hl_function" href="nfcf_8cpp.html#acdfb3dc62b558211198bba69f2a18427">get_maximum_read_blocks</a>(<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>);</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> }</div>
</div>
<div class="foldopen" id="foldopen00429" data-start="{" data-end="}">
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ab1ca680451a84ccf5b3bda589fb03ca3"> 429</a></span> <span class="keyword">inline</span> uint8_t <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ab1ca680451a84ccf5b3bda589fb03ca3">maximumWriteBlocks</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">return</span> <a class="code hl_function" href="nfcf_8cpp.html#a5d0e04aab8ed4be98fba915dc96f57cb">get_maximum_write_blocks</a>(<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>);</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> }</div>
</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> </div>
<div class="foldopen" id="foldopen00435" data-start="{" data-end="}">
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a77e3b5039aeabc5046b4d73ee2a6315f"> 435</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a77e3b5039aeabc5046b4d73ee2a6315f">checkFormat</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">Format</a> <a class="code hl_namespace" href="namespacef.html">f</a>)<span class="keyword"> const</span></div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a3c8e889e88a8a234e71ccb9a45166a18">format</a> &amp; <a class="code hl_namespace" href="namespacef.html">f</a>) != 0;</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> }</div>
</div>
<div class="foldopen" id="foldopen00440" data-start="{" data-end="}">
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a246d933e11c4c723a25b97a6ed18a5b2"> 440</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a246d933e11c4c723a25b97a6ed18a5b2">supportsNDEF</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a77e3b5039aeabc5046b4d73ee2a6315f">checkFormat</a>(<a class="code hl_variable" href="nfcf_8hpp.html#ab430bcb9ae317feae37a1a7f1364f544">format_ndef</a>);</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> }</div>
</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> </div>
<div class="foldopen" id="foldopen00446" data-start="{" data-end="}">
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"><a class="line" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a022a996aef9698d70c080d53ef53e553"> 446</a></span> <span class="keyword">inline</span> <a class="code hl_enumeration" href="nfc_8hpp.html#a952a1a2c9c08aa278d2aadafe02a5cd1">NFCForumTag</a> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a022a996aef9698d70c080d53ef53e553">nfcForumTagType</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">return</span> get_nfc_forum_tag_type(<a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">type</a>);</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> }</div>
</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ab87ee26752ef4249f240922b6d33a93c">emulate</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f">Type</a> t, <span class="keyword">const</span> uint8_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a4835868074d0ca82eade8bd58bae6d69">idm</a>[FELICA_ID_LENGTH], <span class="keyword">const</span> uint8_t <a class="code hl_variable" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a98b1fadb1fee84982f07020c3254770c">pmm</a>[FELICA_ID_LENGTH],</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="keyword">const</span> uint16_t sc = 0);</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> </div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> std::string <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ae9d6e0cdb4d3bdfbe96e1acd8b35d6f6">idmAsString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> std::string <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a6a7775e4b7939567da6e2d42f3ff877a">pmmAsString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> std::string <a class="code hl_function" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a19ed1943e3a20f5d160801d85e1281b0">typeAsString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span>};</div>
</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> </div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span><span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> PICC&amp; <a class="code hl_namespace" href="namespacea.html">a</a>, <span class="keyword">const</span> PICC&amp; <a class="code hl_namespace" href="namespaceb.html">b</a>);</div>
<div class="foldopen" id="foldopen00473" data-start="{" data-end="}">
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a5d6416a6b1df2234e88bfd1b78e8a52b"> 473</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html">PICC</a>&amp; <a class="code hl_namespace" href="namespacea.html">a</a>, <span class="keyword">const</span> <a class="code hl_struct" href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html">PICC</a>&amp; <a class="code hl_namespace" href="namespaceb.html">b</a>)</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span>{</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">return</span> !(<a class="code hl_namespace" href="namespacea.html">a</a> == <a class="code hl_namespace" href="namespaceb.html">b</a>);</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span>}</div>
</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> </div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span><span class="comment">// constexpr uint32_t TIMEOUT_POLLING{3};</span></div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a1498621ff0ef623b709209aaa8b475a8"> 481</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="nfcf_8hpp.html#a1498621ff0ef623b709209aaa8b475a8">TIMEOUT_POLLING</a>{5};</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a4871355553bd0305670405655de9d4ee"> 482</a></span><span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="nfcf_8hpp.html#a4871355553bd0305670405655de9d4ee">TIMEOUT_POLLING_PICC</a>{2}; <span class="comment">// 2 ms per PICC</span></div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> </div>
<div class="foldopen" id="foldopen00488" data-start="{" data-end="};">
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"><a class="line" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html"> 488</a></span><span class="keyword">union </span><a class="code hl_struct" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html">REG</a> {</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> uint8_t reg[16]{};</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> uint8_t reg_a[4]; <span class="comment">// RegA (LE)</span></div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> uint8_t reg_b[4]; <span class="comment">// RegB (LE)</span></div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> uint8_t reg_c[8]; <span class="comment">// RegC (BE)</span></div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> } __attribute__((packed));</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> </div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> <a class="code hl_struct" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html">REG</a>()</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> {</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> }</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="foldopen" id="foldopen00501" data-start="{" data-end="}">
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"><a class="line" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a65f9d61fefa9bfc6cc698fa6735c64a8"> 501</a></span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a65f9d61fefa9bfc6cc698fa6735c64a8">regA</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">return</span> ((uint32_t)reg_a[3] &lt;&lt; 24) | ((uint32_t)reg_a[2] &lt;&lt; 16) | ((uint32_t)reg_a[1] &lt;&lt; 8) |</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> ((uint32_t)reg_a[0]);</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> }</div>
</div>
<div class="foldopen" id="foldopen00507" data-start="{" data-end="}">
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"><a class="line" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a697ea41ac2e098f30305697f8bdb828c"> 507</a></span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a697ea41ac2e098f30305697f8bdb828c">regB</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">return</span> ((uint32_t)reg_b[3] &lt;&lt; 24) | ((uint32_t)reg_b[2] &lt;&lt; 16) | ((uint32_t)reg_b[1] &lt;&lt; 8) |</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> ((uint32_t)reg_b[0]);</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> }</div>
</div>
<div class="foldopen" id="foldopen00513" data-start="{" data-end="}">
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"><a class="line" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a18363858e069b905ea04b9de8d2c3809"> 513</a></span> <span class="keyword">inline</span> uint64_t <a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a18363858e069b905ea04b9de8d2c3809">regC</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">return</span> ((uint64_t)reg_c[0] &lt;&lt; 56) | ((uint64_t)reg_c[1] &lt;&lt; 48) | ((uint64_t)reg_c[2] &lt;&lt; 40) |</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> ((uint64_t)reg_c[3] &lt;&lt; 32) | ((uint64_t)reg_c[4] &lt;&lt; 24) | ((uint64_t)reg_c[5] &lt;&lt; 16) |</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> ((uint64_t)reg_c[6] &lt;&lt; 8) | ((uint64_t)reg_c[7]);</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> }</div>
</div>
<div class="foldopen" id="foldopen00520" data-start="{" data-end="}">
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"><a class="line" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a403e0738100b0b778ebe016dc2b66743"> 520</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a403e0738100b0b778ebe016dc2b66743">regA</a>(<span class="keyword">const</span> uint32_t <a class="code hl_namespace" href="namespacev.html">v</a>)</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> {</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> reg_a[0] = <a class="code hl_namespace" href="namespacev.html">v</a> &amp; 0xFF;</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> reg_a[1] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 8;</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> reg_a[2] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 16;</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> reg_a[3] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 24;</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> }</div>
</div>
<div class="foldopen" id="foldopen00528" data-start="{" data-end="}">
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"><a class="line" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a3809c945b5741992b1b2b93433041119"> 528</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a3809c945b5741992b1b2b93433041119">regB</a>(<span class="keyword">const</span> uint32_t <a class="code hl_namespace" href="namespacev.html">v</a>)</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> {</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> reg_b[0] = <a class="code hl_namespace" href="namespacev.html">v</a> &amp; 0xFF;</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> reg_b[1] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 8;</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> reg_b[2] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 16;</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> reg_b[3] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 24;</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> }</div>
</div>
<div class="foldopen" id="foldopen00536" data-start="{" data-end="}">
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"><a class="line" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a29c4f22a2d7699d3b6831e872686d088"> 536</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a29c4f22a2d7699d3b6831e872686d088">regC</a>(<span class="keyword">const</span> uint64_t <a class="code hl_namespace" href="namespacev.html">v</a>)</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> {</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> reg_c[7] = <a class="code hl_namespace" href="namespacev.html">v</a> &amp; 0xFF;</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> reg_c[6] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 8;</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> reg_c[5] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 16;</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> reg_c[4] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 24;</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> reg_c[3] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 32;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> reg_c[2] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 40;</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> reg_c[1] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 48;</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> reg_c[0] = <a class="code hl_namespace" href="namespacev.html">v</a> &gt;&gt; 56;</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> }</div>
</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> </div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <span class="keyword">inline</span> <span class="keyword">operator</span> <span class="keyword">const</span> uint8_t*() <span class="keyword">const</span></div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> {</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> <span class="keywordflow">return</span> reg;</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> }</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> <span class="keyword">inline</span> <span class="keyword">operator</span> uint8_t*()</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> {</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">return</span> reg;</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> }</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span>} __attribute__((packed));</div>
</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> </div>
<div class="foldopen" id="foldopen00564" data-start="{" data-end="}">
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"><a class="line" href="nfcf_8hpp.html#a68e8144e7658b6822c286efd5fd46cab"> 564</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="nfcf_8hpp.html#a68e8144e7658b6822c286efd5fd46cab">can_write_reg</a>(<span class="keyword">const</span> <a class="code hl_struct" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html">REG</a>&amp; o, <span class="keyword">const</span> <a class="code hl_struct" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html">REG</a>&amp; n)</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span>{</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> <span class="keywordflow">return</span> (o.<a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a65f9d61fefa9bfc6cc698fa6735c64a8">regA</a>() &gt;= n.<a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a65f9d61fefa9bfc6cc698fa6735c64a8">regA</a>()) &amp;&amp; (o.<a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a697ea41ac2e098f30305697f8bdb828c">regB</a>() &gt;= n.<a class="code hl_function" href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a697ea41ac2e098f30305697f8bdb828c">regB</a>());</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span>}</div>
</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> </div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> </div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span><span class="keywordtype">bool</span> make_session_key(uint8_t sk[16], <span class="keyword">const</span> uint8_t ck[16], <span class="keyword">const</span> uint8_t rc[16]);</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> </div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span><span class="keywordtype">bool</span> generate_mac(uint8_t mac[8], <span class="keyword">const</span> uint8_t* plain, uint32_t plain_len, <span class="keyword">const</span> uint8_t* block_data,</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span> uint32_t block_len, <span class="keyword">const</span> uint8_t sk1[8], <span class="keyword">const</span> uint8_t sk2[8], <span class="keyword">const</span> uint8_t rc[16]);</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> </div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span><span class="keywordtype">bool</span> make_personalized_card_key_lite_s(uint8_t card_key[16], <span class="keyword">const</span> uint8_t master_key[24], <span class="keyword">const</span> uint8_t id_block[16]);</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> </div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> </div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span>} <span class="comment">// namespace f</span></div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span>} <span class="comment">// namespace nfc</span></div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span>} <span class="comment">// namespace m5</span></div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="anamespacea_html"><div class="ttname"><a href="namespacea.html">a</a></div><div class="ttdoc">NFC-A definitions.</div></div>
<div class="ttc" id="anamespaceb_html"><div class="ttname"><a href="namespaceb.html">b</a></div><div class="ttdoc">NFC-B definitions.</div></div>
<div class="ttc" id="anamespacef_html"><div class="ttname"><a href="namespacef.html">f</a></div><div class="ttdoc">NFC-F definitions.</div></div>
<div class="ttc" id="anamespacem5_1_1nfc_1_1f_1_1lite__s_html_a8205d1ee70e7b5a0d9c073f9e8916b90"><div class="ttname"><a href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90">m5::nfc::f::lite_s::Mode</a></div><div class="ttdeci">Mode</div><div class="ttdoc">Mode for LiteS.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:292</div></div>
<div class="ttc" id="anamespacem5_1_1nfc_1_1f_1_1lite__s_html_a8205d1ee70e7b5a0d9c073f9e8916b90a4bc80f64d5ab44497ce35569d1bc12b4"><div class="ttname"><a href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90a4bc80f64d5ab44497ce35569d1bc12b4">m5::nfc::f::lite_s::Mode::Mode11</a></div><div class="ttdeci">@ Mode11</div><div class="ttdoc">External authentication complete, polling response not possible.</div></div>
<div class="ttc" id="anamespacem5_1_1nfc_1_1f_1_1lite__s_html_a8205d1ee70e7b5a0d9c073f9e8916b90a8fec38fc491b842379a834279aa2ca03"><div class="ttname"><a href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90a8fec38fc491b842379a834279aa2ca03">m5::nfc::f::lite_s::Mode::Mode10</a></div><div class="ttdeci">@ Mode10</div><div class="ttdoc">External authentication complete, polling response possible.</div></div>
<div class="ttc" id="anamespacem5_1_1nfc_1_1f_1_1lite__s_html_a8205d1ee70e7b5a0d9c073f9e8916b90ada3f9688888dfbaa06ca923662130978"><div class="ttname"><a href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90ada3f9688888dfbaa06ca923662130978">m5::nfc::f::lite_s::Mode::Mode00</a></div><div class="ttdeci">@ Mode00</div><div class="ttdoc">External authentication incomplete, polling response possible.</div></div>
<div class="ttc" id="anamespacem5_1_1nfc_1_1f_1_1lite__s_html_a8205d1ee70e7b5a0d9c073f9e8916b90ae2094a9b36ca75c979deaf1a582fbfc5"><div class="ttname"><a href="namespacem5_1_1nfc_1_1f_1_1lite__s.html#a8205d1ee70e7b5a0d9c073f9e8916b90ae2094a9b36ca75c979deaf1a582fbfc5">m5::nfc::f::lite_s::Mode::Mode01</a></div><div class="ttdeci">@ Mode01</div><div class="ttdoc">External authentication incomplete, polling response not possible.</div></div>
<div class="ttc" id="anamespacem5_html"><div class="ttname"><a href="namespacem5.html">m5</a></div><div class="ttdoc">Top level namespace of M5stack.</div></div>
<div class="ttc" id="anamespacenfc_html"><div class="ttname"><a href="namespacenfc.html">nfc</a></div><div class="ttdoc">NFC related definitions.</div></div>
<div class="ttc" id="anamespacestandard_html"><div class="ttname"><a href="namespacestandard.html">standard</a></div><div class="ttdoc">For FeliCa Standard.</div></div>
<div class="ttc" id="anamespacev_html"><div class="ttname"><a href="namespacev.html">v</a></div><div class="ttdoc">NFC-V definitions.</div></div>
<div class="ttc" id="anfc_8hpp_html"><div class="ttname"><a href="nfc_8hpp.html">nfc.hpp</a></div><div class="ttdoc">NFC definitions.</div></div>
<div class="ttc" id="anfc_8hpp_html_a952a1a2c9c08aa278d2aadafe02a5cd1"><div class="ttname"><a href="nfc_8hpp.html#a952a1a2c9c08aa278d2aadafe02a5cd1">m5::nfc::NFCForumTag</a></div><div class="ttdeci">NFCForumTag</div><div class="ttdoc">NFC Forum Tag Type.</div><div class="ttdef"><b>Definition</b> nfc.hpp:39</div></div>
<div class="ttc" id="anfca_8cpp_html_a90f81b2afbf160114f08f351e7b6c16f"><div class="ttname"><a href="nfca_8cpp.html#a90f81b2afbf160114f08f351e7b6c16f">m5::nfc::a::get_number_of_user_blocks</a></div><div class="ttdeci">uint16_t get_number_of_user_blocks(const Type t)</div><div class="ttdoc">Gets the number of user blocks.</div><div class="ttdef"><b>Definition</b> nfca.cpp:327</div></div>
<div class="ttc" id="anfcf_8cpp_html_a5d0e04aab8ed4be98fba915dc96f57cb"><div class="ttname"><a href="nfcf_8cpp.html#a5d0e04aab8ed4be98fba915dc96f57cb">m5::nfc::f::get_maximum_write_blocks</a></div><div class="ttdeci">uint8_t get_maximum_write_blocks(const Type t)</div><div class="ttdoc">Maximum number of blocks that can be write simultaneously.</div><div class="ttdef"><b>Definition</b> nfcf.cpp:112</div></div>
<div class="ttc" id="anfcf_8cpp_html_abd6a4ea21d882749c7a2bfb347975623"><div class="ttname"><a href="nfcf_8cpp.html#abd6a4ea21d882749c7a2bfb347975623">m5::nfc::f::get_maximum_block</a></div><div class="ttdeci">uint16_t get_maximum_block(const Type t)</div><div class="ttdoc">Gets the maximum block.</div><div class="ttdef"><b>Definition</b> nfcf.cpp:80</div></div>
<div class="ttc" id="anfcf_8cpp_html_acdfb3dc62b558211198bba69f2a18427"><div class="ttname"><a href="nfcf_8cpp.html#acdfb3dc62b558211198bba69f2a18427">m5::nfc::f::get_maximum_read_blocks</a></div><div class="ttdeci">uint8_t get_maximum_read_blocks(const Type t)</div><div class="ttdoc">Maximum number of blocks that can be read simultaneously.</div><div class="ttdef"><b>Definition</b> nfcf.cpp:106</div></div>
<div class="ttc" id="anfcf_8hpp_html_a1498621ff0ef623b709209aaa8b475a8"><div class="ttname"><a href="nfcf_8hpp.html#a1498621ff0ef623b709209aaa8b475a8">m5::nfc::f::TIMEOUT_POLLING</a></div><div class="ttdeci">constexpr uint32_t TIMEOUT_POLLING</div><div class="ttdef"><b>Definition</b> nfcf.hpp:481</div></div>
<div class="ttc" id="anfcf_8hpp_html_a1ca4eeb3808f5d0529b603128edc5b84"><div class="ttname"><a href="nfcf_8hpp.html#a1ca4eeb3808f5d0529b603128edc5b84">m5::nfc::f::TimeSlot</a></div><div class="ttdeci">TimeSlot</div><div class="ttdoc">Timeslot value for Polling.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:107</div></div>
<div class="ttc" id="anfcf_8hpp_html_a1d17392cf32de3b4c93e851e3bf4862b"><div class="ttname"><a href="nfcf_8hpp.html#a1d17392cf32de3b4c93e851e3bf4862b">m5::nfc::f::service_parse_cacheback_auth</a></div><div class="ttdeci">constexpr uint16_t service_parse_cacheback_auth</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:135</div></div>
<div class="ttc" id="anfcf_8hpp_html_a22c27e0c42a8e14db11ed926e20b50d7"><div class="ttname"><a href="nfcf_8hpp.html#a22c27e0c42a8e14db11ed926e20b50d7">m5::nfc::f::service_random_read_write</a></div><div class="ttdeci">constexpr uint16_t service_random_read_write</div><div class="ttdoc">Random,Read/write,No authentication required (S, L, LS)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:124</div></div>
<div class="ttc" id="anfcf_8hpp_html_a2ddee2f888ea8483516ca0d5c09f9935"><div class="ttname"><a href="nfcf_8hpp.html#a2ddee2f888ea8483516ca0d5c09f9935">m5::nfc::f::format_private</a></div><div class="ttdeci">constexpr Format format_private</div><div class="ttdoc">Has private area.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:50</div></div>
<div class="ttc" id="anfcf_8hpp_html_a2e036876dc05e21ffb6d8ff76c2f8cd7"><div class="ttname"><a href="nfcf_8hpp.html#a2e036876dc05e21ffb6d8ff76c2f8cd7">m5::nfc::f::system_code_shared</a></div><div class="ttdeci">constexpr uint16_t system_code_shared</div><div class="ttdoc">Shared area.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:88</div></div>
<div class="ttc" id="anfcf_8hpp_html_a2e51494ec684f04fe85652cfca51b19d"><div class="ttname"><a href="nfcf_8hpp.html#a2e51494ec684f04fe85652cfca51b19d">m5::nfc::f::format_shared</a></div><div class="ttdeci">constexpr Format format_shared</div><div class="ttdoc">Has shared area.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:52</div></div>
<div class="ttc" id="anfcf_8hpp_html_a2fac017d2e051772fd2b3e1e43f0c50c"><div class="ttname"><a href="nfcf_8hpp.html#a2fac017d2e051772fd2b3e1e43f0c50c">m5::nfc::f::service_parse_cacheback</a></div><div class="ttdeci">constexpr uint16_t service_parse_cacheback</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:136</div></div>
<div class="ttc" id="anfcf_8hpp_html_a32c126ea71f639f747e3de1520d054dc"><div class="ttname"><a href="nfcf_8hpp.html#a32c126ea71f639f747e3de1520d054dc">m5::nfc::f::service_parse_decrement_auth</a></div><div class="ttdeci">constexpr uint16_t service_parse_decrement_auth</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:137</div></div>
<div class="ttc" id="anfcf_8hpp_html_a360c75b595fa2e5fa9988959168746df"><div class="ttname"><a href="nfcf_8hpp.html#a360c75b595fa2e5fa9988959168746df">m5::nfc::f::ResponseCode</a></div><div class="ttdeci">ResponseCode</div><div class="ttdoc">NFC-F Response code.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:74</div></div>
<div class="ttc" id="anfcf_8hpp_html_a425db1e4f06b88c8d011a4271bee8fa3"><div class="ttname"><a href="nfcf_8hpp.html#a425db1e4f06b88c8d011a4271bee8fa3">m5::nfc::f::service_random_read_write_auth</a></div><div class="ttdeci">constexpr uint16_t service_random_read_write_auth</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:123</div></div>
<div class="ttc" id="anfcf_8hpp_html_a429e821de9621a46cf40349fd964d89f"><div class="ttname"><a href="nfcf_8hpp.html#a429e821de9621a46cf40349fd964d89f">m5::nfc::f::system_code_felica_plug</a></div><div class="ttdeci">constexpr uint16_t system_code_felica_plug</div><div class="ttdoc">FeliCa Plug.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:90</div></div>
<div class="ttc" id="anfcf_8hpp_html_a4871355553bd0305670405655de9d4ee"><div class="ttname"><a href="nfcf_8hpp.html#a4871355553bd0305670405655de9d4ee">m5::nfc::f::TIMEOUT_POLLING_PICC</a></div><div class="ttdeci">constexpr uint32_t TIMEOUT_POLLING_PICC</div><div class="ttdef"><b>Definition</b> nfcf.hpp:482</div></div>
<div class="ttc" id="anfcf_8hpp_html_a5878b0feb6beec1c2aee07fdd49d8cec"><div class="ttname"><a href="nfcf_8hpp.html#a5878b0feb6beec1c2aee07fdd49d8cec">m5::nfc::f::service_parse_increment_auth</a></div><div class="ttdeci">constexpr uint16_t service_parse_increment_auth</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:139</div></div>
<div class="ttc" id="anfcf_8hpp_html_a5b2562fa6829d1e1b1adde7ab8a79e3a"><div class="ttname"><a href="nfcf_8hpp.html#a5b2562fa6829d1e1b1adde7ab8a79e3a">m5::nfc::f::service_random_read_auth</a></div><div class="ttdeci">constexpr uint16_t service_random_read_auth</div><div class="ttdoc">Random,Read only,No authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:125</div></div>
<div class="ttc" id="anfcf_8hpp_html_a5cc4c0eab77c7e2ae44f9549f695d52d"><div class="ttname"><a href="nfcf_8hpp.html#a5cc4c0eab77c7e2ae44f9549f695d52d">m5::nfc::f::CommandCode</a></div><div class="ttdeci">CommandCode</div><div class="ttdoc">NFC-F Command code.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:61</div></div>
<div class="ttc" id="anfcf_8hpp_html_a68e8144e7658b6822c286efd5fd46cab"><div class="ttname"><a href="nfcf_8hpp.html#a68e8144e7658b6822c286efd5fd46cab">m5::nfc::f::can_write_reg</a></div><div class="ttdeci">bool can_write_reg(const REG &amp;o, const REG &amp;n)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:564</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6959bdf0a008260dcec938adc6a7db5c"><div class="ttname"><a href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5c">m5::nfc::f::standard::Mode</a></div><div class="ttdeci">Mode</div><div class="ttdoc">Mode for Standard.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:236</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6959bdf0a008260dcec938adc6a7db5ca04c542f260d16590ec60c594f67a30e7"><div class="ttname"><a href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5ca04c542f260d16590ec60c594f67a30e7">m5::nfc::f::standard::Mode::Mode2</a></div><div class="ttdeci">@ Mode2</div><div class="ttdoc">After mutual authentication is complete (Auth2)</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6959bdf0a008260dcec938adc6a7db5ca315436bae0e85636381fc939db06aee5"><div class="ttname"><a href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5ca315436bae0e85636381fc939db06aee5">m5::nfc::f::standard::Mode::Mode0</a></div><div class="ttdeci">@ Mode0</div><div class="ttdoc">Power was supplied to the PICC.</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6959bdf0a008260dcec938adc6a7db5ca7a2ea225a084605104f8c39b3ae9657c"><div class="ttname"><a href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5ca7a2ea225a084605104f8c39b3ae9657c">m5::nfc::f::standard::Mode::Mode1</a></div><div class="ttdeci">@ Mode1</div><div class="ttdoc">Certification for PICC has been completed (Auth1)</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6959bdf0a008260dcec938adc6a7db5cab68fa4884da8d22e83f37b4f209295f1"><div class="ttname"><a href="nfcf_8hpp.html#a6959bdf0a008260dcec938adc6a7db5cab68fa4884da8d22e83f37b4f209295f1">m5::nfc::f::standard::Mode::Mode3</a></div><div class="ttdeci">@ Mode3</div><div class="ttdoc">After registering area services or executing system partitioning.</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6edf4a03089bd8e0b648d6469d07c96f"><div class="ttname"><a href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96f">m5::nfc::f::Type</a></div><div class="ttdeci">Type</div><div class="ttdoc">Type of the PICC.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:30</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6edf4a03089bd8e0b648d6469d07c96fa2672a11e5105880c01910d1c337e4bcb"><div class="ttname"><a href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96fa2672a11e5105880c01910d1c337e4bcb">m5::nfc::f::Type::FeliCaPlug</a></div><div class="ttdeci">@ FeliCaPlug</div><div class="ttdoc">Plug.</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6edf4a03089bd8e0b648d6469d07c96fa6478df87d6ba411e0bb4c7824085bc01"><div class="ttname"><a href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96fa6478df87d6ba411e0bb4c7824085bc01">m5::nfc::f::Type::FeliCaLiteS</a></div><div class="ttdeci">@ FeliCaLiteS</div><div class="ttdoc">Lite-S.</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6edf4a03089bd8e0b648d6469d07c96fabb274ba4f79260fac1cceb11d9504a91"><div class="ttname"><a href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96fabb274ba4f79260fac1cceb11d9504a91">m5::nfc::f::Type::FeliCaLite</a></div><div class="ttdeci">@ FeliCaLite</div><div class="ttdoc">Lite.</div></div>
<div class="ttc" id="anfcf_8hpp_html_a6edf4a03089bd8e0b648d6469d07c96facac4693ba70e855674fafee447e1b759"><div class="ttname"><a href="nfcf_8hpp.html#a6edf4a03089bd8e0b648d6469d07c96facac4693ba70e855674fafee447e1b759">m5::nfc::f::Type::FeliCaStandard</a></div><div class="ttdeci">@ FeliCaStandard</div><div class="ttdoc">Standard.</div></div>
<div class="ttc" id="anfcf_8hpp_html_a703ced21afb41aef9aa9f100b80b25ce"><div class="ttname"><a href="nfcf_8hpp.html#a703ced21afb41aef9aa9f100b80b25ce">m5::nfc::f::format_felica_plug</a></div><div class="ttdeci">constexpr Format format_felica_plug</div><div class="ttdoc">FeliCa Plug.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:54</div></div>
<div class="ttc" id="anfcf_8hpp_html_a7827a434c6e681ebf2a94da09ac935e1"><div class="ttname"><a href="nfcf_8hpp.html#a7827a434c6e681ebf2a94da09ac935e1">m5::nfc::f::service_cyclic_read_write_auth</a></div><div class="ttdeci">constexpr uint16_t service_cyclic_read_write_auth</div><div class="ttdoc">Cyclic,Read/write,Authentication required(S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:128</div></div>
<div class="ttc" id="anfcf_8hpp_html_a79f5298b66bb05349cebe3d7b2793fd3"><div class="ttname"><a href="nfcf_8hpp.html#a79f5298b66bb05349cebe3d7b2793fd3">m5::nfc::f::service_parse_direct_auth</a></div><div class="ttdeci">constexpr uint16_t service_parse_direct_auth</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:133</div></div>
<div class="ttc" id="anfcf_8hpp_html_a826f0b02bdb00fafe162f52e5a90c7c4"><div class="ttname"><a href="nfcf_8hpp.html#a826f0b02bdb00fafe162f52e5a90c7c4">m5::nfc::f::KEY_VERIOSN_NONE</a></div><div class="ttdeci">constexpr uint16_t KEY_VERIOSN_NONE</div><div class="ttdoc">No key version exists.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:368</div></div>
<div class="ttc" id="anfcf_8hpp_html_a89d13d59812d64bb13835a45aebebeba"><div class="ttname"><a href="nfcf_8hpp.html#a89d13d59812d64bb13835a45aebebeba">m5::nfc::f::timeslot_to_slot</a></div><div class="ttdeci">constexpr uint8_t timeslot_to_slot(const TimeSlot ts)</div><div class="ttdoc">TimeSlot to the number of the slot.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:110</div></div>
<div class="ttc" id="anfcf_8hpp_html_a9a8429d9d2a55a4366b5ced92dfa5d48"><div class="ttname"><a href="nfcf_8hpp.html#a9a8429d9d2a55a4366b5ced92dfa5d48">m5::nfc::f::service_parse_direct</a></div><div class="ttdeci">constexpr uint16_t service_parse_direct</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:134</div></div>
<div class="ttc" id="anfcf_8hpp_html_a9adc4af29d0d219c1804748d6c7aef48"><div class="ttname"><a href="nfcf_8hpp.html#a9adc4af29d0d219c1804748d6c7aef48">m5::nfc::f::format_secure</a></div><div class="ttdeci">constexpr Format format_secure</div><div class="ttdoc">FeliCa Secure ID.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:53</div></div>
<div class="ttc" id="anfcf_8hpp_html_aa34539f8d3d332d33990ae18cf63ec52"><div class="ttname"><a href="nfcf_8hpp.html#aa34539f8d3d332d33990ae18cf63ec52">m5::nfc::f::service_random_read</a></div><div class="ttdeci">constexpr uint16_t service_random_read</div><div class="ttdoc">Random,Read only,No authentication required (S,LS)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:126</div></div>
<div class="ttc" id="anfcf_8hpp_html_aa521daa7bf5e75d10fa21e848654c2be"><div class="ttname"><a href="nfcf_8hpp.html#aa521daa7bf5e75d10fa21e848654c2be">m5::nfc::f::format_nfcip1</a></div><div class="ttdeci">constexpr Format format_nfcip1</div><div class="ttdoc">Support ISO/IEC18092.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:48</div></div>
<div class="ttc" id="anfcf_8hpp_html_aa85476c3807a205b8d13cb06347bb144"><div class="ttname"><a href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144">m5::nfc::f::RequestCode</a></div><div class="ttdeci">RequestCode</div><div class="ttdoc">Request code for Polling.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:97</div></div>
<div class="ttc" id="anfcf_8hpp_html_aa85476c3807a205b8d13cb06347bb144a1eeecf7b9a1ca67f7b230b65716a19d6"><div class="ttname"><a href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144a1eeecf7b9a1ca67f7b230b65716a19d6">m5::nfc::f::RequestCode::SystemCode</a></div><div class="ttdeci">@ SystemCode</div><div class="ttdoc">Request system code.</div></div>
<div class="ttc" id="anfcf_8hpp_html_aa85476c3807a205b8d13cb06347bb144a3ce9c6f141a2a97b4e9504272d3efc98"><div class="ttname"><a href="nfcf_8hpp.html#aa85476c3807a205b8d13cb06347bb144a3ce9c6f141a2a97b4e9504272d3efc98">m5::nfc::f::RequestCode::CommunicationPerformance</a></div><div class="ttdeci">@ CommunicationPerformance</div><div class="ttdoc">Request communication performance.</div></div>
<div class="ttc" id="anfcf_8hpp_html_aae6a013f27fd62f19dfdd6959ed679e9"><div class="ttname"><a href="nfcf_8hpp.html#aae6a013f27fd62f19dfdd6959ed679e9">m5::nfc::f::Format</a></div><div class="ttdeci">uint8_t Format</div><div class="ttdoc">Support ISO/IEC18092.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:47</div></div>
<div class="ttc" id="anfcf_8hpp_html_aafc54fae843e05f63e3f8ab7b3941464"><div class="ttname"><a href="nfcf_8hpp.html#aafc54fae843e05f63e3f8ab7b3941464">m5::nfc::f::system_code_ndef</a></div><div class="ttdeci">constexpr uint16_t system_code_ndef</div><div class="ttdoc">NDEF.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:86</div></div>
<div class="ttc" id="anfcf_8hpp_html_ab3f37f14f630750fae7a1015a24d158f"><div class="ttname"><a href="nfcf_8hpp.html#ab3f37f14f630750fae7a1015a24d158f">m5::nfc::f::service_cyclic_read_auth</a></div><div class="ttdeci">constexpr uint16_t service_cyclic_read_auth</div><div class="ttdoc">Cyclic,Read only,Authentication required(S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:130</div></div>
<div class="ttc" id="anfcf_8hpp_html_ab430bcb9ae317feae37a1a7f1364f544"><div class="ttname"><a href="nfcf_8hpp.html#ab430bcb9ae317feae37a1a7f1364f544">m5::nfc::f::format_ndef</a></div><div class="ttdeci">constexpr Format format_ndef</div><div class="ttdoc">Support NDEF.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:51</div></div>
<div class="ttc" id="anfcf_8hpp_html_ac244ed94137bfb4a42dc4cb9539fa00c"><div class="ttname"><a href="nfcf_8hpp.html#ac244ed94137bfb4a42dc4cb9539fa00c">m5::nfc::f::service_cyclic_read_write</a></div><div class="ttdeci">constexpr uint16_t service_cyclic_read_write</div><div class="ttdoc">Cyclic,Read/write,No athentication required(S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:129</div></div>
<div class="ttc" id="anfcf_8hpp_html_ad8380cc3ac96fab0ea0b1c22e7ef008b"><div class="ttname"><a href="nfcf_8hpp.html#ad8380cc3ac96fab0ea0b1c22e7ef008b">m5::nfc::f::system_code_felica_secure_id</a></div><div class="ttdeci">constexpr uint16_t system_code_felica_secure_id</div><div class="ttdoc">FeliCa secure ID.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:87</div></div>
<div class="ttc" id="anfcf_8hpp_html_ad932724434468d099da3f88fd3ea3131"><div class="ttname"><a href="nfcf_8hpp.html#ad932724434468d099da3f88fd3ea3131">m5::nfc::f::service_cyclic_read</a></div><div class="ttdeci">constexpr uint16_t service_cyclic_read</div><div class="ttdoc">Cyclic,Read only,No authentication required(S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:131</div></div>
<div class="ttc" id="anfcf_8hpp_html_ad9a3c4163a53990d8a994c4bd0d78908"><div class="ttname"><a href="nfcf_8hpp.html#ad9a3c4163a53990d8a994c4bd0d78908">m5::nfc::f::service_parse_decrement</a></div><div class="ttdeci">constexpr uint16_t service_parse_decrement</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:138</div></div>
<div class="ttc" id="anfcf_8hpp_html_add8594506fbb8c50eabd0c0104aee674"><div class="ttname"><a href="nfcf_8hpp.html#add8594506fbb8c50eabd0c0104aee674">m5::nfc::f::system_code_wildcard</a></div><div class="ttdeci">constexpr uint16_t system_code_wildcard</div><div class="ttdoc">Wildcard.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:85</div></div>
<div class="ttc" id="anfcf_8hpp_html_aea1e9a30d61d21a485d0f00785b030d2"><div class="ttname"><a href="nfcf_8hpp.html#aea1e9a30d61d21a485d0f00785b030d2">m5::nfc::f::NODE_SYSTEM_KEY</a></div><div class="ttdeci">constexpr uint16_t NODE_SYSTEM_KEY</div><div class="ttdoc">Retrieving the System Key Version.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:367</div></div>
<div class="ttc" id="anfcf_8hpp_html_aed3fbe9519884df27578df4e3ec7730b"><div class="ttname"><a href="nfcf_8hpp.html#aed3fbe9519884df27578df4e3ec7730b">m5::nfc::f::system_code_lite</a></div><div class="ttdeci">constexpr uint16_t system_code_lite</div><div class="ttdoc">Lite, Lite-S.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:89</div></div>
<div class="ttc" id="anfcf_8hpp_html_af6667e88bbf020556ad1d7a1492af337"><div class="ttname"><a href="nfcf_8hpp.html#af6667e88bbf020556ad1d7a1492af337">m5::nfc::f::service_parse_increment</a></div><div class="ttdeci">constexpr uint16_t service_parse_increment</div><div class="ttdoc">Random,Read/write,Authentication required (S)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:140</div></div>
<div class="ttc" id="anfcf_8hpp_html_afe6ad9f347b81b810097fd17b31af8d2"><div class="ttname"><a href="nfcf_8hpp.html#afe6ad9f347b81b810097fd17b31af8d2">m5::nfc::f::format_lite</a></div><div class="ttdeci">constexpr Format format_lite</div><div class="ttdoc">Lite or Lite-S.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:49</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html">m5::nfc::f::PICC</a></div><div class="ttdoc">PICC information for NFC-F.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:381</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a022a996aef9698d70c080d53ef53e553"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a022a996aef9698d70c080d53ef53e553">m5::nfc::f::PICC::nfcForumTagType</a></div><div class="ttdeci">NFCForumTag nfcForumTagType() const</div><div class="ttdoc">NFC ForumTag.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:446</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a19b5720e144a758fc9a26d9045fc35c2"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a19b5720e144a758fc9a26d9045fc35c2">m5::nfc::f::PICC::userAreaSize</a></div><div class="ttdeci">uint16_t userAreaSize() const</div><div class="ttdoc">Total user area size.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:403</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a19ed1943e3a20f5d160801d85e1281b0"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a19ed1943e3a20f5d160801d85e1281b0">m5::nfc::f::PICC::typeAsString</a></div><div class="ttdeci">std::string typeAsString() const</div><div class="ttdoc">Gets the type string.</div><div class="ttdef"><b>Definition</b> nfcf.cpp:333</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a246d933e11c4c723a25b97a6ed18a5b2"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a246d933e11c4c723a25b97a6ed18a5b2">m5::nfc::f::PICC::supportsNDEF</a></div><div class="ttdeci">bool supportsNDEF() const</div><div class="ttdoc">Supports NDEF?</div><div class="ttdef"><b>Definition</b> nfcf.hpp:440</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a259230acc28cc4aaf634364234eb59a6"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a259230acc28cc4aaf634364234eb59a6">m5::nfc::f::PICC::dfc_format</a></div><div class="ttdeci">uint16_t dfc_format</div><div class="ttdoc">DFC format ID:0x82[8,9] BE if format include DFC.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:394</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a38bab55d286773192148fd6d21cfb42b"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a38bab55d286773192148fd6d21cfb42b">m5::nfc::f::PICC::validEmulation</a></div><div class="ttdeci">bool validEmulation() const</div><div class="ttdoc">Valid for emulation?</div><div class="ttdef"><b>Definition</b> nfcf.cpp:317</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a3c8e889e88a8a234e71ccb9a45166a18"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a3c8e889e88a8a234e71ccb9a45166a18">m5::nfc::f::PICC::format</a></div><div class="ttdeci">Format format</div><div class="ttdoc">Format type group bits.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:392</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a3e1acb785f96fe267425388e2519b544"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a3e1acb785f96fe267425388e2519b544">m5::nfc::f::PICC::lastUserBlock</a></div><div class="ttdeci">uint16_t lastUserBlock() const</div><div class="ttdoc">Gets the last user block.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:413</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a4835868074d0ca82eade8bd58bae6d69"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a4835868074d0ca82eade8bd58bae6d69">m5::nfc::f::PICC::idm</a></div><div class="ttdeci">uint8_t idm[FELICA_ID_LENGTH]</div><div class="ttdoc">Manufacture ID.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:385</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a4997c0cf13eff03c2ad30f207d7fe77b"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a4997c0cf13eff03c2ad30f207d7fe77b">m5::nfc::f::PICC::request_code</a></div><div class="ttdeci">RequestCode request_code</div><div class="ttdoc">Tyepe of the request_data.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:390</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a6a7775e4b7939567da6e2d42f3ff877a"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a6a7775e4b7939567da6e2d42f3ff877a">m5::nfc::f::PICC::pmmAsString</a></div><div class="ttdeci">std::string pmmAsString() const</div><div class="ttdoc">Gets the PMm string.</div><div class="ttdef"><b>Definition</b> nfcf.cpp:328</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a77e3b5039aeabc5046b4d73ee2a6315f"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a77e3b5039aeabc5046b4d73ee2a6315f">m5::nfc::f::PICC::checkFormat</a></div><div class="ttdeci">bool checkFormat(const Format f) const</div><div class="ttdoc">Check format.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:435</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_a98b1fadb1fee84982f07020c3254770c"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#a98b1fadb1fee84982f07020c3254770c">m5::nfc::f::PICC::pmm</a></div><div class="ttdeci">uint8_t pmm[FELICA_ID_LENGTH]</div><div class="ttdoc">Manufacture Parameter.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:386</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ab1ca680451a84ccf5b3bda589fb03ca3"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ab1ca680451a84ccf5b3bda589fb03ca3">m5::nfc::f::PICC::maximumWriteBlocks</a></div><div class="ttdeci">uint8_t maximumWriteBlocks() const</div><div class="ttdoc">Maximum number of blocks that can be write simultaneously.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:429</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ab87ee26752ef4249f240922b6d33a93c"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ab87ee26752ef4249f240922b6d33a93c">m5::nfc::f::PICC::emulate</a></div><div class="ttdeci">bool emulate(const Type t, const uint8_t idm[FELICA_ID_LENGTH], const uint8_t pmm[FELICA_ID_LENGTH], const uint16_t sc=0)</div><div class="ttdoc">Emulation settings.</div><div class="ttdef"><b>Definition</b> nfcf.cpp:339</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ac0edd79a2abaa04fb42e8bd6d716eed2"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac0edd79a2abaa04fb42e8bd6d716eed2">m5::nfc::f::PICC::request_data</a></div><div class="ttdeci">uint16_t request_data</div><div class="ttdoc">Any request data if exists.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:389</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ac3b14091a6e255fdd111dc5058106573"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac3b14091a6e255fdd111dc5058106573">m5::nfc::f::PICC::firstUserBlock</a></div><div class="ttdeci">uint16_t firstUserBlock() const</div><div class="ttdoc">Gets the first user block.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:408</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ac61ed02400e19194b6827cb208846119"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ac61ed02400e19194b6827cb208846119">m5::nfc::f::PICC::type</a></div><div class="ttdeci">Type type</div><div class="ttdoc">PICC Type.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:391</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ad034f19064f3e2e66e13758a72e38b23"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ad034f19064f3e2e66e13758a72e38b23">m5::nfc::f::PICC::maximumReadBlocks</a></div><div class="ttdeci">uint8_t maximumReadBlocks() const</div><div class="ttdoc">Maximum number of blocks that can be read simultaneously.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:424</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ad84ac714bd3397f8cb173b7b8651ff0c"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ad84ac714bd3397f8cb173b7b8651ff0c">m5::nfc::f::PICC::isUserBlock</a></div><div class="ttdeci">bool isUserBlock(const block_t block) const</div><div class="ttdoc">Is user block?</div><div class="ttdef"><b>Definition</b> nfcf.hpp:418</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_ae9d6e0cdb4d3bdfbe96e1acd8b35d6f6"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#ae9d6e0cdb4d3bdfbe96e1acd8b35d6f6">m5::nfc::f::PICC::idmAsString</a></div><div class="ttdeci">std::string idmAsString() const</div><div class="ttdoc">Gets the IDm string.</div><div class="ttdef"><b>Definition</b> nfcf.cpp:323</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_af525e296d36658fdda374724ce5de6ef"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af525e296d36658fdda374724ce5de6ef">m5::nfc::f::PICC::emulation_sc</a></div><div class="ttdeci">uint16_t emulation_sc</div><div class="ttdoc">System code for emulation.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:395</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1_p_i_c_c_html_af69afa2b56967446faeeec15e9785f3a"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1_p_i_c_c.html#af69afa2b56967446faeeec15e9785f3a">m5::nfc::f::PICC::valid</a></div><div class="ttdeci">bool valid() const</div><div class="ttdoc">Valid for detection?</div><div class="ttdef"><b>Definition</b> nfcf.cpp:310</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1block__t_html"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1block__t.html">m5::nfc::f::block_t</a></div><div class="ttdoc">Block list element.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:147</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1block__t_html_a0a9859e92e34f031853778759ca7965a"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1block__t.html#a0a9859e92e34f031853778759ca7965a">m5::nfc::f::block_t::number</a></div><div class="ttdeci">uint16_t number</div><div class="ttdoc">block number (using low byte if 2 byte mode)</div><div class="ttdef"><b>Definition</b> nfcf.hpp:150</div></div>
<div class="ttc" id="astructm5_1_1nfc_1_1f_1_1block__t_html_a744a7f95e6dd3082d954c7014f0530f8"><div class="ttname"><a href="structm5_1_1nfc_1_1f_1_1block__t.html#a744a7f95e6dd3082d954c7014f0530f8">m5::nfc::f::block_t::header</a></div><div class="ttdeci">uint8_t header</div><div class="ttdoc">size:1 access:3 order:4</div><div class="ttdef"><b>Definition</b> nfcf.hpp:149</div></div>
<div class="ttc" id="aunionm5_1_1nfc_1_1f_1_1_r_e_g_html"><div class="ttname"><a href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html">m5::nfc::f::REG</a></div><div class="ttdoc">Subtract Register Block Data.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:488</div></div>
<div class="ttc" id="aunionm5_1_1nfc_1_1f_1_1_r_e_g_html_a18363858e069b905ea04b9de8d2c3809"><div class="ttname"><a href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a18363858e069b905ea04b9de8d2c3809">m5::nfc::f::REG::regC</a></div><div class="ttdeci">uint64_t regC() const</div><div class="ttdoc">Gets the RegC.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:513</div></div>
<div class="ttc" id="aunionm5_1_1nfc_1_1f_1_1_r_e_g_html_a29c4f22a2d7699d3b6831e872686d088"><div class="ttname"><a href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a29c4f22a2d7699d3b6831e872686d088">m5::nfc::f::REG::regC</a></div><div class="ttdeci">void regC(const uint64_t v)</div><div class="ttdoc">Set the RegC.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:536</div></div>
<div class="ttc" id="aunionm5_1_1nfc_1_1f_1_1_r_e_g_html_a3809c945b5741992b1b2b93433041119"><div class="ttname"><a href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a3809c945b5741992b1b2b93433041119">m5::nfc::f::REG::regB</a></div><div class="ttdeci">void regB(const uint32_t v)</div><div class="ttdoc">Set the RegB.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:528</div></div>
<div class="ttc" id="aunionm5_1_1nfc_1_1f_1_1_r_e_g_html_a403e0738100b0b778ebe016dc2b66743"><div class="ttname"><a href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a403e0738100b0b778ebe016dc2b66743">m5::nfc::f::REG::regA</a></div><div class="ttdeci">void regA(const uint32_t v)</div><div class="ttdoc">Set the RegA.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:520</div></div>
<div class="ttc" id="aunionm5_1_1nfc_1_1f_1_1_r_e_g_html_a65f9d61fefa9bfc6cc698fa6735c64a8"><div class="ttname"><a href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a65f9d61fefa9bfc6cc698fa6735c64a8">m5::nfc::f::REG::regA</a></div><div class="ttdeci">uint32_t regA() const</div><div class="ttdoc">Gets the RegA.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:501</div></div>
<div class="ttc" id="aunionm5_1_1nfc_1_1f_1_1_r_e_g_html_a697ea41ac2e098f30305697f8bdb828c"><div class="ttname"><a href="unionm5_1_1nfc_1_1f_1_1_r_e_g.html#a697ea41ac2e098f30305697f8bdb828c">m5::nfc::f::REG::regB</a></div><div class="ttdeci">uint32_t regB() const</div><div class="ttdoc">Gets the RegB.</div><div class="ttdef"><b>Definition</b> nfcf.hpp:507</div></div>
</div><!-- fragment --></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_fc7f8db700d2762a065a46160197a2a0.html">f</a></li><li class="navelem"><a class="el" href="nfcf_8hpp.html">nfcf.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>