1======
2TRUNKS
3======
4
5The Trunks TPM Library (TTL) is a set of types and functions used to interface
6with a Trusted Platform Module.  It is designed to be light, and does not
7comply with the TSS specification.  It is usable in firmware as well as in
8user-level code.
9
10-----------------
11TPM SPECIFICATION
12-----------------
13
14See http://www.trustedcomputinggroup.org.  This version of trunks is based on
15TPM 2.0 rev 00.99.
16
17--- Structures ---
18generator/raw_structures.txt
19generator/raw_structures_fixed.txt
20
21This file is a direct PDF scrape* of 'Part 2 - Structures'.  The '_fixed'
22version includes some manual fixes to make processing easier.
23
24--- Commands ---
25generator/raw_commands.txt
26generator/raw_commands_fixed.txt
27
28This file is a direct PDF scrape* of 'Part 3 - Commands'.  The '_fixed' version
29includes some manual fixes to make processing easier.
30
31---
32*Scraping for this version of trunks used Poppler's pdftotext utility v0.18.4.
33
34---------------
35CODE GENERATION
36---------------
37
38generator/extract_structures.sh
39
40Extracts structured information about types, constants, structures, and unions
41from spec/raw_structures_fixed.txt.  The output of this script is intended to be
42parsed by generator.py.
43
44generator/extract_commands.sh
45
46Extracts structured information about commands from spec/raw_commands_fixed.txt.
47The output of this script is intended to be parsed by generator.py.
48
49generator/generator.py
50
51Generates C++ serialization and parsing code for TPM commands.  Inputs must be
52formatted as by the extract_* scripts.
53