1 /********************************************************************************/ 2 /* */ 3 /* */ 4 /* Written by Ken Goldman */ 5 /* IBM Thomas J. Watson Research Center */ 6 /* $Id: HMAC_Start_fp.h 1257 2018-06-27 20:52:08Z 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 (admin@trustedcomputinggroup.org) 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, 2012-2015 */ 59 /* */ 60 /********************************************************************************/ 61 62 /* rev 119 */ 63 64 #ifndef HMAC_START_FP_H 65 #define HMAC_START_FP_H 66 67 typedef struct { 68 TPMI_DH_OBJECT handle; 69 TPM2B_AUTH auth; 70 TPMI_ALG_HASH hashAlg; 71 } HMAC_Start_In; 72 73 typedef struct { 74 TPMI_DH_OBJECT sequenceHandle; 75 } HMAC_Start_Out; 76 77 #define RC_HMAC_Start_handle (TPM_RC_H + TPM_RC_1) 78 #define RC_HMAC_Start_auth (TPM_RC_P + TPM_RC_1) 79 #define RC_HMAC_Start_hashAlg (TPM_RC_P + TPM_RC_2) 80 81 TPM_RC 82 TPM2_HMAC_Start( 83 HMAC_Start_In *in, // IN: input parameter list 84 HMAC_Start_Out *out // OUT: output parameter list 85 ); 86 87 88 #endif 89