/src/tpm2/Marshal_TestParms.c
Line  | Count  | Source  | 
1  |  | // Copyright 2015 The Chromium OS Authors. All rights reserved.  | 
2  |  | // Use of this source code is governed by a BSD-style license that can be  | 
3  |  | // found in the LICENSE file.  | 
4  |  |  | 
5  |  | // THIS CODE IS GENERATED - DO NOT MODIFY!  | 
6  |  |  | 
7  |  | #include "MemoryLib_fp.h"  | 
8  |  | #include "TestParms_fp.h"  | 
9  |  |  | 
10  |  | static TPM_RC TestParms_In_Unmarshal(TestParms_In* target,  | 
11  |  |                                      TPM_HANDLE request_handles[],  | 
12  |  |                                      BYTE** buffer,  | 
13  | 1  |                                      INT32* size) { | 
14  | 1  |   TPM_RC result = TPM_RC_SUCCESS;  | 
15  |  |   // Unmarshal request parameters.  | 
16  | 1  |   result = TPMT_PUBLIC_PARMS_Unmarshal(&target->parameters, buffer, size);  | 
17  | 1  |   if (result != TPM_RC_SUCCESS) { | 
18  | 1  |     return result;  | 
19  | 1  |   }  | 
20  | 0  |   if ((result == TPM_RC_SUCCESS) && *size) { | 
21  | 0  |     result = TPM_RC_SIZE;  | 
22  | 0  |   }  | 
23  | 0  |   return result;  | 
24  | 1  | }  | 
25  |  |  | 
26  |  | TPM_RC Exec_TestParms(TPMI_ST_COMMAND_TAG tag,  | 
27  |  |                       BYTE** request_parameter_buffer,  | 
28  |  |                       INT32* request_parameter_buffer_size,  | 
29  |  |                       TPM_HANDLE request_handles[],  | 
30  |  |                       UINT32* response_handle_buffer_size,  | 
31  | 1  |                       UINT32* response_parameter_buffer_size) { | 
32  | 1  |   TPM_RC result = TPM_RC_SUCCESS;  | 
33  | 1  |   TestParms_In in;  | 
34  | 1  | #if IS_CC_ENABLED(TestParms)  | 
35  | 1  |   BYTE* response_buffer;  | 
36  | 1  |   INT32 response_buffer_size;  | 
37  | 1  | #endif  | 
38  | 1  |   *response_handle_buffer_size = 0;  | 
39  | 1  |   *response_parameter_buffer_size = 0;  | 
40  |  |   // Unmarshal request parameters to input structure.  | 
41  | 1  |   result =  | 
42  | 1  |       TestParms_In_Unmarshal(&in, request_handles, request_parameter_buffer,  | 
43  | 1  |                              request_parameter_buffer_size);  | 
44  | 1  |   if (result != TPM_RC_SUCCESS) { | 
45  | 1  |     return result;  | 
46  | 1  |   }  | 
47  |  |   // Execute command.  | 
48  | 0  |   result = TPM2_TestParms(&in);  | 
49  | 0  |   if (result != TPM_RC_SUCCESS) { | 
50  | 0  |     return result;  | 
51  | 0  |   }  | 
52  | 0  | #if IS_CC_ENABLED(TestParms)  | 
53  | 0  |   response_buffer = MemoryGetResponseBuffer(TPM_CC_TestParms) + 10;  | 
54  | 0  |   response_buffer_size = MAX_RESPONSE_SIZE - 10;  | 
55  |  |   // Add parameter_size field, always equal to 0 here.  | 
56  | 0  |   if (tag == TPM_ST_SESSIONS) { | 
57  | 0  |     UINT32_Marshal(response_parameter_buffer_size, &response_buffer,  | 
58  | 0  |                    &response_buffer_size);  | 
59  | 0  |   }  | 
60  | 0  |   return TPM_RC_SUCCESS;  | 
61  | 0  | #endif  | 
62  | 0  |   return TPM_RC_COMMAND_CODE;  | 
63  | 0  | }  |