1 | /********************************************************************************/
|
---|
2 | /* */
|
---|
3 | /* Failure Mode Handling */
|
---|
4 | /* Written by Ken Goldman */
|
---|
5 | /* IBM Thomas J. Watson Research Center */
|
---|
6 | /* $Id: TpmFail_fp.h 1490 2019-07-26 21:13:22Z kgoldman $ */
|
---|
7 | /* */
|
---|
8 | /* Licenses and Notices */
|
---|
9 | /* */
|
---|
10 | /* 1. Copyright Licenses: */
|
---|
11 | /* */
|
---|
12 | /* - Trusted Computing Group (TCG) grants to the user of the source code in */
|
---|
13 | /* this specification (the "Source Code") a worldwide, irrevocable, */
|
---|
14 | /* nonexclusive, royalty free, copyright license to reproduce, create */
|
---|
15 | /* derivative works, distribute, display and perform the Source Code and */
|
---|
16 | /* derivative works thereof, and to grant others the rights granted herein. */
|
---|
17 | /* */
|
---|
18 | /* - The TCG grants to the user of the other parts of the specification */
|
---|
19 | /* (other than the Source Code) the rights to reproduce, distribute, */
|
---|
20 | /* display, and perform the specification solely for the purpose of */
|
---|
21 | /* developing products based on such documents. */
|
---|
22 | /* */
|
---|
23 | /* 2. Source Code Distribution Conditions: */
|
---|
24 | /* */
|
---|
25 | /* - Redistributions of Source Code must retain the above copyright licenses, */
|
---|
26 | /* this list of conditions and the following disclaimers. */
|
---|
27 | /* */
|
---|
28 | /* - Redistributions in binary form must reproduce the above copyright */
|
---|
29 | /* licenses, this list of conditions and the following disclaimers in the */
|
---|
30 | /* documentation and/or other materials provided with the distribution. */
|
---|
31 | /* */
|
---|
32 | /* 3. Disclaimers: */
|
---|
33 | /* */
|
---|
34 | /* - THE COPYRIGHT LICENSES SET FORTH ABOVE DO NOT REPRESENT ANY FORM OF */
|
---|
35 | /* LICENSE OR WAIVER, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, WITH */
|
---|
36 | /* RESPECT TO PATENT RIGHTS HELD BY TCG MEMBERS (OR OTHER THIRD PARTIES) */
|
---|
37 | /* THAT MAY BE NECESSARY TO IMPLEMENT THIS SPECIFICATION OR OTHERWISE. */
|
---|
38 | /* Contact TCG Administration ([email protected]) for */
|
---|
39 | /* information on specification licensing rights available through TCG */
|
---|
40 | /* membership agreements. */
|
---|
41 | /* */
|
---|
42 | /* - THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO EXPRESS OR IMPLIED */
|
---|
43 | /* WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR */
|
---|
44 | /* FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OR */
|
---|
45 | /* NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS, OR ANY WARRANTY */
|
---|
46 | /* OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. */
|
---|
47 | /* */
|
---|
48 | /* - Without limitation, TCG and its members and licensors disclaim all */
|
---|
49 | /* liability, including liability for infringement of any proprietary */
|
---|
50 | /* rights, relating to use of information in this specification and to the */
|
---|
51 | /* implementation of this specification, and TCG disclaims all liability for */
|
---|
52 | /* cost of procurement of substitute goods or services, lost profits, loss */
|
---|
53 | /* of use, loss of data or any incidental, consequential, direct, indirect, */
|
---|
54 | /* or special damages, whether under contract, tort, warranty or otherwise, */
|
---|
55 | /* arising in any way out of use or reliance upon this specification or any */
|
---|
56 | /* information herein. */
|
---|
57 | /* */
|
---|
58 | /* (c) Copyright IBM Corp. and others, 2016 - 2019 */
|
---|
59 | /* */
|
---|
60 | /********************************************************************************/
|
---|
61 |
|
---|
62 | #ifndef TPMFAIL_FP_H
|
---|
63 | #define TPMFAIL_FP_H
|
---|
64 |
|
---|
65 | #include "BaseTypes.h"
|
---|
66 |
|
---|
67 | #if 0 /* libtpms added */
|
---|
68 | LIB_EXPORT void
|
---|
69 | SetForceFailureMode(
|
---|
70 | void
|
---|
71 | );
|
---|
72 | #endif /* libtpms added */
|
---|
73 | void
|
---|
74 | TpmLogFailure(
|
---|
75 | #if FAIL_TRACE
|
---|
76 | const char *function,
|
---|
77 | int line,
|
---|
78 | #endif
|
---|
79 | int code
|
---|
80 | );
|
---|
81 | NORETURN void
|
---|
82 | TpmFail(
|
---|
83 | #if FAIL_TRACE /* libtpms added begin */
|
---|
84 | const char *function,
|
---|
85 | int line,
|
---|
86 | #endif
|
---|
87 | int code
|
---|
88 | );
|
---|
89 | void
|
---|
90 | TpmSetFailureMode(
|
---|
91 | #if FAIL_TRACE /* libtpms added end */
|
---|
92 | const char *function,
|
---|
93 | int line,
|
---|
94 | #endif
|
---|
95 | int code
|
---|
96 | );
|
---|
97 | void
|
---|
98 | TpmFailureMode(
|
---|
99 | unsigned int inRequestSize, // IN: command buffer size
|
---|
100 | unsigned char *inRequest, // IN: command buffer
|
---|
101 | unsigned int *outResponseSize, // OUT: response buffer size
|
---|
102 | unsigned char **outResponse // OUT: response buffer
|
---|
103 | );
|
---|
104 | #if 0 /* libtpms added */
|
---|
105 | void
|
---|
106 | UnmarshalFail(
|
---|
107 | void *type,
|
---|
108 | BYTE **buffer,
|
---|
109 | INT32 *size
|
---|
110 | );
|
---|
111 | #endif /* libtpms added */
|
---|
112 |
|
---|
113 |
|
---|
114 | #endif
|
---|