]>
Commit | Line | Data |
---|---|---|
a0098eda CB |
1 | What is libtpms? |
2 | ---------------- | |
3 | ||
4 | Libtpms is a library that targets the integration of TPM functionality | |
5 | into hypervisors, primarily into Qemu. Libtpms provides a very narrow | |
6 | public API for this purpose so that integration is possible. Only the | |
7 | minimum of necessary APIs are made publicly available. | |
8 | ||
9 | It is assumed that the user of libtpms is familiar with the concepts | |
10 | of the Trusted Platform Module (TPM). For the interaction with libtpms | |
11 | it is necessary to know how to construct valid TPM commands and to | |
12 | be able to parse their results. It is not within the scope of libtpms's | |
13 | documentation to provide background on this. See the section on references | |
14 | below. | |
15 | ||
16 | ||
17 | What files does the libtpms package provide? | |
18 | -------------------------------------------- | |
19 | ||
20 | The main libtpms package provides the following files: | |
21 | ||
22 | /usr/lib64/libtpms.so.0 | |
23 | /usr/lib64/libtpms.so.0.5.1 | |
24 | /usr/share/doc/libtpms-0.5.1 | |
25 | /usr/share/doc/libtpms-0.5.1/CHANGES | |
26 | /usr/share/doc/libtpms-0.5.1/LICENSE | |
27 | /usr/share/doc/libtpms-0.5.1/README | |
28 | ||
29 | Applications can link with -ltpms. | |
30 | ||
31 | ||
32 | What files does the libtpms development package provide? | |
33 | -------------------------------------------------------- | |
34 | ||
35 | The libtpms development package (libtpms-devel) provides the following | |
36 | include files for applications to use: | |
37 | ||
38 | tpm_error.h | |
39 | tpm_library.h | |
40 | tpm_memory.h | |
41 | tpm_nvfilename.h | |
42 | tpm_tis.h | |
43 | tpm_types.h | |
44 | ||
45 | These files contain the data structures, data types and API calls supported | |
46 | by libtpms. It is recommended to not use any other API calls than those | |
47 | provided in these include files. | |
48 | ||
49 | All APIs are described in man pages. The man pages are part of the libtpms | |
50 | development package as well: | |
51 | ||
52 | TPMLIB_DecodeBlob | |
53 | TPMLIB_GetTPMProperty | |
54 | TPMLIB_GetVersion | |
55 | TPMLIB_MainInit | |
56 | TPMLIB_Process | |
57 | TPMLIB_RegisterCallbacks | |
58 | TPMLIB_Terminate | |
59 | TPMLIB_VolatileAll_Store | |
60 | TPM_Free | |
61 | TPM_IO_Hash_Data | |
62 | TPM_IO_Hash_End | |
63 | TPM_IO_Hash_Start | |
64 | TPM_IO_TpmEstablished_Get | |
65 | TPM_Malloc | |
66 | TPM_Realloc | |
67 | ||
68 | ||
a5a3e1cb CB |
69 | How to contribute? |
70 | ------------------ | |
71 | The mailing list for libtpms is libtpms@librelist.com. | |
a0098eda | 72 | |
a5a3e1cb CB |
73 | You can subscribe to the list by sending your first message to |
74 | libtpms@librelist.com. The message will be dropped from the list and you | |
75 | will receive a confirmation email to reply to. | |
a0098eda | 76 | |
a0098eda | 77 | |
a5a3e1cb CB |
78 | Maintainers |
79 | ----------- | |
80 | libtpms is currently being maintained by Stefan Berger <stefanb@us.ibm.com> | |
81 | and Corey Bryant <coreyb@linux.vnet.ibm.com>. | |
a0098eda CB |
82 | |
83 | ||
84 | References: | |
85 | ----------- | |
86 | ||
87 | Documentation about the Trusted Platform Module (TPM) can be downloaded | |
88 | from the Trusted Computing Group's website at | |
89 | ||
90 | http://www.trustedcomputinggroup.org |