<!--

 Copyright 2015 The Chromium OS Authors. All rights reserved. Use of this
 source code is governed by a BSD-style license that can be found in the
 LICENSE file.

This file contains HTML code which defines a few TPM objects following the
format of the HTML files generated by pdf=>html converting of TCG TPM2 library
specification.
-->

<html>
<head></head>
<body>
Some arbitrary text
<a name="bookmark273"> Table 1 Definition of Types for ints</a>
<table>
<tr><td> Type </td><td> Name </td><td> Description </td></tr>
<tr><td> uint16_t </td><td> UINT16 </td><td> </td></tr>
</table>
<p>more arbitrary text
<a name="bookmark219">Table 2 Definition of (base_type) TPMA_LOCALITY Bits
</a>
<table>
<tr><td> Bit </td><td> Name </td> <td> Definition </td></tr>
<tr><td> 3:0  </td><td> TPM_LOC_ZERO </td><td></td></tr>
<tr><td> 7:4  </td><td> Reserved </td><td></td></tr>
<tr><td> 8 </td><td> TPM_LOC_ONE </td><td></td></tr>
<tr><td> 9  </td><td> Reserved </td><td></td></tr>
<tr><td> 10 </td><td> TPM_LOC_TWO </td><td></td></tr>
</table>
<p>more arbitrary text
<a name="bookmark219">
</a>
<a name=bookmark99>Table 3 Definition of (base_type) const_type Constants  </a>
<table>
<tr><td> Name </td> <td> Value </td><td> Comments </td></tr>
<tr><td> const_name </td><td> 0x322E3000 </td><td> terrminator </td></tr>
<tr><td> TPM_SPEC_LEVEL </td><td> 00 </td> <td> the level number </td> </tr>
<tr><td> #return_name </td><td> </td> <td>  </td></tr>
</table>
<p>more arbitrary text
<a name=bookmark274>Table 4 Definition of (base_type) TPMI_DH_OBJECT Type</a>
<table>
<tr><td> Values </td> <td> Comments </td> </tr>
<tr><td> const_name </td><td> one of valid values </td> </tr>
<tr><td> {min_name:max_name} </td><td> allowed range </td> </tr>
<tr><td> {PERSISTENT_FIRST:PERSISTENT_LAST}</td><td> allowed range </td> </tr>
<tr><td> +null_name </td> <td> the conditional value </td> </tr>
<tr><td> #return_name </td><td> </td></tr>
</table>
<p>more arbitrary text
<a name=bookmark274>Table 5 Definition of struct_type Structure <OUT>
<table>
<tr><td> Values </td> <td> Comments </td> </tr>
<tr><td> field1 </td><td> UINT16 </td> </tr>
<tr><td> field2 </td><td> UINT16 </td> </tr>
<tr><td> field3[field1]{min:max} </td><td> UINT16 </td> </tr>
<tr><td> [field2]field4 </td><td> UINT16 </td> </tr>
<tr><td> field5= </td><td> interface_type </td> </tr>
</table>
<p>more arbitrary text
<a name=bookmark781>Table 6 Definition of union_type Union</a>
<table>
<tr><td> Parameter </td><td> Type </td><td> Selector </td><td> Description </td></tr>
<tr><td> field1 </td><td> field1_type </td><td> field1_selector </td><td> a prime factor of the public key </td> </tr>
<tr><td> field2 </td><td> field2_type </td><td> field2_selector </td><td> the integer private key </td> </tr>
</table>
<p>more arbitrary text
</body>
