1*5c591343SA. Cody Schuffelen /* Microsoft Reference Implementation for TPM 2.0 2*5c591343SA. Cody Schuffelen * 3*5c591343SA. Cody Schuffelen * The copyright in this software is being made available under the BSD License, 4*5c591343SA. Cody Schuffelen * included below. This software may be subject to other third party and 5*5c591343SA. Cody Schuffelen * contributor rights, including patent rights, and no such rights are granted 6*5c591343SA. Cody Schuffelen * under this license. 7*5c591343SA. Cody Schuffelen * 8*5c591343SA. Cody Schuffelen * Copyright (c) Microsoft Corporation 9*5c591343SA. Cody Schuffelen * 10*5c591343SA. Cody Schuffelen * All rights reserved. 11*5c591343SA. Cody Schuffelen * 12*5c591343SA. Cody Schuffelen * BSD License 13*5c591343SA. Cody Schuffelen * 14*5c591343SA. Cody Schuffelen * Redistribution and use in source and binary forms, with or without modification, 15*5c591343SA. Cody Schuffelen * are permitted provided that the following conditions are met: 16*5c591343SA. Cody Schuffelen * 17*5c591343SA. Cody Schuffelen * Redistributions of source code must retain the above copyright notice, this list 18*5c591343SA. Cody Schuffelen * of conditions and the following disclaimer. 19*5c591343SA. Cody Schuffelen * 20*5c591343SA. Cody Schuffelen * Redistributions in binary form must reproduce the above copyright notice, this 21*5c591343SA. Cody Schuffelen * list of conditions and the following disclaimer in the documentation and/or 22*5c591343SA. Cody Schuffelen * other materials provided with the distribution. 23*5c591343SA. Cody Schuffelen * 24*5c591343SA. Cody Schuffelen * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" 25*5c591343SA. Cody Schuffelen * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26*5c591343SA. Cody Schuffelen * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27*5c591343SA. Cody Schuffelen * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 28*5c591343SA. Cody Schuffelen * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 29*5c591343SA. Cody Schuffelen * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 30*5c591343SA. Cody Schuffelen * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 31*5c591343SA. Cody Schuffelen * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32*5c591343SA. Cody Schuffelen * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33*5c591343SA. Cody Schuffelen * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34*5c591343SA. Cody Schuffelen */ 35*5c591343SA. Cody Schuffelen /*(Auto-generated) 36*5c591343SA. Cody Schuffelen * Created by TpmDispatch; Version 4.0 July 8,2017 37*5c591343SA. Cody Schuffelen * Date: Feb 28, 2020 Time: 03:04:48PM 38*5c591343SA. Cody Schuffelen */ 39*5c591343SA. Cody Schuffelen 40*5c591343SA. Cody Schuffelen #if CC_Startup 41*5c591343SA. Cody Schuffelen case TPM_CC_Startup: 42*5c591343SA. Cody Schuffelen break; 43*5c591343SA. Cody Schuffelen #endif // CC_Startup 44*5c591343SA. Cody Schuffelen #if CC_Shutdown 45*5c591343SA. Cody Schuffelen case TPM_CC_Shutdown: 46*5c591343SA. Cody Schuffelen break; 47*5c591343SA. Cody Schuffelen #endif // CC_Shutdown 48*5c591343SA. Cody Schuffelen #if CC_SelfTest 49*5c591343SA. Cody Schuffelen case TPM_CC_SelfTest: 50*5c591343SA. Cody Schuffelen break; 51*5c591343SA. Cody Schuffelen #endif // CC_SelfTest 52*5c591343SA. Cody Schuffelen #if CC_IncrementalSelfTest 53*5c591343SA. Cody Schuffelen case TPM_CC_IncrementalSelfTest: 54*5c591343SA. Cody Schuffelen break; 55*5c591343SA. Cody Schuffelen #endif // CC_IncrementalSelfTest 56*5c591343SA. Cody Schuffelen #if CC_GetTestResult 57*5c591343SA. Cody Schuffelen case TPM_CC_GetTestResult: 58*5c591343SA. Cody Schuffelen break; 59*5c591343SA. Cody Schuffelen #endif // CC_GetTestResult 60*5c591343SA. Cody Schuffelen #if CC_StartAuthSession 61*5c591343SA. Cody Schuffelen case TPM_CC_StartAuthSession: 62*5c591343SA. Cody Schuffelen *handleCount = 2; 63*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 64*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 65*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 66*5c591343SA. Cody Schuffelen result = TPMI_DH_ENTITY_Unmarshal(&handles[1], handleBufferStart, 67*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 68*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 69*5c591343SA. Cody Schuffelen break; 70*5c591343SA. Cody Schuffelen #endif // CC_StartAuthSession 71*5c591343SA. Cody Schuffelen #if CC_PolicyRestart 72*5c591343SA. Cody Schuffelen case TPM_CC_PolicyRestart: 73*5c591343SA. Cody Schuffelen *handleCount = 1; 74*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 75*5c591343SA. Cody Schuffelen bufferRemainingSize); 76*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 77*5c591343SA. Cody Schuffelen break; 78*5c591343SA. Cody Schuffelen #endif // CC_PolicyRestart 79*5c591343SA. Cody Schuffelen #if CC_Create 80*5c591343SA. Cody Schuffelen case TPM_CC_Create: 81*5c591343SA. Cody Schuffelen *handleCount = 1; 82*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 83*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 84*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 85*5c591343SA. Cody Schuffelen break; 86*5c591343SA. Cody Schuffelen #endif // CC_Create 87*5c591343SA. Cody Schuffelen #if CC_Load 88*5c591343SA. Cody Schuffelen case TPM_CC_Load: 89*5c591343SA. Cody Schuffelen *handleCount = 1; 90*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 91*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 92*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 93*5c591343SA. Cody Schuffelen break; 94*5c591343SA. Cody Schuffelen #endif // CC_Load 95*5c591343SA. Cody Schuffelen #if CC_LoadExternal 96*5c591343SA. Cody Schuffelen case TPM_CC_LoadExternal: 97*5c591343SA. Cody Schuffelen break; 98*5c591343SA. Cody Schuffelen #endif // CC_LoadExternal 99*5c591343SA. Cody Schuffelen #if CC_ReadPublic 100*5c591343SA. Cody Schuffelen case TPM_CC_ReadPublic: 101*5c591343SA. Cody Schuffelen *handleCount = 1; 102*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 103*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 104*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 105*5c591343SA. Cody Schuffelen break; 106*5c591343SA. Cody Schuffelen #endif // CC_ReadPublic 107*5c591343SA. Cody Schuffelen #if CC_ActivateCredential 108*5c591343SA. Cody Schuffelen case TPM_CC_ActivateCredential: 109*5c591343SA. Cody Schuffelen *handleCount = 2; 110*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 111*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 112*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 113*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 114*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 115*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 116*5c591343SA. Cody Schuffelen break; 117*5c591343SA. Cody Schuffelen #endif // CC_ActivateCredential 118*5c591343SA. Cody Schuffelen #if CC_MakeCredential 119*5c591343SA. Cody Schuffelen case TPM_CC_MakeCredential: 120*5c591343SA. Cody Schuffelen *handleCount = 1; 121*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 122*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 123*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 124*5c591343SA. Cody Schuffelen break; 125*5c591343SA. Cody Schuffelen #endif // CC_MakeCredential 126*5c591343SA. Cody Schuffelen #if CC_Unseal 127*5c591343SA. Cody Schuffelen case TPM_CC_Unseal: 128*5c591343SA. Cody Schuffelen *handleCount = 1; 129*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 130*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 131*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 132*5c591343SA. Cody Schuffelen break; 133*5c591343SA. Cody Schuffelen #endif // CC_Unseal 134*5c591343SA. Cody Schuffelen #if CC_ObjectChangeAuth 135*5c591343SA. Cody Schuffelen case TPM_CC_ObjectChangeAuth: 136*5c591343SA. Cody Schuffelen *handleCount = 2; 137*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 138*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 139*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 140*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 141*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 142*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 143*5c591343SA. Cody Schuffelen break; 144*5c591343SA. Cody Schuffelen #endif // CC_ObjectChangeAuth 145*5c591343SA. Cody Schuffelen #if CC_CreateLoaded 146*5c591343SA. Cody Schuffelen case TPM_CC_CreateLoaded: 147*5c591343SA. Cody Schuffelen *handleCount = 1; 148*5c591343SA. Cody Schuffelen result = TPMI_DH_PARENT_Unmarshal(&handles[0], handleBufferStart, 149*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 150*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 151*5c591343SA. Cody Schuffelen break; 152*5c591343SA. Cody Schuffelen #endif // CC_CreateLoaded 153*5c591343SA. Cody Schuffelen #if CC_Duplicate 154*5c591343SA. Cody Schuffelen case TPM_CC_Duplicate: 155*5c591343SA. Cody Schuffelen *handleCount = 2; 156*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 157*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 158*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 159*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 160*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 161*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 162*5c591343SA. Cody Schuffelen break; 163*5c591343SA. Cody Schuffelen #endif // CC_Duplicate 164*5c591343SA. Cody Schuffelen #if CC_Rewrap 165*5c591343SA. Cody Schuffelen case TPM_CC_Rewrap: 166*5c591343SA. Cody Schuffelen *handleCount = 2; 167*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 168*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 169*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 170*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 171*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 172*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 173*5c591343SA. Cody Schuffelen break; 174*5c591343SA. Cody Schuffelen #endif // CC_Rewrap 175*5c591343SA. Cody Schuffelen #if CC_Import 176*5c591343SA. Cody Schuffelen case TPM_CC_Import: 177*5c591343SA. Cody Schuffelen *handleCount = 1; 178*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 179*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 180*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 181*5c591343SA. Cody Schuffelen break; 182*5c591343SA. Cody Schuffelen #endif // CC_Import 183*5c591343SA. Cody Schuffelen #if CC_RSA_Encrypt 184*5c591343SA. Cody Schuffelen case TPM_CC_RSA_Encrypt: 185*5c591343SA. Cody Schuffelen *handleCount = 1; 186*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 187*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 188*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 189*5c591343SA. Cody Schuffelen break; 190*5c591343SA. Cody Schuffelen #endif // CC_RSA_Encrypt 191*5c591343SA. Cody Schuffelen #if CC_RSA_Decrypt 192*5c591343SA. Cody Schuffelen case TPM_CC_RSA_Decrypt: 193*5c591343SA. Cody Schuffelen *handleCount = 1; 194*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 195*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 196*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 197*5c591343SA. Cody Schuffelen break; 198*5c591343SA. Cody Schuffelen #endif // CC_RSA_Decrypt 199*5c591343SA. Cody Schuffelen #if CC_ECDH_KeyGen 200*5c591343SA. Cody Schuffelen case TPM_CC_ECDH_KeyGen: 201*5c591343SA. Cody Schuffelen *handleCount = 1; 202*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 203*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 204*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 205*5c591343SA. Cody Schuffelen break; 206*5c591343SA. Cody Schuffelen #endif // CC_ECDH_KeyGen 207*5c591343SA. Cody Schuffelen #if CC_ECDH_ZGen 208*5c591343SA. Cody Schuffelen case TPM_CC_ECDH_ZGen: 209*5c591343SA. Cody Schuffelen *handleCount = 1; 210*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 211*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 212*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 213*5c591343SA. Cody Schuffelen break; 214*5c591343SA. Cody Schuffelen #endif // CC_ECDH_ZGen 215*5c591343SA. Cody Schuffelen #if CC_ECC_Parameters 216*5c591343SA. Cody Schuffelen case TPM_CC_ECC_Parameters: 217*5c591343SA. Cody Schuffelen break; 218*5c591343SA. Cody Schuffelen #endif // CC_ECC_Parameters 219*5c591343SA. Cody Schuffelen #if CC_ZGen_2Phase 220*5c591343SA. Cody Schuffelen case TPM_CC_ZGen_2Phase: 221*5c591343SA. Cody Schuffelen *handleCount = 1; 222*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 223*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 224*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 225*5c591343SA. Cody Schuffelen break; 226*5c591343SA. Cody Schuffelen #endif // CC_ZGen_2Phase 227*5c591343SA. Cody Schuffelen #if CC_ECC_Encrypt 228*5c591343SA. Cody Schuffelen case TPM_CC_ECC_Encrypt: 229*5c591343SA. Cody Schuffelen *handleCount = 1; 230*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 231*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 232*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 233*5c591343SA. Cody Schuffelen break; 234*5c591343SA. Cody Schuffelen #endif // CC_ECC_Encrypt 235*5c591343SA. Cody Schuffelen #if CC_ECC_Decrypt 236*5c591343SA. Cody Schuffelen case TPM_CC_ECC_Decrypt: 237*5c591343SA. Cody Schuffelen *handleCount = 1; 238*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 239*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 240*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 241*5c591343SA. Cody Schuffelen break; 242*5c591343SA. Cody Schuffelen #endif // CC_ECC_Decrypt 243*5c591343SA. Cody Schuffelen #if CC_EncryptDecrypt 244*5c591343SA. Cody Schuffelen case TPM_CC_EncryptDecrypt: 245*5c591343SA. Cody Schuffelen *handleCount = 1; 246*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 247*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 248*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 249*5c591343SA. Cody Schuffelen break; 250*5c591343SA. Cody Schuffelen #endif // CC_EncryptDecrypt 251*5c591343SA. Cody Schuffelen #if CC_EncryptDecrypt2 252*5c591343SA. Cody Schuffelen case TPM_CC_EncryptDecrypt2: 253*5c591343SA. Cody Schuffelen *handleCount = 1; 254*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 255*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 256*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 257*5c591343SA. Cody Schuffelen break; 258*5c591343SA. Cody Schuffelen #endif // CC_EncryptDecrypt2 259*5c591343SA. Cody Schuffelen #if CC_Hash 260*5c591343SA. Cody Schuffelen case TPM_CC_Hash: 261*5c591343SA. Cody Schuffelen break; 262*5c591343SA. Cody Schuffelen #endif // CC_Hash 263*5c591343SA. Cody Schuffelen #if CC_HMAC 264*5c591343SA. Cody Schuffelen case TPM_CC_HMAC: 265*5c591343SA. Cody Schuffelen *handleCount = 1; 266*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 267*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 268*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 269*5c591343SA. Cody Schuffelen break; 270*5c591343SA. Cody Schuffelen #endif // CC_HMAC 271*5c591343SA. Cody Schuffelen #if CC_MAC 272*5c591343SA. Cody Schuffelen case TPM_CC_MAC: 273*5c591343SA. Cody Schuffelen *handleCount = 1; 274*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 275*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 276*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 277*5c591343SA. Cody Schuffelen break; 278*5c591343SA. Cody Schuffelen #endif // CC_MAC 279*5c591343SA. Cody Schuffelen #if CC_GetRandom 280*5c591343SA. Cody Schuffelen case TPM_CC_GetRandom: 281*5c591343SA. Cody Schuffelen break; 282*5c591343SA. Cody Schuffelen #endif // CC_GetRandom 283*5c591343SA. Cody Schuffelen #if CC_StirRandom 284*5c591343SA. Cody Schuffelen case TPM_CC_StirRandom: 285*5c591343SA. Cody Schuffelen break; 286*5c591343SA. Cody Schuffelen #endif // CC_StirRandom 287*5c591343SA. Cody Schuffelen #if CC_HMAC_Start 288*5c591343SA. Cody Schuffelen case TPM_CC_HMAC_Start: 289*5c591343SA. Cody Schuffelen *handleCount = 1; 290*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 291*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 292*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 293*5c591343SA. Cody Schuffelen break; 294*5c591343SA. Cody Schuffelen #endif // CC_HMAC_Start 295*5c591343SA. Cody Schuffelen #if CC_MAC_Start 296*5c591343SA. Cody Schuffelen case TPM_CC_MAC_Start: 297*5c591343SA. Cody Schuffelen *handleCount = 1; 298*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 299*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 300*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 301*5c591343SA. Cody Schuffelen break; 302*5c591343SA. Cody Schuffelen #endif // CC_MAC_Start 303*5c591343SA. Cody Schuffelen #if CC_HashSequenceStart 304*5c591343SA. Cody Schuffelen case TPM_CC_HashSequenceStart: 305*5c591343SA. Cody Schuffelen break; 306*5c591343SA. Cody Schuffelen #endif // CC_HashSequenceStart 307*5c591343SA. Cody Schuffelen #if CC_SequenceUpdate 308*5c591343SA. Cody Schuffelen case TPM_CC_SequenceUpdate: 309*5c591343SA. Cody Schuffelen *handleCount = 1; 310*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 311*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 312*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 313*5c591343SA. Cody Schuffelen break; 314*5c591343SA. Cody Schuffelen #endif // CC_SequenceUpdate 315*5c591343SA. Cody Schuffelen #if CC_SequenceComplete 316*5c591343SA. Cody Schuffelen case TPM_CC_SequenceComplete: 317*5c591343SA. Cody Schuffelen *handleCount = 1; 318*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 319*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 320*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 321*5c591343SA. Cody Schuffelen break; 322*5c591343SA. Cody Schuffelen #endif // CC_SequenceComplete 323*5c591343SA. Cody Schuffelen #if CC_EventSequenceComplete 324*5c591343SA. Cody Schuffelen case TPM_CC_EventSequenceComplete: 325*5c591343SA. Cody Schuffelen *handleCount = 2; 326*5c591343SA. Cody Schuffelen result = TPMI_DH_PCR_Unmarshal(&handles[0], handleBufferStart, 327*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 328*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 329*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 330*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 331*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 332*5c591343SA. Cody Schuffelen break; 333*5c591343SA. Cody Schuffelen #endif // CC_EventSequenceComplete 334*5c591343SA. Cody Schuffelen #if CC_Certify 335*5c591343SA. Cody Schuffelen case TPM_CC_Certify: 336*5c591343SA. Cody Schuffelen *handleCount = 2; 337*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 338*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 339*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 340*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 341*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 342*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 343*5c591343SA. Cody Schuffelen break; 344*5c591343SA. Cody Schuffelen #endif // CC_Certify 345*5c591343SA. Cody Schuffelen #if CC_CertifyCreation 346*5c591343SA. Cody Schuffelen case TPM_CC_CertifyCreation: 347*5c591343SA. Cody Schuffelen *handleCount = 2; 348*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 349*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 350*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 351*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 352*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 353*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 354*5c591343SA. Cody Schuffelen break; 355*5c591343SA. Cody Schuffelen #endif // CC_CertifyCreation 356*5c591343SA. Cody Schuffelen #if CC_Quote 357*5c591343SA. Cody Schuffelen case TPM_CC_Quote: 358*5c591343SA. Cody Schuffelen *handleCount = 1; 359*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 360*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 361*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 362*5c591343SA. Cody Schuffelen break; 363*5c591343SA. Cody Schuffelen #endif // CC_Quote 364*5c591343SA. Cody Schuffelen #if CC_GetSessionAuditDigest 365*5c591343SA. Cody Schuffelen case TPM_CC_GetSessionAuditDigest: 366*5c591343SA. Cody Schuffelen *handleCount = 3; 367*5c591343SA. Cody Schuffelen result = TPMI_RH_ENDORSEMENT_Unmarshal(&handles[0], handleBufferStart, 368*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 369*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 370*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 371*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 372*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 373*5c591343SA. Cody Schuffelen result = TPMI_SH_HMAC_Unmarshal(&handles[2], handleBufferStart, 374*5c591343SA. Cody Schuffelen bufferRemainingSize); 375*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_3; 376*5c591343SA. Cody Schuffelen break; 377*5c591343SA. Cody Schuffelen #endif // CC_GetSessionAuditDigest 378*5c591343SA. Cody Schuffelen #if CC_GetCommandAuditDigest 379*5c591343SA. Cody Schuffelen case TPM_CC_GetCommandAuditDigest: 380*5c591343SA. Cody Schuffelen *handleCount = 2; 381*5c591343SA. Cody Schuffelen result = TPMI_RH_ENDORSEMENT_Unmarshal(&handles[0], handleBufferStart, 382*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 383*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 384*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 385*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 386*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 387*5c591343SA. Cody Schuffelen break; 388*5c591343SA. Cody Schuffelen #endif // CC_GetCommandAuditDigest 389*5c591343SA. Cody Schuffelen #if CC_GetTime 390*5c591343SA. Cody Schuffelen case TPM_CC_GetTime: 391*5c591343SA. Cody Schuffelen *handleCount = 2; 392*5c591343SA. Cody Schuffelen result = TPMI_RH_ENDORSEMENT_Unmarshal(&handles[0], handleBufferStart, 393*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 394*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 395*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 396*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 397*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 398*5c591343SA. Cody Schuffelen break; 399*5c591343SA. Cody Schuffelen #endif // CC_GetTime 400*5c591343SA. Cody Schuffelen #if CC_CertifyX509 401*5c591343SA. Cody Schuffelen case TPM_CC_CertifyX509: 402*5c591343SA. Cody Schuffelen *handleCount = 2; 403*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 404*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 405*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 406*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 407*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 408*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 409*5c591343SA. Cody Schuffelen break; 410*5c591343SA. Cody Schuffelen #endif // CC_CertifyX509 411*5c591343SA. Cody Schuffelen #if CC_Commit 412*5c591343SA. Cody Schuffelen case TPM_CC_Commit: 413*5c591343SA. Cody Schuffelen *handleCount = 1; 414*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 415*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 416*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 417*5c591343SA. Cody Schuffelen break; 418*5c591343SA. Cody Schuffelen #endif // CC_Commit 419*5c591343SA. Cody Schuffelen #if CC_EC_Ephemeral 420*5c591343SA. Cody Schuffelen case TPM_CC_EC_Ephemeral: 421*5c591343SA. Cody Schuffelen break; 422*5c591343SA. Cody Schuffelen #endif // CC_EC_Ephemeral 423*5c591343SA. Cody Schuffelen #if CC_VerifySignature 424*5c591343SA. Cody Schuffelen case TPM_CC_VerifySignature: 425*5c591343SA. Cody Schuffelen *handleCount = 1; 426*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 427*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 428*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 429*5c591343SA. Cody Schuffelen break; 430*5c591343SA. Cody Schuffelen #endif // CC_VerifySignature 431*5c591343SA. Cody Schuffelen #if CC_Sign 432*5c591343SA. Cody Schuffelen case TPM_CC_Sign: 433*5c591343SA. Cody Schuffelen *handleCount = 1; 434*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 435*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 436*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 437*5c591343SA. Cody Schuffelen break; 438*5c591343SA. Cody Schuffelen #endif // CC_Sign 439*5c591343SA. Cody Schuffelen #if CC_SetCommandCodeAuditStatus 440*5c591343SA. Cody Schuffelen case TPM_CC_SetCommandCodeAuditStatus: 441*5c591343SA. Cody Schuffelen *handleCount = 1; 442*5c591343SA. Cody Schuffelen result = TPMI_RH_PROVISION_Unmarshal(&handles[0], handleBufferStart, 443*5c591343SA. Cody Schuffelen bufferRemainingSize); 444*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 445*5c591343SA. Cody Schuffelen break; 446*5c591343SA. Cody Schuffelen #endif // CC_SetCommandCodeAuditStatus 447*5c591343SA. Cody Schuffelen #if CC_PCR_Extend 448*5c591343SA. Cody Schuffelen case TPM_CC_PCR_Extend: 449*5c591343SA. Cody Schuffelen *handleCount = 1; 450*5c591343SA. Cody Schuffelen result = TPMI_DH_PCR_Unmarshal(&handles[0], handleBufferStart, 451*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 452*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 453*5c591343SA. Cody Schuffelen break; 454*5c591343SA. Cody Schuffelen #endif // CC_PCR_Extend 455*5c591343SA. Cody Schuffelen #if CC_PCR_Event 456*5c591343SA. Cody Schuffelen case TPM_CC_PCR_Event: 457*5c591343SA. Cody Schuffelen *handleCount = 1; 458*5c591343SA. Cody Schuffelen result = TPMI_DH_PCR_Unmarshal(&handles[0], handleBufferStart, 459*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 460*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 461*5c591343SA. Cody Schuffelen break; 462*5c591343SA. Cody Schuffelen #endif // CC_PCR_Event 463*5c591343SA. Cody Schuffelen #if CC_PCR_Read 464*5c591343SA. Cody Schuffelen case TPM_CC_PCR_Read: 465*5c591343SA. Cody Schuffelen break; 466*5c591343SA. Cody Schuffelen #endif // CC_PCR_Read 467*5c591343SA. Cody Schuffelen #if CC_PCR_Allocate 468*5c591343SA. Cody Schuffelen case TPM_CC_PCR_Allocate: 469*5c591343SA. Cody Schuffelen *handleCount = 1; 470*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[0], handleBufferStart, 471*5c591343SA. Cody Schuffelen bufferRemainingSize); 472*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 473*5c591343SA. Cody Schuffelen break; 474*5c591343SA. Cody Schuffelen #endif // CC_PCR_Allocate 475*5c591343SA. Cody Schuffelen #if CC_PCR_SetAuthPolicy 476*5c591343SA. Cody Schuffelen case TPM_CC_PCR_SetAuthPolicy: 477*5c591343SA. Cody Schuffelen *handleCount = 1; 478*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[0], handleBufferStart, 479*5c591343SA. Cody Schuffelen bufferRemainingSize); 480*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 481*5c591343SA. Cody Schuffelen break; 482*5c591343SA. Cody Schuffelen #endif // CC_PCR_SetAuthPolicy 483*5c591343SA. Cody Schuffelen #if CC_PCR_SetAuthValue 484*5c591343SA. Cody Schuffelen case TPM_CC_PCR_SetAuthValue: 485*5c591343SA. Cody Schuffelen *handleCount = 1; 486*5c591343SA. Cody Schuffelen result = TPMI_DH_PCR_Unmarshal(&handles[0], handleBufferStart, 487*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 488*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 489*5c591343SA. Cody Schuffelen break; 490*5c591343SA. Cody Schuffelen #endif // CC_PCR_SetAuthValue 491*5c591343SA. Cody Schuffelen #if CC_PCR_Reset 492*5c591343SA. Cody Schuffelen case TPM_CC_PCR_Reset: 493*5c591343SA. Cody Schuffelen *handleCount = 1; 494*5c591343SA. Cody Schuffelen result = TPMI_DH_PCR_Unmarshal(&handles[0], handleBufferStart, 495*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 496*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 497*5c591343SA. Cody Schuffelen break; 498*5c591343SA. Cody Schuffelen #endif // CC_PCR_Reset 499*5c591343SA. Cody Schuffelen #if CC_PolicySigned 500*5c591343SA. Cody Schuffelen case TPM_CC_PolicySigned: 501*5c591343SA. Cody Schuffelen *handleCount = 2; 502*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 503*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 504*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 505*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[1], handleBufferStart, 506*5c591343SA. Cody Schuffelen bufferRemainingSize); 507*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 508*5c591343SA. Cody Schuffelen break; 509*5c591343SA. Cody Schuffelen #endif // CC_PolicySigned 510*5c591343SA. Cody Schuffelen #if CC_PolicySecret 511*5c591343SA. Cody Schuffelen case TPM_CC_PolicySecret: 512*5c591343SA. Cody Schuffelen *handleCount = 2; 513*5c591343SA. Cody Schuffelen result = TPMI_DH_ENTITY_Unmarshal(&handles[0], handleBufferStart, 514*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 515*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 516*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[1], handleBufferStart, 517*5c591343SA. Cody Schuffelen bufferRemainingSize); 518*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 519*5c591343SA. Cody Schuffelen break; 520*5c591343SA. Cody Schuffelen #endif // CC_PolicySecret 521*5c591343SA. Cody Schuffelen #if CC_PolicyTicket 522*5c591343SA. Cody Schuffelen case TPM_CC_PolicyTicket: 523*5c591343SA. Cody Schuffelen *handleCount = 1; 524*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 525*5c591343SA. Cody Schuffelen bufferRemainingSize); 526*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 527*5c591343SA. Cody Schuffelen break; 528*5c591343SA. Cody Schuffelen #endif // CC_PolicyTicket 529*5c591343SA. Cody Schuffelen #if CC_PolicyOR 530*5c591343SA. Cody Schuffelen case TPM_CC_PolicyOR: 531*5c591343SA. Cody Schuffelen *handleCount = 1; 532*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 533*5c591343SA. Cody Schuffelen bufferRemainingSize); 534*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 535*5c591343SA. Cody Schuffelen break; 536*5c591343SA. Cody Schuffelen #endif // CC_PolicyOR 537*5c591343SA. Cody Schuffelen #if CC_PolicyPCR 538*5c591343SA. Cody Schuffelen case TPM_CC_PolicyPCR: 539*5c591343SA. Cody Schuffelen *handleCount = 1; 540*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 541*5c591343SA. Cody Schuffelen bufferRemainingSize); 542*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 543*5c591343SA. Cody Schuffelen break; 544*5c591343SA. Cody Schuffelen #endif // CC_PolicyPCR 545*5c591343SA. Cody Schuffelen #if CC_PolicyLocality 546*5c591343SA. Cody Schuffelen case TPM_CC_PolicyLocality: 547*5c591343SA. Cody Schuffelen *handleCount = 1; 548*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 549*5c591343SA. Cody Schuffelen bufferRemainingSize); 550*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 551*5c591343SA. Cody Schuffelen break; 552*5c591343SA. Cody Schuffelen #endif // CC_PolicyLocality 553*5c591343SA. Cody Schuffelen #if CC_PolicyNV 554*5c591343SA. Cody Schuffelen case TPM_CC_PolicyNV: 555*5c591343SA. Cody Schuffelen *handleCount = 3; 556*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 557*5c591343SA. Cody Schuffelen bufferRemainingSize); 558*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 559*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 560*5c591343SA. Cody Schuffelen bufferRemainingSize); 561*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 562*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[2], handleBufferStart, 563*5c591343SA. Cody Schuffelen bufferRemainingSize); 564*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_3; 565*5c591343SA. Cody Schuffelen break; 566*5c591343SA. Cody Schuffelen #endif // CC_PolicyNV 567*5c591343SA. Cody Schuffelen #if CC_PolicyCounterTimer 568*5c591343SA. Cody Schuffelen case TPM_CC_PolicyCounterTimer: 569*5c591343SA. Cody Schuffelen *handleCount = 1; 570*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 571*5c591343SA. Cody Schuffelen bufferRemainingSize); 572*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 573*5c591343SA. Cody Schuffelen break; 574*5c591343SA. Cody Schuffelen #endif // CC_PolicyCounterTimer 575*5c591343SA. Cody Schuffelen #if CC_PolicyCommandCode 576*5c591343SA. Cody Schuffelen case TPM_CC_PolicyCommandCode: 577*5c591343SA. Cody Schuffelen *handleCount = 1; 578*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 579*5c591343SA. Cody Schuffelen bufferRemainingSize); 580*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 581*5c591343SA. Cody Schuffelen break; 582*5c591343SA. Cody Schuffelen #endif // CC_PolicyCommandCode 583*5c591343SA. Cody Schuffelen #if CC_PolicyPhysicalPresence 584*5c591343SA. Cody Schuffelen case TPM_CC_PolicyPhysicalPresence: 585*5c591343SA. Cody Schuffelen *handleCount = 1; 586*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 587*5c591343SA. Cody Schuffelen bufferRemainingSize); 588*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 589*5c591343SA. Cody Schuffelen break; 590*5c591343SA. Cody Schuffelen #endif // CC_PolicyPhysicalPresence 591*5c591343SA. Cody Schuffelen #if CC_PolicyCpHash 592*5c591343SA. Cody Schuffelen case TPM_CC_PolicyCpHash: 593*5c591343SA. Cody Schuffelen *handleCount = 1; 594*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 595*5c591343SA. Cody Schuffelen bufferRemainingSize); 596*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 597*5c591343SA. Cody Schuffelen break; 598*5c591343SA. Cody Schuffelen #endif // CC_PolicyCpHash 599*5c591343SA. Cody Schuffelen #if CC_PolicyNameHash 600*5c591343SA. Cody Schuffelen case TPM_CC_PolicyNameHash: 601*5c591343SA. Cody Schuffelen *handleCount = 1; 602*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 603*5c591343SA. Cody Schuffelen bufferRemainingSize); 604*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 605*5c591343SA. Cody Schuffelen break; 606*5c591343SA. Cody Schuffelen #endif // CC_PolicyNameHash 607*5c591343SA. Cody Schuffelen #if CC_PolicyDuplicationSelect 608*5c591343SA. Cody Schuffelen case TPM_CC_PolicyDuplicationSelect: 609*5c591343SA. Cody Schuffelen *handleCount = 1; 610*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 611*5c591343SA. Cody Schuffelen bufferRemainingSize); 612*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 613*5c591343SA. Cody Schuffelen break; 614*5c591343SA. Cody Schuffelen #endif // CC_PolicyDuplicationSelect 615*5c591343SA. Cody Schuffelen #if CC_PolicyAuthorize 616*5c591343SA. Cody Schuffelen case TPM_CC_PolicyAuthorize: 617*5c591343SA. Cody Schuffelen *handleCount = 1; 618*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 619*5c591343SA. Cody Schuffelen bufferRemainingSize); 620*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 621*5c591343SA. Cody Schuffelen break; 622*5c591343SA. Cody Schuffelen #endif // CC_PolicyAuthorize 623*5c591343SA. Cody Schuffelen #if CC_PolicyAuthValue 624*5c591343SA. Cody Schuffelen case TPM_CC_PolicyAuthValue: 625*5c591343SA. Cody Schuffelen *handleCount = 1; 626*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 627*5c591343SA. Cody Schuffelen bufferRemainingSize); 628*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 629*5c591343SA. Cody Schuffelen break; 630*5c591343SA. Cody Schuffelen #endif // CC_PolicyAuthValue 631*5c591343SA. Cody Schuffelen #if CC_PolicyPassword 632*5c591343SA. Cody Schuffelen case TPM_CC_PolicyPassword: 633*5c591343SA. Cody Schuffelen *handleCount = 1; 634*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 635*5c591343SA. Cody Schuffelen bufferRemainingSize); 636*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 637*5c591343SA. Cody Schuffelen break; 638*5c591343SA. Cody Schuffelen #endif // CC_PolicyPassword 639*5c591343SA. Cody Schuffelen #if CC_PolicyGetDigest 640*5c591343SA. Cody Schuffelen case TPM_CC_PolicyGetDigest: 641*5c591343SA. Cody Schuffelen *handleCount = 1; 642*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 643*5c591343SA. Cody Schuffelen bufferRemainingSize); 644*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 645*5c591343SA. Cody Schuffelen break; 646*5c591343SA. Cody Schuffelen #endif // CC_PolicyGetDigest 647*5c591343SA. Cody Schuffelen #if CC_PolicyNvWritten 648*5c591343SA. Cody Schuffelen case TPM_CC_PolicyNvWritten: 649*5c591343SA. Cody Schuffelen *handleCount = 1; 650*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 651*5c591343SA. Cody Schuffelen bufferRemainingSize); 652*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 653*5c591343SA. Cody Schuffelen break; 654*5c591343SA. Cody Schuffelen #endif // CC_PolicyNvWritten 655*5c591343SA. Cody Schuffelen #if CC_PolicyTemplate 656*5c591343SA. Cody Schuffelen case TPM_CC_PolicyTemplate: 657*5c591343SA. Cody Schuffelen *handleCount = 1; 658*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 659*5c591343SA. Cody Schuffelen bufferRemainingSize); 660*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 661*5c591343SA. Cody Schuffelen break; 662*5c591343SA. Cody Schuffelen #endif // CC_PolicyTemplate 663*5c591343SA. Cody Schuffelen #if CC_PolicyAuthorizeNV 664*5c591343SA. Cody Schuffelen case TPM_CC_PolicyAuthorizeNV: 665*5c591343SA. Cody Schuffelen *handleCount = 3; 666*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 667*5c591343SA. Cody Schuffelen bufferRemainingSize); 668*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 669*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 670*5c591343SA. Cody Schuffelen bufferRemainingSize); 671*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 672*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[2], handleBufferStart, 673*5c591343SA. Cody Schuffelen bufferRemainingSize); 674*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_3; 675*5c591343SA. Cody Schuffelen break; 676*5c591343SA. Cody Schuffelen #endif // CC_PolicyAuthorizeNV 677*5c591343SA. Cody Schuffelen #if CC_CreatePrimary 678*5c591343SA. Cody Schuffelen case TPM_CC_CreatePrimary: 679*5c591343SA. Cody Schuffelen *handleCount = 1; 680*5c591343SA. Cody Schuffelen result = TPMI_RH_HIERARCHY_Unmarshal(&handles[0], handleBufferStart, 681*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 682*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 683*5c591343SA. Cody Schuffelen break; 684*5c591343SA. Cody Schuffelen #endif // CC_CreatePrimary 685*5c591343SA. Cody Schuffelen #if CC_HierarchyControl 686*5c591343SA. Cody Schuffelen case TPM_CC_HierarchyControl: 687*5c591343SA. Cody Schuffelen *handleCount = 1; 688*5c591343SA. Cody Schuffelen result = TPMI_RH_HIERARCHY_Unmarshal(&handles[0], handleBufferStart, 689*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 690*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 691*5c591343SA. Cody Schuffelen break; 692*5c591343SA. Cody Schuffelen #endif // CC_HierarchyControl 693*5c591343SA. Cody Schuffelen #if CC_SetPrimaryPolicy 694*5c591343SA. Cody Schuffelen case TPM_CC_SetPrimaryPolicy: 695*5c591343SA. Cody Schuffelen *handleCount = 1; 696*5c591343SA. Cody Schuffelen result = TPMI_RH_HIERARCHY_POLICY_Unmarshal(&handles[0], handleBufferStart, 697*5c591343SA. Cody Schuffelen bufferRemainingSize); 698*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 699*5c591343SA. Cody Schuffelen break; 700*5c591343SA. Cody Schuffelen #endif // CC_SetPrimaryPolicy 701*5c591343SA. Cody Schuffelen #if CC_ChangePPS 702*5c591343SA. Cody Schuffelen case TPM_CC_ChangePPS: 703*5c591343SA. Cody Schuffelen *handleCount = 1; 704*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[0], handleBufferStart, 705*5c591343SA. Cody Schuffelen bufferRemainingSize); 706*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 707*5c591343SA. Cody Schuffelen break; 708*5c591343SA. Cody Schuffelen #endif // CC_ChangePPS 709*5c591343SA. Cody Schuffelen #if CC_ChangeEPS 710*5c591343SA. Cody Schuffelen case TPM_CC_ChangeEPS: 711*5c591343SA. Cody Schuffelen *handleCount = 1; 712*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[0], handleBufferStart, 713*5c591343SA. Cody Schuffelen bufferRemainingSize); 714*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 715*5c591343SA. Cody Schuffelen break; 716*5c591343SA. Cody Schuffelen #endif // CC_ChangeEPS 717*5c591343SA. Cody Schuffelen #if CC_Clear 718*5c591343SA. Cody Schuffelen case TPM_CC_Clear: 719*5c591343SA. Cody Schuffelen *handleCount = 1; 720*5c591343SA. Cody Schuffelen result = TPMI_RH_CLEAR_Unmarshal(&handles[0], handleBufferStart, 721*5c591343SA. Cody Schuffelen bufferRemainingSize); 722*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 723*5c591343SA. Cody Schuffelen break; 724*5c591343SA. Cody Schuffelen #endif // CC_Clear 725*5c591343SA. Cody Schuffelen #if CC_ClearControl 726*5c591343SA. Cody Schuffelen case TPM_CC_ClearControl: 727*5c591343SA. Cody Schuffelen *handleCount = 1; 728*5c591343SA. Cody Schuffelen result = TPMI_RH_CLEAR_Unmarshal(&handles[0], handleBufferStart, 729*5c591343SA. Cody Schuffelen bufferRemainingSize); 730*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 731*5c591343SA. Cody Schuffelen break; 732*5c591343SA. Cody Schuffelen #endif // CC_ClearControl 733*5c591343SA. Cody Schuffelen #if CC_HierarchyChangeAuth 734*5c591343SA. Cody Schuffelen case TPM_CC_HierarchyChangeAuth: 735*5c591343SA. Cody Schuffelen *handleCount = 1; 736*5c591343SA. Cody Schuffelen result = TPMI_RH_HIERARCHY_AUTH_Unmarshal(&handles[0], handleBufferStart, 737*5c591343SA. Cody Schuffelen bufferRemainingSize); 738*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 739*5c591343SA. Cody Schuffelen break; 740*5c591343SA. Cody Schuffelen #endif // CC_HierarchyChangeAuth 741*5c591343SA. Cody Schuffelen #if CC_DictionaryAttackLockReset 742*5c591343SA. Cody Schuffelen case TPM_CC_DictionaryAttackLockReset: 743*5c591343SA. Cody Schuffelen *handleCount = 1; 744*5c591343SA. Cody Schuffelen result = TPMI_RH_LOCKOUT_Unmarshal(&handles[0], handleBufferStart, 745*5c591343SA. Cody Schuffelen bufferRemainingSize); 746*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 747*5c591343SA. Cody Schuffelen break; 748*5c591343SA. Cody Schuffelen #endif // CC_DictionaryAttackLockReset 749*5c591343SA. Cody Schuffelen #if CC_DictionaryAttackParameters 750*5c591343SA. Cody Schuffelen case TPM_CC_DictionaryAttackParameters: 751*5c591343SA. Cody Schuffelen *handleCount = 1; 752*5c591343SA. Cody Schuffelen result = TPMI_RH_LOCKOUT_Unmarshal(&handles[0], handleBufferStart, 753*5c591343SA. Cody Schuffelen bufferRemainingSize); 754*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 755*5c591343SA. Cody Schuffelen break; 756*5c591343SA. Cody Schuffelen #endif // CC_DictionaryAttackParameters 757*5c591343SA. Cody Schuffelen #if CC_PP_Commands 758*5c591343SA. Cody Schuffelen case TPM_CC_PP_Commands: 759*5c591343SA. Cody Schuffelen *handleCount = 1; 760*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[0], handleBufferStart, 761*5c591343SA. Cody Schuffelen bufferRemainingSize); 762*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 763*5c591343SA. Cody Schuffelen break; 764*5c591343SA. Cody Schuffelen #endif // CC_PP_Commands 765*5c591343SA. Cody Schuffelen #if CC_SetAlgorithmSet 766*5c591343SA. Cody Schuffelen case TPM_CC_SetAlgorithmSet: 767*5c591343SA. Cody Schuffelen *handleCount = 1; 768*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[0], handleBufferStart, 769*5c591343SA. Cody Schuffelen bufferRemainingSize); 770*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 771*5c591343SA. Cody Schuffelen break; 772*5c591343SA. Cody Schuffelen #endif // CC_SetAlgorithmSet 773*5c591343SA. Cody Schuffelen #if CC_FieldUpgradeStart 774*5c591343SA. Cody Schuffelen case TPM_CC_FieldUpgradeStart: 775*5c591343SA. Cody Schuffelen *handleCount = 2; 776*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[0], handleBufferStart, 777*5c591343SA. Cody Schuffelen bufferRemainingSize); 778*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 779*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 780*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 781*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 782*5c591343SA. Cody Schuffelen break; 783*5c591343SA. Cody Schuffelen #endif // CC_FieldUpgradeStart 784*5c591343SA. Cody Schuffelen #if CC_FieldUpgradeData 785*5c591343SA. Cody Schuffelen case TPM_CC_FieldUpgradeData: 786*5c591343SA. Cody Schuffelen break; 787*5c591343SA. Cody Schuffelen #endif // CC_FieldUpgradeData 788*5c591343SA. Cody Schuffelen #if CC_FirmwareRead 789*5c591343SA. Cody Schuffelen case TPM_CC_FirmwareRead: 790*5c591343SA. Cody Schuffelen break; 791*5c591343SA. Cody Schuffelen #endif // CC_FirmwareRead 792*5c591343SA. Cody Schuffelen #if CC_ContextSave 793*5c591343SA. Cody Schuffelen case TPM_CC_ContextSave: 794*5c591343SA. Cody Schuffelen *handleCount = 1; 795*5c591343SA. Cody Schuffelen result = TPMI_DH_CONTEXT_Unmarshal(&handles[0], handleBufferStart, 796*5c591343SA. Cody Schuffelen bufferRemainingSize); 797*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 798*5c591343SA. Cody Schuffelen break; 799*5c591343SA. Cody Schuffelen #endif // CC_ContextSave 800*5c591343SA. Cody Schuffelen #if CC_ContextLoad 801*5c591343SA. Cody Schuffelen case TPM_CC_ContextLoad: 802*5c591343SA. Cody Schuffelen break; 803*5c591343SA. Cody Schuffelen #endif // CC_ContextLoad 804*5c591343SA. Cody Schuffelen #if CC_FlushContext 805*5c591343SA. Cody Schuffelen case TPM_CC_FlushContext: 806*5c591343SA. Cody Schuffelen break; 807*5c591343SA. Cody Schuffelen #endif // CC_FlushContext 808*5c591343SA. Cody Schuffelen #if CC_EvictControl 809*5c591343SA. Cody Schuffelen case TPM_CC_EvictControl: 810*5c591343SA. Cody Schuffelen *handleCount = 2; 811*5c591343SA. Cody Schuffelen result = TPMI_RH_PROVISION_Unmarshal(&handles[0], handleBufferStart, 812*5c591343SA. Cody Schuffelen bufferRemainingSize); 813*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 814*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[1], handleBufferStart, 815*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 816*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 817*5c591343SA. Cody Schuffelen break; 818*5c591343SA. Cody Schuffelen #endif // CC_EvictControl 819*5c591343SA. Cody Schuffelen #if CC_ReadClock 820*5c591343SA. Cody Schuffelen case TPM_CC_ReadClock: 821*5c591343SA. Cody Schuffelen break; 822*5c591343SA. Cody Schuffelen #endif // CC_ReadClock 823*5c591343SA. Cody Schuffelen #if CC_ClockSet 824*5c591343SA. Cody Schuffelen case TPM_CC_ClockSet: 825*5c591343SA. Cody Schuffelen *handleCount = 1; 826*5c591343SA. Cody Schuffelen result = TPMI_RH_PROVISION_Unmarshal(&handles[0], handleBufferStart, 827*5c591343SA. Cody Schuffelen bufferRemainingSize); 828*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 829*5c591343SA. Cody Schuffelen break; 830*5c591343SA. Cody Schuffelen #endif // CC_ClockSet 831*5c591343SA. Cody Schuffelen #if CC_ClockRateAdjust 832*5c591343SA. Cody Schuffelen case TPM_CC_ClockRateAdjust: 833*5c591343SA. Cody Schuffelen *handleCount = 1; 834*5c591343SA. Cody Schuffelen result = TPMI_RH_PROVISION_Unmarshal(&handles[0], handleBufferStart, 835*5c591343SA. Cody Schuffelen bufferRemainingSize); 836*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 837*5c591343SA. Cody Schuffelen break; 838*5c591343SA. Cody Schuffelen #endif // CC_ClockRateAdjust 839*5c591343SA. Cody Schuffelen #if CC_GetCapability 840*5c591343SA. Cody Schuffelen case TPM_CC_GetCapability: 841*5c591343SA. Cody Schuffelen break; 842*5c591343SA. Cody Schuffelen #endif // CC_GetCapability 843*5c591343SA. Cody Schuffelen #if CC_TestParms 844*5c591343SA. Cody Schuffelen case TPM_CC_TestParms: 845*5c591343SA. Cody Schuffelen break; 846*5c591343SA. Cody Schuffelen #endif // CC_TestParms 847*5c591343SA. Cody Schuffelen #if CC_NV_DefineSpace 848*5c591343SA. Cody Schuffelen case TPM_CC_NV_DefineSpace: 849*5c591343SA. Cody Schuffelen *handleCount = 1; 850*5c591343SA. Cody Schuffelen result = TPMI_RH_PROVISION_Unmarshal(&handles[0], handleBufferStart, 851*5c591343SA. Cody Schuffelen bufferRemainingSize); 852*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 853*5c591343SA. Cody Schuffelen break; 854*5c591343SA. Cody Schuffelen #endif // CC_NV_DefineSpace 855*5c591343SA. Cody Schuffelen #if CC_NV_UndefineSpace 856*5c591343SA. Cody Schuffelen case TPM_CC_NV_UndefineSpace: 857*5c591343SA. Cody Schuffelen *handleCount = 2; 858*5c591343SA. Cody Schuffelen result = TPMI_RH_PROVISION_Unmarshal(&handles[0], handleBufferStart, 859*5c591343SA. Cody Schuffelen bufferRemainingSize); 860*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 861*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 862*5c591343SA. Cody Schuffelen bufferRemainingSize); 863*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 864*5c591343SA. Cody Schuffelen break; 865*5c591343SA. Cody Schuffelen #endif // CC_NV_UndefineSpace 866*5c591343SA. Cody Schuffelen #if CC_NV_UndefineSpaceSpecial 867*5c591343SA. Cody Schuffelen case TPM_CC_NV_UndefineSpaceSpecial: 868*5c591343SA. Cody Schuffelen *handleCount = 2; 869*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[0], handleBufferStart, 870*5c591343SA. Cody Schuffelen bufferRemainingSize); 871*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 872*5c591343SA. Cody Schuffelen result = TPMI_RH_PLATFORM_Unmarshal(&handles[1], handleBufferStart, 873*5c591343SA. Cody Schuffelen bufferRemainingSize); 874*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 875*5c591343SA. Cody Schuffelen break; 876*5c591343SA. Cody Schuffelen #endif // CC_NV_UndefineSpaceSpecial 877*5c591343SA. Cody Schuffelen #if CC_NV_ReadPublic 878*5c591343SA. Cody Schuffelen case TPM_CC_NV_ReadPublic: 879*5c591343SA. Cody Schuffelen *handleCount = 1; 880*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[0], handleBufferStart, 881*5c591343SA. Cody Schuffelen bufferRemainingSize); 882*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 883*5c591343SA. Cody Schuffelen break; 884*5c591343SA. Cody Schuffelen #endif // CC_NV_ReadPublic 885*5c591343SA. Cody Schuffelen #if CC_NV_Write 886*5c591343SA. Cody Schuffelen case TPM_CC_NV_Write: 887*5c591343SA. Cody Schuffelen *handleCount = 2; 888*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 889*5c591343SA. Cody Schuffelen bufferRemainingSize); 890*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 891*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 892*5c591343SA. Cody Schuffelen bufferRemainingSize); 893*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 894*5c591343SA. Cody Schuffelen break; 895*5c591343SA. Cody Schuffelen #endif // CC_NV_Write 896*5c591343SA. Cody Schuffelen #if CC_NV_Increment 897*5c591343SA. Cody Schuffelen case TPM_CC_NV_Increment: 898*5c591343SA. Cody Schuffelen *handleCount = 2; 899*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 900*5c591343SA. Cody Schuffelen bufferRemainingSize); 901*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 902*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 903*5c591343SA. Cody Schuffelen bufferRemainingSize); 904*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 905*5c591343SA. Cody Schuffelen break; 906*5c591343SA. Cody Schuffelen #endif // CC_NV_Increment 907*5c591343SA. Cody Schuffelen #if CC_NV_Extend 908*5c591343SA. Cody Schuffelen case TPM_CC_NV_Extend: 909*5c591343SA. Cody Schuffelen *handleCount = 2; 910*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 911*5c591343SA. Cody Schuffelen bufferRemainingSize); 912*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 913*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 914*5c591343SA. Cody Schuffelen bufferRemainingSize); 915*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 916*5c591343SA. Cody Schuffelen break; 917*5c591343SA. Cody Schuffelen #endif // CC_NV_Extend 918*5c591343SA. Cody Schuffelen #if CC_NV_SetBits 919*5c591343SA. Cody Schuffelen case TPM_CC_NV_SetBits: 920*5c591343SA. Cody Schuffelen *handleCount = 2; 921*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 922*5c591343SA. Cody Schuffelen bufferRemainingSize); 923*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 924*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 925*5c591343SA. Cody Schuffelen bufferRemainingSize); 926*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 927*5c591343SA. Cody Schuffelen break; 928*5c591343SA. Cody Schuffelen #endif // CC_NV_SetBits 929*5c591343SA. Cody Schuffelen #if CC_NV_WriteLock 930*5c591343SA. Cody Schuffelen case TPM_CC_NV_WriteLock: 931*5c591343SA. Cody Schuffelen *handleCount = 2; 932*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 933*5c591343SA. Cody Schuffelen bufferRemainingSize); 934*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 935*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 936*5c591343SA. Cody Schuffelen bufferRemainingSize); 937*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 938*5c591343SA. Cody Schuffelen break; 939*5c591343SA. Cody Schuffelen #endif // CC_NV_WriteLock 940*5c591343SA. Cody Schuffelen #if CC_NV_GlobalWriteLock 941*5c591343SA. Cody Schuffelen case TPM_CC_NV_GlobalWriteLock: 942*5c591343SA. Cody Schuffelen *handleCount = 1; 943*5c591343SA. Cody Schuffelen result = TPMI_RH_PROVISION_Unmarshal(&handles[0], handleBufferStart, 944*5c591343SA. Cody Schuffelen bufferRemainingSize); 945*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 946*5c591343SA. Cody Schuffelen break; 947*5c591343SA. Cody Schuffelen #endif // CC_NV_GlobalWriteLock 948*5c591343SA. Cody Schuffelen #if CC_NV_Read 949*5c591343SA. Cody Schuffelen case TPM_CC_NV_Read: 950*5c591343SA. Cody Schuffelen *handleCount = 2; 951*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 952*5c591343SA. Cody Schuffelen bufferRemainingSize); 953*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 954*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 955*5c591343SA. Cody Schuffelen bufferRemainingSize); 956*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 957*5c591343SA. Cody Schuffelen break; 958*5c591343SA. Cody Schuffelen #endif // CC_NV_Read 959*5c591343SA. Cody Schuffelen #if CC_NV_ReadLock 960*5c591343SA. Cody Schuffelen case TPM_CC_NV_ReadLock: 961*5c591343SA. Cody Schuffelen *handleCount = 2; 962*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[0], handleBufferStart, 963*5c591343SA. Cody Schuffelen bufferRemainingSize); 964*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 965*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[1], handleBufferStart, 966*5c591343SA. Cody Schuffelen bufferRemainingSize); 967*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 968*5c591343SA. Cody Schuffelen break; 969*5c591343SA. Cody Schuffelen #endif // CC_NV_ReadLock 970*5c591343SA. Cody Schuffelen #if CC_NV_ChangeAuth 971*5c591343SA. Cody Schuffelen case TPM_CC_NV_ChangeAuth: 972*5c591343SA. Cody Schuffelen *handleCount = 1; 973*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[0], handleBufferStart, 974*5c591343SA. Cody Schuffelen bufferRemainingSize); 975*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 976*5c591343SA. Cody Schuffelen break; 977*5c591343SA. Cody Schuffelen #endif // CC_NV_ChangeAuth 978*5c591343SA. Cody Schuffelen #if CC_NV_Certify 979*5c591343SA. Cody Schuffelen case TPM_CC_NV_Certify: 980*5c591343SA. Cody Schuffelen *handleCount = 3; 981*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 982*5c591343SA. Cody Schuffelen bufferRemainingSize, TRUE); 983*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 984*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[1], handleBufferStart, 985*5c591343SA. Cody Schuffelen bufferRemainingSize); 986*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 987*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_INDEX_Unmarshal(&handles[2], handleBufferStart, 988*5c591343SA. Cody Schuffelen bufferRemainingSize); 989*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_3; 990*5c591343SA. Cody Schuffelen break; 991*5c591343SA. Cody Schuffelen #endif // CC_NV_Certify 992*5c591343SA. Cody Schuffelen #if CC_AC_GetCapability 993*5c591343SA. Cody Schuffelen case TPM_CC_AC_GetCapability: 994*5c591343SA. Cody Schuffelen *handleCount = 1; 995*5c591343SA. Cody Schuffelen result = TPMI_RH_AC_Unmarshal(&handles[0], handleBufferStart, 996*5c591343SA. Cody Schuffelen bufferRemainingSize); 997*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 998*5c591343SA. Cody Schuffelen break; 999*5c591343SA. Cody Schuffelen #endif // CC_AC_GetCapability 1000*5c591343SA. Cody Schuffelen #if CC_AC_Send 1001*5c591343SA. Cody Schuffelen case TPM_CC_AC_Send: 1002*5c591343SA. Cody Schuffelen *handleCount = 3; 1003*5c591343SA. Cody Schuffelen result = TPMI_DH_OBJECT_Unmarshal(&handles[0], handleBufferStart, 1004*5c591343SA. Cody Schuffelen bufferRemainingSize, FALSE); 1005*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 1006*5c591343SA. Cody Schuffelen result = TPMI_RH_NV_AUTH_Unmarshal(&handles[1], handleBufferStart, 1007*5c591343SA. Cody Schuffelen bufferRemainingSize); 1008*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_2; 1009*5c591343SA. Cody Schuffelen result = TPMI_RH_AC_Unmarshal(&handles[2], handleBufferStart, 1010*5c591343SA. Cody Schuffelen bufferRemainingSize); 1011*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_3; 1012*5c591343SA. Cody Schuffelen break; 1013*5c591343SA. Cody Schuffelen #endif // CC_AC_Send 1014*5c591343SA. Cody Schuffelen #if CC_Policy_AC_SendSelect 1015*5c591343SA. Cody Schuffelen case TPM_CC_Policy_AC_SendSelect: 1016*5c591343SA. Cody Schuffelen *handleCount = 1; 1017*5c591343SA. Cody Schuffelen result = TPMI_SH_POLICY_Unmarshal(&handles[0], handleBufferStart, 1018*5c591343SA. Cody Schuffelen bufferRemainingSize); 1019*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 1020*5c591343SA. Cody Schuffelen break; 1021*5c591343SA. Cody Schuffelen #endif // CC_Policy_AC_SendSelect 1022*5c591343SA. Cody Schuffelen #if CC_ACT_SetTimeout 1023*5c591343SA. Cody Schuffelen case TPM_CC_ACT_SetTimeout: 1024*5c591343SA. Cody Schuffelen *handleCount = 1; 1025*5c591343SA. Cody Schuffelen result = TPMI_RH_ACT_Unmarshal(&handles[0], handleBufferStart, 1026*5c591343SA. Cody Schuffelen bufferRemainingSize); 1027*5c591343SA. Cody Schuffelen if(TPM_RC_SUCCESS != result) return result + TPM_RC_H + TPM_RC_1; 1028*5c591343SA. Cody Schuffelen break; 1029*5c591343SA. Cody Schuffelen #endif // CC_ACT_SetTimeout 1030*5c591343SA. Cody Schuffelen #if CC_Vendor_TCG_Test 1031*5c591343SA. Cody Schuffelen case TPM_CC_Vendor_TCG_Test: 1032*5c591343SA. Cody Schuffelen break; 1033*5c591343SA. Cody Schuffelen #endif // CC_Vendor_TCG_Test 1034