Home | History | Annotate | Download | only in tpm2
      1 // This file was extracted from the TCG Published
      2 // Trusted Platform Module Library
      3 // Part 4: Supporting Routines
      4 // Family "2.0"
      5 // Level 00 Revision 01.16
      6 // October 30, 2014
      7 
      8 #include "InternalRoutines.h"
      9 //
     10 //
     11 //           LocalityGetAttributes()
     12 //
     13 //     This function will convert a locality expressed as an integer into TPMA_LOCALITY form.
     14 //     The function returns the locality attribute.
     15 //
     16 TPMA_LOCALITY
     17 LocalityGetAttributes(
     18       UINT8               locality            // IN: locality value
     19       )
     20 {
     21       TPMA_LOCALITY                 locality_attributes;
     22       BYTE                         *localityAsByte = (BYTE *)&locality_attributes;
     23       MemorySet(&locality_attributes, 0, sizeof(TPMA_LOCALITY));
     24       switch(locality)
     25       {
     26           case 0:
     27               locality_attributes.locZero = SET;
     28               break;
     29           case 1:
     30               locality_attributes.locOne = SET;
     31               break;
     32           case 2:
     33               locality_attributes.locTwo = SET;
     34               break;
     35           case 3:
     36               locality_attributes.locThree = SET;
     37               break;
     38           case 4:
     39               locality_attributes.locFour = SET;
     40               break;
     41           default:
     42               pAssert(locality > 31);
     43               *localityAsByte = locality;
     44               break;
     45       }
     46       return locality_attributes;
     47 }
     48