/src/tpm2/Marshal_StirRandom.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 "StirRandom_fp.h"  | 
9  |  |  | 
10  |  | static TPM_RC StirRandom_In_Unmarshal(StirRandom_In* target,  | 
11  |  |                                       TPM_HANDLE request_handles[],  | 
12  |  |                                       BYTE** buffer,  | 
13  | 5  |                                       INT32* size) { | 
14  | 5  |   TPM_RC result = TPM_RC_SUCCESS;  | 
15  |  |   // Unmarshal request parameters.  | 
16  | 5  |   result = TPM2B_SENSITIVE_DATA_Unmarshal(&target->inData, buffer, size);  | 
17  | 5  |   if (result != TPM_RC_SUCCESS) { | 
18  | 0  |     return result;  | 
19  | 0  |   }  | 
20  | 5  |   if ((result == TPM_RC_SUCCESS) && *size) { | 
21  | 4  |     result = TPM_RC_SIZE;  | 
22  | 4  |   }  | 
23  | 5  |   return result;  | 
24  | 5  | }  | 
25  |  |  | 
26  |  | TPM_RC Exec_StirRandom(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  | 5  |                        UINT32* response_parameter_buffer_size) { | 
32  | 5  |   TPM_RC result = TPM_RC_SUCCESS;  | 
33  | 5  |   StirRandom_In in;  | 
34  | 5  | #if IS_CC_ENABLED(StirRandom)  | 
35  | 5  |   BYTE* response_buffer;  | 
36  | 5  |   INT32 response_buffer_size;  | 
37  | 5  | #endif  | 
38  | 5  |   *response_handle_buffer_size = 0;  | 
39  | 5  |   *response_parameter_buffer_size = 0;  | 
40  |  |   // Unmarshal request parameters to input structure.  | 
41  | 5  |   result =  | 
42  | 5  |       StirRandom_In_Unmarshal(&in, request_handles, request_parameter_buffer,  | 
43  | 5  |                               request_parameter_buffer_size);  | 
44  | 5  |   if (result != TPM_RC_SUCCESS) { | 
45  | 4  |     return result;  | 
46  | 4  |   }  | 
47  |  |   // Execute command.  | 
48  | 1  |   result = TPM2_StirRandom(&in);  | 
49  | 1  |   if (result != TPM_RC_SUCCESS) { | 
50  | 0  |     return result;  | 
51  | 0  |   }  | 
52  | 1  | #if IS_CC_ENABLED(StirRandom)  | 
53  | 1  |   response_buffer = MemoryGetResponseBuffer(TPM_CC_StirRandom) + 10;  | 
54  | 1  |   response_buffer_size = MAX_RESPONSE_SIZE - 10;  | 
55  |  |   // Add parameter_size field, always equal to 0 here.  | 
56  | 1  |   if (tag == TPM_ST_SESSIONS) { | 
57  | 0  |     UINT32_Marshal(response_parameter_buffer_size, &response_buffer,  | 
58  | 0  |                    &response_buffer_size);  | 
59  | 0  |   }  | 
60  | 1  |   return TPM_RC_SUCCESS;  | 
61  | 0  | #endif  | 
62  | 0  |   return TPM_RC_COMMAND_CODE;  | 
63  | 1  | }  |