/* header auto-generated by pidl */

#ifndef _PIDL_HEADER_tpm20_rsakey_blob
#define _PIDL_HEADER_tpm20_rsakey_blob

#include <stdint.h>


#ifndef _HEADER_tpm20_rsakey_blob
#define _HEADER_tpm20_rsakey_blob

#define TPM20_MAGIC	( 0x4D504350 )
#define PCP_TYPE_TPM_12	( 0x00000001 )
#define PCP_TYPE_TPM_20	( 0x00000002 )
#define TPM_ALG_RSA	( 0x0001 )
#define TPM_ALG_NULL	( 0x0010 )
#define TPM_ALG_SHA256	( 0x000B )
#define TPM_ALG_RSASSA	( 0x0014 )
#define TPM_RSA_EXPONENT_SIZE	( sizeof(uint32_t) )
struct TPMT_RSA_SCHEME {
	uint16_t scheme;/* [flag(LIBNDR_FLAG_BIGENDIAN),range(0x0014,0x0014),value(0x0014)] */
	uint16_t hash_algorithm;/* [flag(LIBNDR_FLAG_BIGENDIAN),range(0x000B,0x000B),value(0x000B)] */
};

struct TPMS_RSA_PARMS {
	uint16_t symmetric_algorithm;/* [flag(LIBNDR_FLAG_BIGENDIAN),range(0x0010,0x0010),value(0x0010)] */
	struct TPMT_RSA_SCHEME scheme;
	uint16_t keyBits;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
	uint8_t *exponent;
}/* [public] */;

struct TPM2B_PUBLIC_KEY_RSA {
	uint16_t size;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
	uint8_t *buffer;
}/* [public] */;

struct TPM2B_DIGEST {
	uint16_t size;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
	uint8_t *buffer;
}/* [public] */;

struct TPM2B_PUBLIC {
	uint16_t size;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
	uint16_t type;/* [flag(LIBNDR_FLAG_BIGENDIAN),range(0x0001,0x0001),value(0x0001)] */
	uint16_t hash_algorithm;/* [flag(LIBNDR_FLAG_BIGENDIAN),range(0x000B,0x000B),value(0x000B)] */
	uint32_t attributes;
	struct TPM2B_DIGEST auth_policy;
	struct TPMS_RSA_PARMS rsa_detail;
	struct TPM2B_PUBLIC_KEY_RSA rsa;
}/* [public] */;

struct TPM20_RSAKEY_BLOB {
	uint32_t magic;/* [range(0x4D504350,0x4D504350),value(0x4D504350)] */
	uint32_t header_length;/* [value(46)] */
	uint32_t type;/* [range(0x00000002,0x00000002),value(0x00000002)] */
	uint32_t flags;
	uint32_t public_length;
	uint32_t private_length;
	uint32_t migration_public_length;
	uint32_t migration_private_length;
	uint32_t policy_digest_list_length;
	uint32_t pcr_binding_length;
	uint32_t pcr_digest_length;
	uint32_t encrypted_secret_length;
	uint32_t tpm12_hostage_blob_length;
	uint16_t pcr_alg_id;
	struct TPM2B_PUBLIC public_key;/* [flag(LIBNDR_FLAG_NOALIGN)] */
	DATA_BLOB remaining;/* [flag(LIBNDR_FLAG_REMAINING)] */
}/* [public] */;

#endif /* _HEADER_tpm20_rsakey_blob */
#endif /* _PIDL_HEADER_tpm20_rsakey_blob */
