-
Notifications
You must be signed in to change notification settings - Fork 0
/
application__manifest_8h_source.html
137 lines (135 loc) · 12.9 KB
/
application__manifest_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!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">
<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.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FlipperZero Firmware: lib/flipper_application/application_manifest.h 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>
<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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">FlipperZero Firmware
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_9f6cac5d090df510bc8faf6aa13c2078.html">flipper_application</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">application_manifest.h</div></div>
</div><!--header-->
<div class="contents">
<a href="application__manifest_8h.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> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include <stdint.h></span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include <stdbool.h></span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include "elf/elf_api_interface.h"</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#define FAP_MANIFEST_MAGIC 0x52474448</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#define FAP_MANIFEST_SUPPORTED_VERSION 1</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="preprocessor">#define FAP_MANIFEST_MAX_APP_NAME_LENGTH 32</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#define FAP_MANIFEST_MAX_ICON_SIZE 32 </span><span class="comment">// TODO: reduce size?</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#pragma pack(push, 1)</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="struct_flipper_application_manifest_base.html"> 23</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> uint32_t manifest_magic;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> uint32_t manifest_version;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> uint16_t minor;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> uint16_t major;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> };</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> uint32_t version;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> } api_version;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> uint16_t hardware_target_id;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span>} <a class="code hl_struct" href="struct_flipper_application_manifest_base.html">FlipperApplicationManifestBase</a>;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="struct_flipper_application_manifest_v1.html"> 36</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_struct" href="struct_flipper_application_manifest_base.html">FlipperApplicationManifestBase</a> base;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> uint16_t stack_size;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> uint32_t app_version;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">char</span> name[FAP_MANIFEST_MAX_APP_NAME_LENGTH];</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">char</span> has_icon;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">char</span> icon[FAP_MANIFEST_MAX_ICON_SIZE];</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>} <a class="code hl_struct" href="struct_flipper_application_manifest_v1.html">FlipperApplicationManifestV1</a>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keyword">typedef</span> <a class="code hl_struct" href="struct_flipper_application_manifest_v1.html">FlipperApplicationManifestV1</a> <a class="code hl_struct" href="struct_flipper_application_manifest_v1.html">FlipperApplicationManifest</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor">#pragma pack(pop)</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keywordtype">bool</span> <a class="code hl_function" href="application__manifest_8h.html#afd3c626927a1fc08df48f8e1a7f8fcb9">flipper_application_manifest_is_valid</a>(<span class="keyword">const</span> <a class="code hl_struct" href="struct_flipper_application_manifest_v1.html">FlipperApplicationManifest</a>* manifest);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="keywordtype">bool</span> <a class="code hl_function" href="application__manifest_8h.html#a036e6a6865c780c14280439c50a987ef">flipper_application_manifest_is_compatible</a>(</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">const</span> <a class="code hl_struct" href="struct_flipper_application_manifest_v1.html">FlipperApplicationManifest</a>* manifest,</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <a class="code hl_struct" href="struct_elf_api_interface.html">ElfApiInterface</a>* api_interface);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>}</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aapplication__manifest_8h_html_a036e6a6865c780c14280439c50a987ef"><div class="ttname"><a href="application__manifest_8h.html#a036e6a6865c780c14280439c50a987ef">flipper_application_manifest_is_compatible</a></div><div class="ttdeci">bool flipper_application_manifest_is_compatible(const FlipperApplicationManifest *manifest, const ElfApiInterface *api_interface)</div><div class="ttdoc">Check if manifest is compatible with current ELF API interface.</div><div class="ttdef"><b>Definition:</b> application_manifest.c:12</div></div>
<div class="ttc" id="aapplication__manifest_8h_html_afd3c626927a1fc08df48f8e1a7f8fcb9"><div class="ttname"><a href="application__manifest_8h.html#afd3c626927a1fc08df48f8e1a7f8fcb9">flipper_application_manifest_is_valid</a></div><div class="ttdeci">bool flipper_application_manifest_is_valid(const FlipperApplicationManifest *manifest)</div><div class="ttdoc">Check if manifest is valid.</div><div class="ttdef"><b>Definition:</b> application_manifest.c:3</div></div>
<div class="ttc" id="astruct_elf_api_interface_html"><div class="ttname"><a href="struct_elf_api_interface.html">ElfApiInterface</a></div><div class="ttdef"><b>Definition:</b> elf_api_interface.h:8</div></div>
<div class="ttc" id="astruct_flipper_application_manifest_base_html"><div class="ttname"><a href="struct_flipper_application_manifest_base.html">FlipperApplicationManifestBase</a></div><div class="ttdef"><b>Definition:</b> application_manifest.h:23</div></div>
<div class="ttc" id="astruct_flipper_application_manifest_v1_html"><div class="ttname"><a href="struct_flipper_application_manifest_v1.html">FlipperApplicationManifestV1</a></div><div class="ttdef"><b>Definition:</b> application_manifest.h:36</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
</small></address>
</body>
</html>