// This file was extracted from the TCG Published
// Trusted Platform Module Library
// Part 4: Supporting Routines
// Family "2.0"
// Level 00 Revision 01.16
// October 30, 2014

#ifndef        _TPM_H_
#define        _TPM_H_
#include       "bool.h"
//
#include    "Implementation.h"
#include    "TPM_Types.h"
#include    "swap.h"

           // from the title page of the specification
#define TPM_SPEC_FAMILY      0x322E3000   // This is 2.0 in ASCII
#define TPM_SPEC_LEVEL       0
#define TPM_SPEC_VERSION     116  // Major_revision * 100 + Minor_revision
#define TPM_SPEC_DAY_OF_YEAR 303
#define TPM_SPEC_YEAR        2014

#endif // _TPM_H_
