Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > e6ecaac536a8aa0be6d711d3b7a26b69 > files > 74

libmtp-doc-1.1.16-1.1.mga6.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libmtp: /home/iurt/rpmbuild/BUILD/libmtp-1.1.16/src/mtpz.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<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">libmtp
   &#160;<span id="projectnumber">1.1.16</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">mtpz.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;config.h&quot;</code><br />
<code>#include &quot;<a class="el" href="libmtp_8h_source.html">libmtp.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="unicode_8h_source.html">unicode.h</a>&quot;</code><br />
<code>#include &quot;ptp.h&quot;</code><br />
<code>#include &quot;<a class="el" href="libusb-glue_8h_source.html">libusb-glue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="device-flags_8h_source.html">device-flags.h</a>&quot;</code><br />
<code>#include &quot;playlist-spl.h&quot;</code><br />
<code>#include &quot;util.h&quot;</code><br />
<code>#include &quot;<a class="el" href="mtpz_8h_source.html">mtpz.h</a>&quot;</code><br />
<code>#include &lt;gcrypt.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;unistd.h&gt;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &lt;sys/types.h&gt;</code><br />
<code>#include &lt;sys/stat.h&gt;</code><br />
<code>#include &lt;time.h&gt;</code><br />
<code>#include &lt;errno.h&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmtpz__rsa__struct.html">mtpz_rsa_struct</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:afee507e72ab9bfd545b74e4a1ff2223d"><td class="memItemLeft" align="right" valign="top"><a id="afee507e72ab9bfd545b74e4a1ff2223d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MTPZ_HASHSTATE_84</b>&#160;&#160;&#160;5</td></tr>
<tr class="separator:afee507e72ab9bfd545b74e4a1ff2223d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c0438326810e0183b8c1cb36df55f42"><td class="memItemLeft" align="right" valign="top"><a id="a1c0438326810e0183b8c1cb36df55f42"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MTPZ_HASHSTATE_88</b>&#160;&#160;&#160;6</td></tr>
<tr class="separator:a1c0438326810e0183b8c1cb36df55f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eab8d16d5b9632677a70f083463c37b"><td class="memItemLeft" align="right" valign="top"><a id="a2eab8d16d5b9632677a70f083463c37b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MTPZ_ENCRYPTIONLOBYTE</b>(val)&#160;&#160;&#160;(((val) &gt;&gt; 24) &amp; 0xFF)</td></tr>
<tr class="separator:a2eab8d16d5b9632677a70f083463c37b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5bbcb87aff18734b41ab01b8666b48f"><td class="memItemLeft" align="right" valign="top"><a id="ad5bbcb87aff18734b41ab01b8666b48f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MTPZ_ENCRYPTIONBYTE1</b>(val)&#160;&#160;&#160;(((val) &gt;&gt; 16) &amp; 0xFF)</td></tr>
<tr class="separator:ad5bbcb87aff18734b41ab01b8666b48f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89f877a53b00b79997bed510036595f3"><td class="memItemLeft" align="right" valign="top"><a id="a89f877a53b00b79997bed510036595f3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MTPZ_ENCRYPTIONBYTE2</b>(val)&#160;&#160;&#160;(((val) &gt;&gt;  8) &amp; 0xFF)</td></tr>
<tr class="separator:a89f877a53b00b79997bed510036595f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e18dcb08a50c1119ffcf8f448317d4"><td class="memItemLeft" align="right" valign="top"><a id="af8e18dcb08a50c1119ffcf8f448317d4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MTPZ_ENCRYPTIONBYTE3</b>(val)&#160;&#160;&#160;(((val) &gt;&gt;  0) &amp; 0xFF)</td></tr>
<tr class="separator:af8e18dcb08a50c1119ffcf8f448317d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5f332e069dd337faa20cd75bcd87dc4"><td class="memItemLeft" align="right" valign="top"><a id="aa5f332e069dd337faa20cd75bcd87dc4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MTPZ_SWAP</b>(x)&#160;&#160;&#160;mtpz_bswap32(x)</td></tr>
<tr class="separator:aa5f332e069dd337faa20cd75bcd87dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a5b16230d4ec14b4aa0ffe325a343ef42"><td class="memItemLeft" align="right" valign="top"><a id="a5b16230d4ec14b4aa0ffe325a343ef42"></a>
typedef struct <a class="el" href="structmtpz__rsa__struct.html">mtpz_rsa_struct</a>&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_rsa_t</b></td></tr>
<tr class="separator:a5b16230d4ec14b4aa0ffe325a343ef42"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad7230f5b41e3db4954aa5fd0a381d3dd"><td class="memItemLeft" align="right" valign="top"><a id="ad7230f5b41e3db4954aa5fd0a381d3dd"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_loaddata</b> ()</td></tr>
<tr class="separator:ad7230f5b41e3db4954aa5fd0a381d3dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ec64d4c2ebcedace2ae858e12f5e345"><td class="memItemLeft" align="right" valign="top"><a id="a5ec64d4c2ebcedace2ae858e12f5e345"></a>
<a class="el" href="structmtpz__rsa__struct.html">mtpz_rsa_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_rsa_init</b> (const unsigned char *modulus, const unsigned char *priv_key, const unsigned char *pub_exp)</td></tr>
<tr class="separator:a5ec64d4c2ebcedace2ae858e12f5e345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83c3ecf6b1c0b5ec2f7c03e9e2bdb9b3"><td class="memItemLeft" align="right" valign="top"><a id="a83c3ecf6b1c0b5ec2f7c03e9e2bdb9b3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_rsa_free</b> (<a class="el" href="structmtpz__rsa__struct.html">mtpz_rsa_t</a> *)</td></tr>
<tr class="separator:a83c3ecf6b1c0b5ec2f7c03e9e2bdb9b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ba7183dae89efa4ba642d64ac1a0318"><td class="memItemLeft" align="right" valign="top"><a id="a5ba7183dae89efa4ba642d64ac1a0318"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_rsa_decrypt</b> (int flen, unsigned char *from, int tlen, unsigned char *to, <a class="el" href="structmtpz__rsa__struct.html">mtpz_rsa_t</a> *rsa)</td></tr>
<tr class="separator:a5ba7183dae89efa4ba642d64ac1a0318"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e1b93208379e4d802a0c7ec41e53c28"><td class="memItemLeft" align="right" valign="top"><a id="a5e1b93208379e4d802a0c7ec41e53c28"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_rsa_sign</b> (int flen, unsigned char *from, int tlen, unsigned char *to, <a class="el" href="structmtpz__rsa__struct.html">mtpz_rsa_t</a> *rsa)</td></tr>
<tr class="separator:a5e1b93208379e4d802a0c7ec41e53c28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ebe72599121a2800ac407e3ab8d13f4"><td class="memItemLeft" align="right" valign="top"><a id="a6ebe72599121a2800ac407e3ab8d13f4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_cipher</b> (unsigned char *data, unsigned int len, char encrypt)</td></tr>
<tr class="separator:a6ebe72599121a2800ac407e3ab8d13f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79b1ad2675ff423c58034b9a7801518b"><td class="memItemLeft" align="right" valign="top"><a id="a79b1ad2675ff423c58034b9a7801518b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_cipher_advanced</b> (unsigned char *key, unsigned int key_len, unsigned char *data, unsigned int data_len, char encrypt)</td></tr>
<tr class="separator:a79b1ad2675ff423c58034b9a7801518b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f5f2df8ad07b8860c161f36ed72aa30"><td class="memItemLeft" align="right" valign="top"><a id="a2f5f2df8ad07b8860c161f36ed72aa30"></a>
unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_expand_key</b> (unsigned char *constant, int key_len, int count, int *out_len)</td></tr>
<tr class="separator:a2f5f2df8ad07b8860c161f36ed72aa30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb4627471a88b78f08fba1d064fb9e26"><td class="memItemLeft" align="right" valign="top"><a id="adb4627471a88b78f08fba1d064fb9e26"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_expand_key_inner</b> (unsigned char *constant, int key_len, unsigned char **out, int *out_len)</td></tr>
<tr class="separator:adb4627471a88b78f08fba1d064fb9e26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7fad3b35fda89d2a319ee880ecc38bd"><td class="memItemLeft" align="right" valign="top"><a id="ad7fad3b35fda89d2a319ee880ecc38bd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_inv_mix_columns</b> (unsigned char *expanded, int offset, int rounds)</td></tr>
<tr class="separator:ad7fad3b35fda89d2a319ee880ecc38bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85fa1e0a6fd5c6913129e835213d8738"><td class="memItemLeft" align="right" valign="top"><a id="a85fa1e0a6fd5c6913129e835213d8738"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_decrypt_custom</b> (unsigned char *data, unsigned char *seed, unsigned char *expanded)</td></tr>
<tr class="separator:a85fa1e0a6fd5c6913129e835213d8738"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8086f0c81c2f9709d33ad88f95bf201e"><td class="memItemLeft" align="right" valign="top"><a id="a8086f0c81c2f9709d33ad88f95bf201e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_encrypt_custom</b> (unsigned char *data, unsigned char *seed, unsigned char *expanded)</td></tr>
<tr class="separator:a8086f0c81c2f9709d33ad88f95bf201e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe4cdd585135d692b9b338c9fb4bbe0e"><td class="memItemLeft" align="right" valign="top"><a id="abe4cdd585135d692b9b338c9fb4bbe0e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_encryption_encrypt_mac</b> (unsigned char *hash, unsigned int hash_length, unsigned char *seed, unsigned int seed_len, unsigned char *out)</td></tr>
<tr class="separator:abe4cdd585135d692b9b338c9fb4bbe0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cc8a4933727138c7b22866a4984583a"><td class="memItemLeft" align="right" valign="top"><a id="a9cc8a4933727138c7b22866a4984583a"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>ptp_mtpz_handshake</b> (<a class="el" href="struct__PTPParams.html">PTPParams</a> *params)</td></tr>
<tr class="separator:a9cc8a4933727138c7b22866a4984583a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a52bafa6475fe1ccdcdea9745e2550609"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_rcon</b> []</td></tr>
<tr class="separator:a52bafa6475fe1ccdcdea9745e2550609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af82da05a2a54ba429cc5eb045b340e80"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_sbox</b> []</td></tr>
<tr class="separator:af82da05a2a54ba429cc5eb045b340e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade2d837d6d44c85cc3eab7342e177fd1"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_invsbox</b> []</td></tr>
<tr class="separator:ade2d837d6d44c85cc3eab7342e177fd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08834b7003cd7c814fedc79ea1d9b3e0"><td class="memItemLeft" align="right" valign="top"><a id="a08834b7003cd7c814fedc79ea1d9b3e0"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_ft1</b> []</td></tr>
<tr class="separator:a08834b7003cd7c814fedc79ea1d9b3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d8c2b47eac0417bc0aeda11b8aa694a"><td class="memItemLeft" align="right" valign="top"><a id="a4d8c2b47eac0417bc0aeda11b8aa694a"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_ft2</b> []</td></tr>
<tr class="separator:a4d8c2b47eac0417bc0aeda11b8aa694a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab01cc7d1e793c52dcc87de5c04e3c483"><td class="memItemLeft" align="right" valign="top"><a id="ab01cc7d1e793c52dcc87de5c04e3c483"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_ft3</b> []</td></tr>
<tr class="separator:ab01cc7d1e793c52dcc87de5c04e3c483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf01a8b183cab899106d017251fe95ce"><td class="memItemLeft" align="right" valign="top"><a id="aaf01a8b183cab899106d017251fe95ce"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_ft4</b> []</td></tr>
<tr class="separator:aaf01a8b183cab899106d017251fe95ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98bda0ce2242719fdb8321199180e47d"><td class="memItemLeft" align="right" valign="top"><a id="a98bda0ce2242719fdb8321199180e47d"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_rt1</b> []</td></tr>
<tr class="separator:a98bda0ce2242719fdb8321199180e47d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1828e8ee7eeb7c11429de5dc649e1c81"><td class="memItemLeft" align="right" valign="top"><a id="a1828e8ee7eeb7c11429de5dc649e1c81"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_rt2</b> []</td></tr>
<tr class="separator:a1828e8ee7eeb7c11429de5dc649e1c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac773c005d0a039d413c02bed4c19775c"><td class="memItemLeft" align="right" valign="top"><a id="ac773c005d0a039d413c02bed4c19775c"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_rt3</b> []</td></tr>
<tr class="separator:ac773c005d0a039d413c02bed4c19775c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad572b3373a4b4208ab77917121539fc8"><td class="memItemLeft" align="right" valign="top"><a id="ad572b3373a4b4208ab77917121539fc8"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_rt4</b> []</td></tr>
<tr class="separator:ad572b3373a4b4208ab77917121539fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e98366baf8d42def1f58f76563836b5"><td class="memItemLeft" align="right" valign="top"><a id="a1e98366baf8d42def1f58f76563836b5"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_gb11</b> []</td></tr>
<tr class="separator:a1e98366baf8d42def1f58f76563836b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc6c6a6687f1e6ef99c94ca800e6929f"><td class="memItemLeft" align="right" valign="top"><a id="acc6c6a6687f1e6ef99c94ca800e6929f"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_gb14</b> []</td></tr>
<tr class="separator:acc6c6a6687f1e6ef99c94ca800e6929f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfa4e137697b19d2e1bf13d541394893"><td class="memItemLeft" align="right" valign="top"><a id="abfa4e137697b19d2e1bf13d541394893"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_gb13</b> []</td></tr>
<tr class="separator:abfa4e137697b19d2e1bf13d541394893"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08218d2bb59bef5d5025b41ad27062c2"><td class="memItemLeft" align="right" valign="top"><a id="a08218d2bb59bef5d5025b41ad27062c2"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>mtpz_aes_gb9</b> []</td></tr>
<tr class="separator:a08218d2bb59bef5d5025b41ad27062c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Copyright (C) 2011-2012 Sajid Anwar <a href="#" onclick="location.href='mai'+'lto:'+'saj'+'id'+'anw'+'ar'+'94@'+'gm'+'ail'+'.c'+'om'; return false;">sajid<span style="display: none;">.nosp@m.</span>anwa<span style="display: none;">.nosp@m.</span>r94@g<span style="display: none;">.nosp@m.</span>mail<span style="display: none;">.nosp@m.</span>.com</a></p>
<p>This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
<p>This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p>
<p>You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</p>
<p>This file provides mtp zune cryptographic setup interfaces. It is also used with Windows Phone 7, but Microsoft/Nokiad seem to have discontinued MTPZ on Windows Phone 8.</p>
<p>DISCLAIMER:</p>
<p>The intention of this implementation is for users to be able to interoperate with their devices, i.e. copy music to them in operating systems other than Microsoft Windows, so it can be played back on the device. We do not provide encryption keys and constants in libmtp, we never will. You have to have these on file in your home directory in $HOME/.mtpz-data, and we suggest that you talk to Microsoft about providing the proper numbers if you want to use this facility. </p>
</div><h2 class="groupheader">Variable Documentation</h2>
<a id="ade2d837d6d44c85cc3eab7342e177fd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade2d837d6d44c85cc3eab7342e177fd1">&#9670;&nbsp;</a></span>mtpz_aes_invsbox</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char mtpz_aes_invsbox</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line">        0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38,  0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,</div><div class="line">        0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87,  0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,</div><div class="line">        0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D,  0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,</div><div class="line">        0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2,  0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25,</div><div class="line">        0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16,  0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92,</div><div class="line">        0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA,  0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84,</div><div class="line">        0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A,  0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06,</div><div class="line">        0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02,  0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B,</div><div class="line">        0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA,  0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73,</div><div class="line">        0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85,  0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E,</div><div class="line">        0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89,  0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B,</div><div class="line">        0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20,  0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4,</div><div class="line">        0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31,  0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F,</div><div class="line">        0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D,  0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,</div><div class="line">        0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0,  0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,</div><div class="line">        0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26,  0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D</div><div class="line">}</div></div><!-- fragment -->
</div>
</div>
<a id="a52bafa6475fe1ccdcdea9745e2550609"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52bafa6475fe1ccdcdea9745e2550609">&#9670;&nbsp;</a></span>mtpz_aes_rcon</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char mtpz_aes_rcon</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line">        0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a</div><div class="line">}</div></div><!-- fragment -->
</div>
</div>
<a id="af82da05a2a54ba429cc5eb045b340e80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af82da05a2a54ba429cc5eb045b340e80">&#9670;&nbsp;</a></span>mtpz_aes_sbox</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char mtpz_aes_sbox</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line">        0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01,</div><div class="line">        0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d,</div><div class="line">        0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4,</div><div class="line">        0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,</div><div class="line">        0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7,</div><div class="line">        0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2,</div><div class="line">        0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e,</div><div class="line">        0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,</div><div class="line">        0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb,</div><div class="line">        0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb,</div><div class="line">        0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c,</div><div class="line">        0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,</div><div class="line">        0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c,</div><div class="line">        0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d,</div><div class="line">        0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a,</div><div class="line">        0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,</div><div class="line">        0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3,</div><div class="line">        0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d,</div><div class="line">        0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a,</div><div class="line">        0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,</div><div class="line">        0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e,</div><div class="line">        0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9,</div><div class="line">        0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9,</div><div class="line">        0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,</div><div class="line">        0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99,</div><div class="line">        0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16</div><div class="line">}</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>