Home | History | Annotate | Line # | Download | only in tcs
      1 
      2 /*
      3  * Licensed Materials - Property of IBM
      4  *
      5  * trousers - An open source TCG Software Stack
      6  *
      7  * (C) Copyright International Business Machines Corp. 2004-2007
      8  *
      9  */
     10 
     11 
     12 #include <stdlib.h>
     13 #include <stdio.h>
     14 #include <string.h>
     15 #include <unistd.h>
     16 #include <sys/types.h>
     17 #include <sys/stat.h>
     18 #include <sys/mman.h>
     19 #include <fcntl.h>
     20 #include <errno.h>
     21 
     22 #include "trousers/tss.h"
     23 #include "trousers_types.h"
     24 #include "trousers_types.h"
     25 #include "tcs_tsp.h"
     26 #include "tcs_utils.h"
     27 #include "tcs_int_literals.h"
     28 #include "capabilities.h"
     29 #include "tcsps.h"
     30 #include "tcslog.h"
     31 
     32 
     33 void
     34 UnloadBlob_COUNTER_VALUE(UINT64 *offset, BYTE *blob, TPM_COUNTER_VALUE *ctr)
     35 {
     36 	if (!ctr) {
     37 		UnloadBlob_UINT16(offset, NULL, blob);
     38 		UnloadBlob(offset, 4, blob, NULL);
     39 		UnloadBlob_UINT32(offset, NULL, blob);
     40 		return;
     41 	}
     42 
     43 	UnloadBlob_UINT16(offset, &ctr->tag, blob);
     44 	UnloadBlob(offset, 4, blob, (BYTE *)&ctr->label);
     45 	UnloadBlob_UINT32(offset, &ctr->counter, blob);
     46 }
     47 
     48 void
     49 LoadBlob_COUNTER_VALUE(UINT64 *offset, BYTE *blob, TPM_COUNTER_VALUE *ctr)
     50 {
     51 	LoadBlob_UINT16(offset, ctr->tag, blob);
     52 	LoadBlob(offset, 4, blob, (BYTE *)&ctr->label);
     53 	LoadBlob_UINT32(offset, ctr->counter, blob);
     54 }
     55