# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_esys_binding')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_esys_binding')
    _esys_binding = swig_import_helper()
    del swig_import_helper
elif _swig_python_version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_esys_binding', [dirname(__file__)])
        except ImportError:
            import _esys_binding
            return _esys_binding
        try:
            _mod = imp.load_module('_esys_binding', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _esys_binding = swig_import_helper()
    del swig_import_helper
else:
    import _esys_binding
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except __builtin__.Exception:
    class _object:
        pass
    _newclass = 0

class TSS2_ABI_VERSION(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TSS2_ABI_VERSION, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TSS2_ABI_VERSION, name)
    __repr__ = _swig_repr
    __swig_setmethods__["tssCreator"] = _esys_binding.TSS2_ABI_VERSION_tssCreator_set
    __swig_getmethods__["tssCreator"] = _esys_binding.TSS2_ABI_VERSION_tssCreator_get
    if _newclass:
        tssCreator = _swig_property(_esys_binding.TSS2_ABI_VERSION_tssCreator_get, _esys_binding.TSS2_ABI_VERSION_tssCreator_set)
    __swig_setmethods__["tssFamily"] = _esys_binding.TSS2_ABI_VERSION_tssFamily_set
    __swig_getmethods__["tssFamily"] = _esys_binding.TSS2_ABI_VERSION_tssFamily_get
    if _newclass:
        tssFamily = _swig_property(_esys_binding.TSS2_ABI_VERSION_tssFamily_get, _esys_binding.TSS2_ABI_VERSION_tssFamily_set)
    __swig_setmethods__["tssLevel"] = _esys_binding.TSS2_ABI_VERSION_tssLevel_set
    __swig_getmethods__["tssLevel"] = _esys_binding.TSS2_ABI_VERSION_tssLevel_get
    if _newclass:
        tssLevel = _swig_property(_esys_binding.TSS2_ABI_VERSION_tssLevel_get, _esys_binding.TSS2_ABI_VERSION_tssLevel_set)
    __swig_setmethods__["tssVersion"] = _esys_binding.TSS2_ABI_VERSION_tssVersion_set
    __swig_getmethods__["tssVersion"] = _esys_binding.TSS2_ABI_VERSION_tssVersion_get
    if _newclass:
        tssVersion = _swig_property(_esys_binding.TSS2_ABI_VERSION_tssVersion_get, _esys_binding.TSS2_ABI_VERSION_tssVersion_set)

    def __init__(self):
        """__init__(TSS2_ABI_VERSION self) -> TSS2_ABI_VERSION"""
        this = _esys_binding.new_TSS2_ABI_VERSION()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TSS2_ABI_VERSION
    __del__ = lambda self: None
TSS2_ABI_VERSION_swigregister = _esys_binding.TSS2_ABI_VERSION_swigregister
TSS2_ABI_VERSION_swigregister(TSS2_ABI_VERSION)

TSS2_RC_LAYER_SHIFT = _esys_binding.TSS2_RC_LAYER_SHIFT
TSS2_BASE_RC_GENERAL_FAILURE = _esys_binding.TSS2_BASE_RC_GENERAL_FAILURE
TSS2_BASE_RC_NOT_IMPLEMENTED = _esys_binding.TSS2_BASE_RC_NOT_IMPLEMENTED
TSS2_BASE_RC_BAD_CONTEXT = _esys_binding.TSS2_BASE_RC_BAD_CONTEXT
TSS2_BASE_RC_ABI_MISMATCH = _esys_binding.TSS2_BASE_RC_ABI_MISMATCH
TSS2_BASE_RC_BAD_REFERENCE = _esys_binding.TSS2_BASE_RC_BAD_REFERENCE
TSS2_BASE_RC_INSUFFICIENT_BUFFER = _esys_binding.TSS2_BASE_RC_INSUFFICIENT_BUFFER
TSS2_BASE_RC_BAD_SEQUENCE = _esys_binding.TSS2_BASE_RC_BAD_SEQUENCE
TSS2_BASE_RC_NO_CONNECTION = _esys_binding.TSS2_BASE_RC_NO_CONNECTION
TSS2_BASE_RC_TRY_AGAIN = _esys_binding.TSS2_BASE_RC_TRY_AGAIN
TSS2_BASE_RC_IO_ERROR = _esys_binding.TSS2_BASE_RC_IO_ERROR
TSS2_BASE_RC_BAD_VALUE = _esys_binding.TSS2_BASE_RC_BAD_VALUE
TSS2_BASE_RC_NOT_PERMITTED = _esys_binding.TSS2_BASE_RC_NOT_PERMITTED
TSS2_BASE_RC_INVALID_SESSIONS = _esys_binding.TSS2_BASE_RC_INVALID_SESSIONS
TSS2_BASE_RC_NO_DECRYPT_PARAM = _esys_binding.TSS2_BASE_RC_NO_DECRYPT_PARAM
TSS2_BASE_RC_NO_ENCRYPT_PARAM = _esys_binding.TSS2_BASE_RC_NO_ENCRYPT_PARAM
TSS2_BASE_RC_BAD_SIZE = _esys_binding.TSS2_BASE_RC_BAD_SIZE
TSS2_BASE_RC_MALFORMED_RESPONSE = _esys_binding.TSS2_BASE_RC_MALFORMED_RESPONSE
TSS2_BASE_RC_INSUFFICIENT_CONTEXT = _esys_binding.TSS2_BASE_RC_INSUFFICIENT_CONTEXT
TSS2_BASE_RC_INSUFFICIENT_RESPONSE = _esys_binding.TSS2_BASE_RC_INSUFFICIENT_RESPONSE
TSS2_BASE_RC_INCOMPATIBLE_TCTI = _esys_binding.TSS2_BASE_RC_INCOMPATIBLE_TCTI
TSS2_BASE_RC_NOT_SUPPORTED = _esys_binding.TSS2_BASE_RC_NOT_SUPPORTED
TSS2_BASE_RC_BAD_TCTI_STRUCTURE = _esys_binding.TSS2_BASE_RC_BAD_TCTI_STRUCTURE
TSS2_BASE_RC_MEMORY = _esys_binding.TSS2_BASE_RC_MEMORY
TSS2_BASE_RC_BAD_TR = _esys_binding.TSS2_BASE_RC_BAD_TR
TSS2_BASE_RC_MULTIPLE_DECRYPT_SESSIONS = _esys_binding.TSS2_BASE_RC_MULTIPLE_DECRYPT_SESSIONS
TSS2_BASE_RC_MULTIPLE_ENCRYPT_SESSIONS = _esys_binding.TSS2_BASE_RC_MULTIPLE_ENCRYPT_SESSIONS
TSS2_BASE_RC_RSP_AUTH_FAILED = _esys_binding.TSS2_BASE_RC_RSP_AUTH_FAILED
TSS2_LAYER_IMPLEMENTATION_SPECIFIC_OFFSET = _esys_binding.TSS2_LAYER_IMPLEMENTATION_SPECIFIC_OFFSET
TSS2_LEVEL_IMPLEMENTATION_SPECIFIC_SHIFT = _esys_binding.TSS2_LEVEL_IMPLEMENTATION_SPECIFIC_SHIFT
TPM2_MAX_COMMAND_SIZE = _esys_binding.TPM2_MAX_COMMAND_SIZE
TPM2_MAX_RESPONSE_SIZE = _esys_binding.TPM2_MAX_RESPONSE_SIZE
TPM2_NUM_PCR_BANKS = _esys_binding.TPM2_NUM_PCR_BANKS
TPM2_MAX_DIGEST_BUFFER = _esys_binding.TPM2_MAX_DIGEST_BUFFER
TPM2_MAX_NV_BUFFER_SIZE = _esys_binding.TPM2_MAX_NV_BUFFER_SIZE
TPM2_MAX_PCRS = _esys_binding.TPM2_MAX_PCRS
TPM2_MAX_ALG_LIST_SIZE = _esys_binding.TPM2_MAX_ALG_LIST_SIZE
TPM2_MAX_CAP_CC = _esys_binding.TPM2_MAX_CAP_CC
TPM2_MAX_CAP_BUFFER = _esys_binding.TPM2_MAX_CAP_BUFFER
TPM2_MAX_CONTEXT_SIZE = _esys_binding.TPM2_MAX_CONTEXT_SIZE
TPM2_SHA_DIGEST_SIZE = _esys_binding.TPM2_SHA_DIGEST_SIZE
TPM2_SHA1_DIGEST_SIZE = _esys_binding.TPM2_SHA1_DIGEST_SIZE
TPM2_SHA256_DIGEST_SIZE = _esys_binding.TPM2_SHA256_DIGEST_SIZE
TPM2_SHA384_DIGEST_SIZE = _esys_binding.TPM2_SHA384_DIGEST_SIZE
TPM2_SHA512_DIGEST_SIZE = _esys_binding.TPM2_SHA512_DIGEST_SIZE
TPM2_SM3_256_DIGEST_SIZE = _esys_binding.TPM2_SM3_256_DIGEST_SIZE
TPM2_MAX_SYM_BLOCK_SIZE = _esys_binding.TPM2_MAX_SYM_BLOCK_SIZE
TPM2_MAX_SYM_DATA = _esys_binding.TPM2_MAX_SYM_DATA
TPM2_MAX_ECC_KEY_BYTES = _esys_binding.TPM2_MAX_ECC_KEY_BYTES
TPM2_MAX_SYM_KEY_BYTES = _esys_binding.TPM2_MAX_SYM_KEY_BYTES
TPM2_MAX_RSA_KEY_BYTES = _esys_binding.TPM2_MAX_RSA_KEY_BYTES
TPM2_LABEL_MAX_BUFFER = _esys_binding.TPM2_LABEL_MAX_BUFFER
TPM2_PCR_SELECT_MAX = _esys_binding.TPM2_PCR_SELECT_MAX
TPM2_PRIVATE_VENDOR_SPECIFIC_BYTES = _esys_binding.TPM2_PRIVATE_VENDOR_SPECIFIC_BYTES
TPMA_LOCALITY_EXTENDED_SHIFT = _esys_binding.TPMA_LOCALITY_EXTENDED_SHIFT
TPMA_CC_COMMANDINDEX_SHIFT = _esys_binding.TPMA_CC_COMMANDINDEX_SHIFT
TPMA_CC_CHANDLES_SHIFT = _esys_binding.TPMA_CC_CHANDLES_SHIFT
TPMA_CC_RES_SHIFT = _esys_binding.TPMA_CC_RES_SHIFT
TPM2_NO = _esys_binding.TPM2_NO
TPM2_YES = _esys_binding.TPM2_YES
class TPMS_EMPTY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_EMPTY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_EMPTY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["empty"] = _esys_binding.TPMS_EMPTY_empty_set
    __swig_getmethods__["empty"] = _esys_binding.TPMS_EMPTY_empty_get
    if _newclass:
        empty = _swig_property(_esys_binding.TPMS_EMPTY_empty_get, _esys_binding.TPMS_EMPTY_empty_set)

    def __init__(self):
        """__init__(TPMS_EMPTY self) -> TPMS_EMPTY"""
        this = _esys_binding.new_TPMS_EMPTY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_EMPTY
    __del__ = lambda self: None
TPMS_EMPTY_swigregister = _esys_binding.TPMS_EMPTY_swigregister
TPMS_EMPTY_swigregister(TPMS_EMPTY)

class TPMS_ALGORITHM_DESCRIPTION(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ALGORITHM_DESCRIPTION, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ALGORITHM_DESCRIPTION, name)
    __repr__ = _swig_repr
    __swig_setmethods__["alg"] = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_alg_set
    __swig_getmethods__["alg"] = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_alg_get
    if _newclass:
        alg = _swig_property(_esys_binding.TPMS_ALGORITHM_DESCRIPTION_alg_get, _esys_binding.TPMS_ALGORITHM_DESCRIPTION_alg_set)
    __swig_setmethods__["attributes"] = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_attributes_set
    __swig_getmethods__["attributes"] = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_attributes_get
    if _newclass:
        attributes = _swig_property(_esys_binding.TPMS_ALGORITHM_DESCRIPTION_attributes_get, _esys_binding.TPMS_ALGORITHM_DESCRIPTION_attributes_set)

    def __init__(self):
        """__init__(TPMS_ALGORITHM_DESCRIPTION self) -> TPMS_ALGORITHM_DESCRIPTION"""
        this = _esys_binding.new_TPMS_ALGORITHM_DESCRIPTION()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ALGORITHM_DESCRIPTION
    __del__ = lambda self: None
TPMS_ALGORITHM_DESCRIPTION_swigregister = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_swigregister
TPMS_ALGORITHM_DESCRIPTION_swigregister(TPMS_ALGORITHM_DESCRIPTION)

class TPMU_HA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_HA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_HA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["sha1"] = _esys_binding.TPMU_HA_sha1_set
    __swig_getmethods__["sha1"] = _esys_binding.TPMU_HA_sha1_get
    if _newclass:
        sha1 = _swig_property(_esys_binding.TPMU_HA_sha1_get, _esys_binding.TPMU_HA_sha1_set)
    __swig_setmethods__["sha256"] = _esys_binding.TPMU_HA_sha256_set
    __swig_getmethods__["sha256"] = _esys_binding.TPMU_HA_sha256_get
    if _newclass:
        sha256 = _swig_property(_esys_binding.TPMU_HA_sha256_get, _esys_binding.TPMU_HA_sha256_set)
    __swig_setmethods__["sha384"] = _esys_binding.TPMU_HA_sha384_set
    __swig_getmethods__["sha384"] = _esys_binding.TPMU_HA_sha384_get
    if _newclass:
        sha384 = _swig_property(_esys_binding.TPMU_HA_sha384_get, _esys_binding.TPMU_HA_sha384_set)
    __swig_setmethods__["sha512"] = _esys_binding.TPMU_HA_sha512_set
    __swig_getmethods__["sha512"] = _esys_binding.TPMU_HA_sha512_get
    if _newclass:
        sha512 = _swig_property(_esys_binding.TPMU_HA_sha512_get, _esys_binding.TPMU_HA_sha512_set)
    __swig_setmethods__["sm3_256"] = _esys_binding.TPMU_HA_sm3_256_set
    __swig_getmethods__["sm3_256"] = _esys_binding.TPMU_HA_sm3_256_get
    if _newclass:
        sm3_256 = _swig_property(_esys_binding.TPMU_HA_sm3_256_get, _esys_binding.TPMU_HA_sm3_256_set)

    def __init__(self):
        """__init__(TPMU_HA self) -> TPMU_HA"""
        this = _esys_binding.new_TPMU_HA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_HA
    __del__ = lambda self: None
TPMU_HA_swigregister = _esys_binding.TPMU_HA_swigregister
TPMU_HA_swigregister(TPMU_HA)

class TPMT_HA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_HA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_HA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hashAlg"] = _esys_binding.TPMT_HA_hashAlg_set
    __swig_getmethods__["hashAlg"] = _esys_binding.TPMT_HA_hashAlg_get
    if _newclass:
        hashAlg = _swig_property(_esys_binding.TPMT_HA_hashAlg_get, _esys_binding.TPMT_HA_hashAlg_set)
    __swig_setmethods__["digest"] = _esys_binding.TPMT_HA_digest_set
    __swig_getmethods__["digest"] = _esys_binding.TPMT_HA_digest_get
    if _newclass:
        digest = _swig_property(_esys_binding.TPMT_HA_digest_get, _esys_binding.TPMT_HA_digest_set)

    def __init__(self):
        """__init__(TPMT_HA self) -> TPMT_HA"""
        this = _esys_binding.new_TPMT_HA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_HA
    __del__ = lambda self: None
TPMT_HA_swigregister = _esys_binding.TPMT_HA_swigregister
TPMT_HA_swigregister(TPMT_HA)

class TPM2B_DIGEST(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_DIGEST, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_DIGEST, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_DIGEST_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_DIGEST_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_DIGEST_size_get, _esys_binding.TPM2B_DIGEST_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_DIGEST_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_DIGEST_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_DIGEST_buffer_get, _esys_binding.TPM2B_DIGEST_buffer_set)

    def __init__(self):
        """__init__(TPM2B_DIGEST self) -> TPM2B_DIGEST"""
        this = _esys_binding.new_TPM2B_DIGEST()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_DIGEST
    __del__ = lambda self: None
TPM2B_DIGEST_swigregister = _esys_binding.TPM2B_DIGEST_swigregister
TPM2B_DIGEST_swigregister(TPM2B_DIGEST)

class TPM2B_DATA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_DATA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_DATA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_DATA_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_DATA_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_DATA_size_get, _esys_binding.TPM2B_DATA_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_DATA_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_DATA_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_DATA_buffer_get, _esys_binding.TPM2B_DATA_buffer_set)

    def __init__(self):
        """__init__(TPM2B_DATA self) -> TPM2B_DATA"""
        this = _esys_binding.new_TPM2B_DATA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_DATA
    __del__ = lambda self: None
TPM2B_DATA_swigregister = _esys_binding.TPM2B_DATA_swigregister
TPM2B_DATA_swigregister(TPM2B_DATA)

class TPM2B_EVENT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_EVENT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_EVENT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_EVENT_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_EVENT_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_EVENT_size_get, _esys_binding.TPM2B_EVENT_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_EVENT_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_EVENT_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_EVENT_buffer_get, _esys_binding.TPM2B_EVENT_buffer_set)

    def __init__(self):
        """__init__(TPM2B_EVENT self) -> TPM2B_EVENT"""
        this = _esys_binding.new_TPM2B_EVENT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_EVENT
    __del__ = lambda self: None
TPM2B_EVENT_swigregister = _esys_binding.TPM2B_EVENT_swigregister
TPM2B_EVENT_swigregister(TPM2B_EVENT)

class TPM2B_MAX_BUFFER(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_MAX_BUFFER, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_MAX_BUFFER, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_MAX_BUFFER_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_MAX_BUFFER_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_MAX_BUFFER_size_get, _esys_binding.TPM2B_MAX_BUFFER_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_MAX_BUFFER_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_MAX_BUFFER_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_MAX_BUFFER_buffer_get, _esys_binding.TPM2B_MAX_BUFFER_buffer_set)

    def __init__(self):
        """__init__(TPM2B_MAX_BUFFER self) -> TPM2B_MAX_BUFFER"""
        this = _esys_binding.new_TPM2B_MAX_BUFFER()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_MAX_BUFFER
    __del__ = lambda self: None
TPM2B_MAX_BUFFER_swigregister = _esys_binding.TPM2B_MAX_BUFFER_swigregister
TPM2B_MAX_BUFFER_swigregister(TPM2B_MAX_BUFFER)

class TPM2B_MAX_NV_BUFFER(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_MAX_NV_BUFFER, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_MAX_NV_BUFFER, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_MAX_NV_BUFFER_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_MAX_NV_BUFFER_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_MAX_NV_BUFFER_size_get, _esys_binding.TPM2B_MAX_NV_BUFFER_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_MAX_NV_BUFFER_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_MAX_NV_BUFFER_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_MAX_NV_BUFFER_buffer_get, _esys_binding.TPM2B_MAX_NV_BUFFER_buffer_set)

    def __init__(self):
        """__init__(TPM2B_MAX_NV_BUFFER self) -> TPM2B_MAX_NV_BUFFER"""
        this = _esys_binding.new_TPM2B_MAX_NV_BUFFER()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_MAX_NV_BUFFER
    __del__ = lambda self: None
TPM2B_MAX_NV_BUFFER_swigregister = _esys_binding.TPM2B_MAX_NV_BUFFER_swigregister
TPM2B_MAX_NV_BUFFER_swigregister(TPM2B_MAX_NV_BUFFER)

class TPM2B_IV(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_IV, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_IV, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_IV_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_IV_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_IV_size_get, _esys_binding.TPM2B_IV_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_IV_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_IV_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_IV_buffer_get, _esys_binding.TPM2B_IV_buffer_set)

    def __init__(self):
        """__init__(TPM2B_IV self) -> TPM2B_IV"""
        this = _esys_binding.new_TPM2B_IV()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_IV
    __del__ = lambda self: None
TPM2B_IV_swigregister = _esys_binding.TPM2B_IV_swigregister
TPM2B_IV_swigregister(TPM2B_IV)

class TPMU_NAME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_NAME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_NAME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["digest"] = _esys_binding.TPMU_NAME_digest_set
    __swig_getmethods__["digest"] = _esys_binding.TPMU_NAME_digest_get
    if _newclass:
        digest = _swig_property(_esys_binding.TPMU_NAME_digest_get, _esys_binding.TPMU_NAME_digest_set)
    __swig_setmethods__["handle"] = _esys_binding.TPMU_NAME_handle_set
    __swig_getmethods__["handle"] = _esys_binding.TPMU_NAME_handle_get
    if _newclass:
        handle = _swig_property(_esys_binding.TPMU_NAME_handle_get, _esys_binding.TPMU_NAME_handle_set)

    def __init__(self):
        """__init__(TPMU_NAME self) -> TPMU_NAME"""
        this = _esys_binding.new_TPMU_NAME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_NAME
    __del__ = lambda self: None
TPMU_NAME_swigregister = _esys_binding.TPMU_NAME_swigregister
TPMU_NAME_swigregister(TPMU_NAME)

class TPM2B_NAME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_NAME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_NAME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_NAME_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_NAME_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_NAME_size_get, _esys_binding.TPM2B_NAME_size_set)
    __swig_setmethods__["name"] = _esys_binding.TPM2B_NAME_name_set
    __swig_getmethods__["name"] = _esys_binding.TPM2B_NAME_name_get
    if _newclass:
        name = _swig_property(_esys_binding.TPM2B_NAME_name_get, _esys_binding.TPM2B_NAME_name_set)

    def __init__(self):
        """__init__(TPM2B_NAME self) -> TPM2B_NAME"""
        this = _esys_binding.new_TPM2B_NAME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_NAME
    __del__ = lambda self: None
TPM2B_NAME_swigregister = _esys_binding.TPM2B_NAME_swigregister
TPM2B_NAME_swigregister(TPM2B_NAME)

class TPMS_PCR_SELECT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_PCR_SELECT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_PCR_SELECT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["sizeofSelect"] = _esys_binding.TPMS_PCR_SELECT_sizeofSelect_set
    __swig_getmethods__["sizeofSelect"] = _esys_binding.TPMS_PCR_SELECT_sizeofSelect_get
    if _newclass:
        sizeofSelect = _swig_property(_esys_binding.TPMS_PCR_SELECT_sizeofSelect_get, _esys_binding.TPMS_PCR_SELECT_sizeofSelect_set)
    __swig_setmethods__["pcrSelect"] = _esys_binding.TPMS_PCR_SELECT_pcrSelect_set
    __swig_getmethods__["pcrSelect"] = _esys_binding.TPMS_PCR_SELECT_pcrSelect_get
    if _newclass:
        pcrSelect = _swig_property(_esys_binding.TPMS_PCR_SELECT_pcrSelect_get, _esys_binding.TPMS_PCR_SELECT_pcrSelect_set)

    def __init__(self):
        """__init__(TPMS_PCR_SELECT self) -> TPMS_PCR_SELECT"""
        this = _esys_binding.new_TPMS_PCR_SELECT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_PCR_SELECT
    __del__ = lambda self: None
TPMS_PCR_SELECT_swigregister = _esys_binding.TPMS_PCR_SELECT_swigregister
TPMS_PCR_SELECT_swigregister(TPMS_PCR_SELECT)

class TPMS_PCR_SELECTION(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_PCR_SELECTION, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_PCR_SELECTION, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hash"] = _esys_binding.TPMS_PCR_SELECTION_hash_set
    __swig_getmethods__["hash"] = _esys_binding.TPMS_PCR_SELECTION_hash_get
    if _newclass:
        hash = _swig_property(_esys_binding.TPMS_PCR_SELECTION_hash_get, _esys_binding.TPMS_PCR_SELECTION_hash_set)
    __swig_setmethods__["sizeofSelect"] = _esys_binding.TPMS_PCR_SELECTION_sizeofSelect_set
    __swig_getmethods__["sizeofSelect"] = _esys_binding.TPMS_PCR_SELECTION_sizeofSelect_get
    if _newclass:
        sizeofSelect = _swig_property(_esys_binding.TPMS_PCR_SELECTION_sizeofSelect_get, _esys_binding.TPMS_PCR_SELECTION_sizeofSelect_set)
    __swig_setmethods__["pcrSelect"] = _esys_binding.TPMS_PCR_SELECTION_pcrSelect_set
    __swig_getmethods__["pcrSelect"] = _esys_binding.TPMS_PCR_SELECTION_pcrSelect_get
    if _newclass:
        pcrSelect = _swig_property(_esys_binding.TPMS_PCR_SELECTION_pcrSelect_get, _esys_binding.TPMS_PCR_SELECTION_pcrSelect_set)

    def __init__(self):
        """__init__(TPMS_PCR_SELECTION self) -> TPMS_PCR_SELECTION"""
        this = _esys_binding.new_TPMS_PCR_SELECTION()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_PCR_SELECTION
    __del__ = lambda self: None
TPMS_PCR_SELECTION_swigregister = _esys_binding.TPMS_PCR_SELECTION_swigregister
TPMS_PCR_SELECTION_swigregister(TPMS_PCR_SELECTION)

class TPMT_TK_CREATION(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_TK_CREATION, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_TK_CREATION, name)
    __repr__ = _swig_repr
    __swig_setmethods__["tag"] = _esys_binding.TPMT_TK_CREATION_tag_set
    __swig_getmethods__["tag"] = _esys_binding.TPMT_TK_CREATION_tag_get
    if _newclass:
        tag = _swig_property(_esys_binding.TPMT_TK_CREATION_tag_get, _esys_binding.TPMT_TK_CREATION_tag_set)
    __swig_setmethods__["hierarchy"] = _esys_binding.TPMT_TK_CREATION_hierarchy_set
    __swig_getmethods__["hierarchy"] = _esys_binding.TPMT_TK_CREATION_hierarchy_get
    if _newclass:
        hierarchy = _swig_property(_esys_binding.TPMT_TK_CREATION_hierarchy_get, _esys_binding.TPMT_TK_CREATION_hierarchy_set)
    __swig_setmethods__["digest"] = _esys_binding.TPMT_TK_CREATION_digest_set
    __swig_getmethods__["digest"] = _esys_binding.TPMT_TK_CREATION_digest_get
    if _newclass:
        digest = _swig_property(_esys_binding.TPMT_TK_CREATION_digest_get, _esys_binding.TPMT_TK_CREATION_digest_set)

    def __init__(self):
        """__init__(TPMT_TK_CREATION self) -> TPMT_TK_CREATION"""
        this = _esys_binding.new_TPMT_TK_CREATION()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_TK_CREATION
    __del__ = lambda self: None
TPMT_TK_CREATION_swigregister = _esys_binding.TPMT_TK_CREATION_swigregister
TPMT_TK_CREATION_swigregister(TPMT_TK_CREATION)

class TPMT_TK_VERIFIED(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_TK_VERIFIED, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_TK_VERIFIED, name)
    __repr__ = _swig_repr
    __swig_setmethods__["tag"] = _esys_binding.TPMT_TK_VERIFIED_tag_set
    __swig_getmethods__["tag"] = _esys_binding.TPMT_TK_VERIFIED_tag_get
    if _newclass:
        tag = _swig_property(_esys_binding.TPMT_TK_VERIFIED_tag_get, _esys_binding.TPMT_TK_VERIFIED_tag_set)
    __swig_setmethods__["hierarchy"] = _esys_binding.TPMT_TK_VERIFIED_hierarchy_set
    __swig_getmethods__["hierarchy"] = _esys_binding.TPMT_TK_VERIFIED_hierarchy_get
    if _newclass:
        hierarchy = _swig_property(_esys_binding.TPMT_TK_VERIFIED_hierarchy_get, _esys_binding.TPMT_TK_VERIFIED_hierarchy_set)
    __swig_setmethods__["digest"] = _esys_binding.TPMT_TK_VERIFIED_digest_set
    __swig_getmethods__["digest"] = _esys_binding.TPMT_TK_VERIFIED_digest_get
    if _newclass:
        digest = _swig_property(_esys_binding.TPMT_TK_VERIFIED_digest_get, _esys_binding.TPMT_TK_VERIFIED_digest_set)

    def __init__(self):
        """__init__(TPMT_TK_VERIFIED self) -> TPMT_TK_VERIFIED"""
        this = _esys_binding.new_TPMT_TK_VERIFIED()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_TK_VERIFIED
    __del__ = lambda self: None
TPMT_TK_VERIFIED_swigregister = _esys_binding.TPMT_TK_VERIFIED_swigregister
TPMT_TK_VERIFIED_swigregister(TPMT_TK_VERIFIED)

class TPMT_TK_AUTH(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_TK_AUTH, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_TK_AUTH, name)
    __repr__ = _swig_repr
    __swig_setmethods__["tag"] = _esys_binding.TPMT_TK_AUTH_tag_set
    __swig_getmethods__["tag"] = _esys_binding.TPMT_TK_AUTH_tag_get
    if _newclass:
        tag = _swig_property(_esys_binding.TPMT_TK_AUTH_tag_get, _esys_binding.TPMT_TK_AUTH_tag_set)
    __swig_setmethods__["hierarchy"] = _esys_binding.TPMT_TK_AUTH_hierarchy_set
    __swig_getmethods__["hierarchy"] = _esys_binding.TPMT_TK_AUTH_hierarchy_get
    if _newclass:
        hierarchy = _swig_property(_esys_binding.TPMT_TK_AUTH_hierarchy_get, _esys_binding.TPMT_TK_AUTH_hierarchy_set)
    __swig_setmethods__["digest"] = _esys_binding.TPMT_TK_AUTH_digest_set
    __swig_getmethods__["digest"] = _esys_binding.TPMT_TK_AUTH_digest_get
    if _newclass:
        digest = _swig_property(_esys_binding.TPMT_TK_AUTH_digest_get, _esys_binding.TPMT_TK_AUTH_digest_set)

    def __init__(self):
        """__init__(TPMT_TK_AUTH self) -> TPMT_TK_AUTH"""
        this = _esys_binding.new_TPMT_TK_AUTH()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_TK_AUTH
    __del__ = lambda self: None
TPMT_TK_AUTH_swigregister = _esys_binding.TPMT_TK_AUTH_swigregister
TPMT_TK_AUTH_swigregister(TPMT_TK_AUTH)

class TPMT_TK_HASHCHECK(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_TK_HASHCHECK, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_TK_HASHCHECK, name)
    __repr__ = _swig_repr
    __swig_setmethods__["tag"] = _esys_binding.TPMT_TK_HASHCHECK_tag_set
    __swig_getmethods__["tag"] = _esys_binding.TPMT_TK_HASHCHECK_tag_get
    if _newclass:
        tag = _swig_property(_esys_binding.TPMT_TK_HASHCHECK_tag_get, _esys_binding.TPMT_TK_HASHCHECK_tag_set)
    __swig_setmethods__["hierarchy"] = _esys_binding.TPMT_TK_HASHCHECK_hierarchy_set
    __swig_getmethods__["hierarchy"] = _esys_binding.TPMT_TK_HASHCHECK_hierarchy_get
    if _newclass:
        hierarchy = _swig_property(_esys_binding.TPMT_TK_HASHCHECK_hierarchy_get, _esys_binding.TPMT_TK_HASHCHECK_hierarchy_set)
    __swig_setmethods__["digest"] = _esys_binding.TPMT_TK_HASHCHECK_digest_set
    __swig_getmethods__["digest"] = _esys_binding.TPMT_TK_HASHCHECK_digest_get
    if _newclass:
        digest = _swig_property(_esys_binding.TPMT_TK_HASHCHECK_digest_get, _esys_binding.TPMT_TK_HASHCHECK_digest_set)

    def __init__(self):
        """__init__(TPMT_TK_HASHCHECK self) -> TPMT_TK_HASHCHECK"""
        this = _esys_binding.new_TPMT_TK_HASHCHECK()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_TK_HASHCHECK
    __del__ = lambda self: None
TPMT_TK_HASHCHECK_swigregister = _esys_binding.TPMT_TK_HASHCHECK_swigregister
TPMT_TK_HASHCHECK_swigregister(TPMT_TK_HASHCHECK)

class TPMS_ALG_PROPERTY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ALG_PROPERTY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ALG_PROPERTY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["alg"] = _esys_binding.TPMS_ALG_PROPERTY_alg_set
    __swig_getmethods__["alg"] = _esys_binding.TPMS_ALG_PROPERTY_alg_get
    if _newclass:
        alg = _swig_property(_esys_binding.TPMS_ALG_PROPERTY_alg_get, _esys_binding.TPMS_ALG_PROPERTY_alg_set)
    __swig_setmethods__["algProperties"] = _esys_binding.TPMS_ALG_PROPERTY_algProperties_set
    __swig_getmethods__["algProperties"] = _esys_binding.TPMS_ALG_PROPERTY_algProperties_get
    if _newclass:
        algProperties = _swig_property(_esys_binding.TPMS_ALG_PROPERTY_algProperties_get, _esys_binding.TPMS_ALG_PROPERTY_algProperties_set)

    def __init__(self):
        """__init__(TPMS_ALG_PROPERTY self) -> TPMS_ALG_PROPERTY"""
        this = _esys_binding.new_TPMS_ALG_PROPERTY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ALG_PROPERTY
    __del__ = lambda self: None
TPMS_ALG_PROPERTY_swigregister = _esys_binding.TPMS_ALG_PROPERTY_swigregister
TPMS_ALG_PROPERTY_swigregister(TPMS_ALG_PROPERTY)

class TPMS_TAGGED_PROPERTY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_TAGGED_PROPERTY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_TAGGED_PROPERTY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["property"] = _esys_binding.TPMS_TAGGED_PROPERTY_property_set
    __swig_getmethods__["property"] = _esys_binding.TPMS_TAGGED_PROPERTY_property_get
    if _newclass:
        property = _swig_property(_esys_binding.TPMS_TAGGED_PROPERTY_property_get, _esys_binding.TPMS_TAGGED_PROPERTY_property_set)
    __swig_setmethods__["value"] = _esys_binding.TPMS_TAGGED_PROPERTY_value_set
    __swig_getmethods__["value"] = _esys_binding.TPMS_TAGGED_PROPERTY_value_get
    if _newclass:
        value = _swig_property(_esys_binding.TPMS_TAGGED_PROPERTY_value_get, _esys_binding.TPMS_TAGGED_PROPERTY_value_set)

    def __init__(self):
        """__init__(TPMS_TAGGED_PROPERTY self) -> TPMS_TAGGED_PROPERTY"""
        this = _esys_binding.new_TPMS_TAGGED_PROPERTY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_TAGGED_PROPERTY
    __del__ = lambda self: None
TPMS_TAGGED_PROPERTY_swigregister = _esys_binding.TPMS_TAGGED_PROPERTY_swigregister
TPMS_TAGGED_PROPERTY_swigregister(TPMS_TAGGED_PROPERTY)

class TPMS_TAGGED_PCR_SELECT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_TAGGED_PCR_SELECT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_TAGGED_PCR_SELECT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["tag"] = _esys_binding.TPMS_TAGGED_PCR_SELECT_tag_set
    __swig_getmethods__["tag"] = _esys_binding.TPMS_TAGGED_PCR_SELECT_tag_get
    if _newclass:
        tag = _swig_property(_esys_binding.TPMS_TAGGED_PCR_SELECT_tag_get, _esys_binding.TPMS_TAGGED_PCR_SELECT_tag_set)
    __swig_setmethods__["sizeofSelect"] = _esys_binding.TPMS_TAGGED_PCR_SELECT_sizeofSelect_set
    __swig_getmethods__["sizeofSelect"] = _esys_binding.TPMS_TAGGED_PCR_SELECT_sizeofSelect_get
    if _newclass:
        sizeofSelect = _swig_property(_esys_binding.TPMS_TAGGED_PCR_SELECT_sizeofSelect_get, _esys_binding.TPMS_TAGGED_PCR_SELECT_sizeofSelect_set)
    __swig_setmethods__["pcrSelect"] = _esys_binding.TPMS_TAGGED_PCR_SELECT_pcrSelect_set
    __swig_getmethods__["pcrSelect"] = _esys_binding.TPMS_TAGGED_PCR_SELECT_pcrSelect_get
    if _newclass:
        pcrSelect = _swig_property(_esys_binding.TPMS_TAGGED_PCR_SELECT_pcrSelect_get, _esys_binding.TPMS_TAGGED_PCR_SELECT_pcrSelect_set)

    def __init__(self):
        """__init__(TPMS_TAGGED_PCR_SELECT self) -> TPMS_TAGGED_PCR_SELECT"""
        this = _esys_binding.new_TPMS_TAGGED_PCR_SELECT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_TAGGED_PCR_SELECT
    __del__ = lambda self: None
TPMS_TAGGED_PCR_SELECT_swigregister = _esys_binding.TPMS_TAGGED_PCR_SELECT_swigregister
TPMS_TAGGED_PCR_SELECT_swigregister(TPMS_TAGGED_PCR_SELECT)

class TPMS_TAGGED_POLICY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_TAGGED_POLICY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_TAGGED_POLICY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["handle"] = _esys_binding.TPMS_TAGGED_POLICY_handle_set
    __swig_getmethods__["handle"] = _esys_binding.TPMS_TAGGED_POLICY_handle_get
    if _newclass:
        handle = _swig_property(_esys_binding.TPMS_TAGGED_POLICY_handle_get, _esys_binding.TPMS_TAGGED_POLICY_handle_set)
    __swig_setmethods__["policyHash"] = _esys_binding.TPMS_TAGGED_POLICY_policyHash_set
    __swig_getmethods__["policyHash"] = _esys_binding.TPMS_TAGGED_POLICY_policyHash_get
    if _newclass:
        policyHash = _swig_property(_esys_binding.TPMS_TAGGED_POLICY_policyHash_get, _esys_binding.TPMS_TAGGED_POLICY_policyHash_set)

    def __init__(self):
        """__init__(TPMS_TAGGED_POLICY self) -> TPMS_TAGGED_POLICY"""
        this = _esys_binding.new_TPMS_TAGGED_POLICY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_TAGGED_POLICY
    __del__ = lambda self: None
TPMS_TAGGED_POLICY_swigregister = _esys_binding.TPMS_TAGGED_POLICY_swigregister
TPMS_TAGGED_POLICY_swigregister(TPMS_TAGGED_POLICY)

class TPML_CC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_CC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_CC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_CC_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_CC_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_CC_count_get, _esys_binding.TPML_CC_count_set)
    __swig_setmethods__["commandCodes"] = _esys_binding.TPML_CC_commandCodes_set
    __swig_getmethods__["commandCodes"] = _esys_binding.TPML_CC_commandCodes_get
    if _newclass:
        commandCodes = _swig_property(_esys_binding.TPML_CC_commandCodes_get, _esys_binding.TPML_CC_commandCodes_set)

    def __init__(self):
        """__init__(TPML_CC self) -> TPML_CC"""
        this = _esys_binding.new_TPML_CC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_CC
    __del__ = lambda self: None
TPML_CC_swigregister = _esys_binding.TPML_CC_swigregister
TPML_CC_swigregister(TPML_CC)

class TPML_CCA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_CCA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_CCA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_CCA_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_CCA_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_CCA_count_get, _esys_binding.TPML_CCA_count_set)
    __swig_setmethods__["commandAttributes"] = _esys_binding.TPML_CCA_commandAttributes_set
    __swig_getmethods__["commandAttributes"] = _esys_binding.TPML_CCA_commandAttributes_get
    if _newclass:
        commandAttributes = _swig_property(_esys_binding.TPML_CCA_commandAttributes_get, _esys_binding.TPML_CCA_commandAttributes_set)

    def __init__(self):
        """__init__(TPML_CCA self) -> TPML_CCA"""
        this = _esys_binding.new_TPML_CCA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_CCA
    __del__ = lambda self: None
TPML_CCA_swigregister = _esys_binding.TPML_CCA_swigregister
TPML_CCA_swigregister(TPML_CCA)

class TPML_ALG(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_ALG, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_ALG, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_ALG_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_ALG_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_ALG_count_get, _esys_binding.TPML_ALG_count_set)
    __swig_setmethods__["algorithms"] = _esys_binding.TPML_ALG_algorithms_set
    __swig_getmethods__["algorithms"] = _esys_binding.TPML_ALG_algorithms_get
    if _newclass:
        algorithms = _swig_property(_esys_binding.TPML_ALG_algorithms_get, _esys_binding.TPML_ALG_algorithms_set)

    def __init__(self):
        """__init__(TPML_ALG self) -> TPML_ALG"""
        this = _esys_binding.new_TPML_ALG()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_ALG
    __del__ = lambda self: None
TPML_ALG_swigregister = _esys_binding.TPML_ALG_swigregister
TPML_ALG_swigregister(TPML_ALG)

class TPML_HANDLE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_HANDLE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_HANDLE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_HANDLE_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_HANDLE_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_HANDLE_count_get, _esys_binding.TPML_HANDLE_count_set)
    __swig_setmethods__["handle"] = _esys_binding.TPML_HANDLE_handle_set
    __swig_getmethods__["handle"] = _esys_binding.TPML_HANDLE_handle_get
    if _newclass:
        handle = _swig_property(_esys_binding.TPML_HANDLE_handle_get, _esys_binding.TPML_HANDLE_handle_set)

    def __init__(self):
        """__init__(TPML_HANDLE self) -> TPML_HANDLE"""
        this = _esys_binding.new_TPML_HANDLE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_HANDLE
    __del__ = lambda self: None
TPML_HANDLE_swigregister = _esys_binding.TPML_HANDLE_swigregister
TPML_HANDLE_swigregister(TPML_HANDLE)

class TPML_DIGEST(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_DIGEST, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_DIGEST, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_DIGEST_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_DIGEST_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_DIGEST_count_get, _esys_binding.TPML_DIGEST_count_set)
    __swig_setmethods__["digests"] = _esys_binding.TPML_DIGEST_digests_set
    __swig_getmethods__["digests"] = _esys_binding.TPML_DIGEST_digests_get
    if _newclass:
        digests = _swig_property(_esys_binding.TPML_DIGEST_digests_get, _esys_binding.TPML_DIGEST_digests_set)

    def __init__(self):
        """__init__(TPML_DIGEST self) -> TPML_DIGEST"""
        this = _esys_binding.new_TPML_DIGEST()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_DIGEST
    __del__ = lambda self: None
TPML_DIGEST_swigregister = _esys_binding.TPML_DIGEST_swigregister
TPML_DIGEST_swigregister(TPML_DIGEST)

class TPML_DIGEST_VALUES(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_DIGEST_VALUES, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_DIGEST_VALUES, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_DIGEST_VALUES_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_DIGEST_VALUES_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_DIGEST_VALUES_count_get, _esys_binding.TPML_DIGEST_VALUES_count_set)
    __swig_setmethods__["digests"] = _esys_binding.TPML_DIGEST_VALUES_digests_set
    __swig_getmethods__["digests"] = _esys_binding.TPML_DIGEST_VALUES_digests_get
    if _newclass:
        digests = _swig_property(_esys_binding.TPML_DIGEST_VALUES_digests_get, _esys_binding.TPML_DIGEST_VALUES_digests_set)

    def __init__(self):
        """__init__(TPML_DIGEST_VALUES self) -> TPML_DIGEST_VALUES"""
        this = _esys_binding.new_TPML_DIGEST_VALUES()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_DIGEST_VALUES
    __del__ = lambda self: None
TPML_DIGEST_VALUES_swigregister = _esys_binding.TPML_DIGEST_VALUES_swigregister
TPML_DIGEST_VALUES_swigregister(TPML_DIGEST_VALUES)

class TPML_PCR_SELECTION(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_PCR_SELECTION, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_PCR_SELECTION, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_PCR_SELECTION_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_PCR_SELECTION_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_PCR_SELECTION_count_get, _esys_binding.TPML_PCR_SELECTION_count_set)
    __swig_setmethods__["pcrSelections"] = _esys_binding.TPML_PCR_SELECTION_pcrSelections_set
    __swig_getmethods__["pcrSelections"] = _esys_binding.TPML_PCR_SELECTION_pcrSelections_get
    if _newclass:
        pcrSelections = _swig_property(_esys_binding.TPML_PCR_SELECTION_pcrSelections_get, _esys_binding.TPML_PCR_SELECTION_pcrSelections_set)

    def __init__(self):
        """__init__(TPML_PCR_SELECTION self) -> TPML_PCR_SELECTION"""
        this = _esys_binding.new_TPML_PCR_SELECTION()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_PCR_SELECTION
    __del__ = lambda self: None
TPML_PCR_SELECTION_swigregister = _esys_binding.TPML_PCR_SELECTION_swigregister
TPML_PCR_SELECTION_swigregister(TPML_PCR_SELECTION)

class TPML_ALG_PROPERTY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_ALG_PROPERTY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_ALG_PROPERTY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_ALG_PROPERTY_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_ALG_PROPERTY_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_ALG_PROPERTY_count_get, _esys_binding.TPML_ALG_PROPERTY_count_set)
    __swig_setmethods__["algProperties"] = _esys_binding.TPML_ALG_PROPERTY_algProperties_set
    __swig_getmethods__["algProperties"] = _esys_binding.TPML_ALG_PROPERTY_algProperties_get
    if _newclass:
        algProperties = _swig_property(_esys_binding.TPML_ALG_PROPERTY_algProperties_get, _esys_binding.TPML_ALG_PROPERTY_algProperties_set)

    def __init__(self):
        """__init__(TPML_ALG_PROPERTY self) -> TPML_ALG_PROPERTY"""
        this = _esys_binding.new_TPML_ALG_PROPERTY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_ALG_PROPERTY
    __del__ = lambda self: None
TPML_ALG_PROPERTY_swigregister = _esys_binding.TPML_ALG_PROPERTY_swigregister
TPML_ALG_PROPERTY_swigregister(TPML_ALG_PROPERTY)

class TPML_TAGGED_TPM_PROPERTY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_TAGGED_TPM_PROPERTY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_TAGGED_TPM_PROPERTY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_TAGGED_TPM_PROPERTY_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_TAGGED_TPM_PROPERTY_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_TAGGED_TPM_PROPERTY_count_get, _esys_binding.TPML_TAGGED_TPM_PROPERTY_count_set)
    __swig_setmethods__["tpmProperty"] = _esys_binding.TPML_TAGGED_TPM_PROPERTY_tpmProperty_set
    __swig_getmethods__["tpmProperty"] = _esys_binding.TPML_TAGGED_TPM_PROPERTY_tpmProperty_get
    if _newclass:
        tpmProperty = _swig_property(_esys_binding.TPML_TAGGED_TPM_PROPERTY_tpmProperty_get, _esys_binding.TPML_TAGGED_TPM_PROPERTY_tpmProperty_set)

    def __init__(self):
        """__init__(TPML_TAGGED_TPM_PROPERTY self) -> TPML_TAGGED_TPM_PROPERTY"""
        this = _esys_binding.new_TPML_TAGGED_TPM_PROPERTY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_TAGGED_TPM_PROPERTY
    __del__ = lambda self: None
TPML_TAGGED_TPM_PROPERTY_swigregister = _esys_binding.TPML_TAGGED_TPM_PROPERTY_swigregister
TPML_TAGGED_TPM_PROPERTY_swigregister(TPML_TAGGED_TPM_PROPERTY)

class TPML_TAGGED_PCR_PROPERTY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_TAGGED_PCR_PROPERTY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_TAGGED_PCR_PROPERTY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_TAGGED_PCR_PROPERTY_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_TAGGED_PCR_PROPERTY_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_TAGGED_PCR_PROPERTY_count_get, _esys_binding.TPML_TAGGED_PCR_PROPERTY_count_set)
    __swig_setmethods__["pcrProperty"] = _esys_binding.TPML_TAGGED_PCR_PROPERTY_pcrProperty_set
    __swig_getmethods__["pcrProperty"] = _esys_binding.TPML_TAGGED_PCR_PROPERTY_pcrProperty_get
    if _newclass:
        pcrProperty = _swig_property(_esys_binding.TPML_TAGGED_PCR_PROPERTY_pcrProperty_get, _esys_binding.TPML_TAGGED_PCR_PROPERTY_pcrProperty_set)

    def __init__(self):
        """__init__(TPML_TAGGED_PCR_PROPERTY self) -> TPML_TAGGED_PCR_PROPERTY"""
        this = _esys_binding.new_TPML_TAGGED_PCR_PROPERTY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_TAGGED_PCR_PROPERTY
    __del__ = lambda self: None
TPML_TAGGED_PCR_PROPERTY_swigregister = _esys_binding.TPML_TAGGED_PCR_PROPERTY_swigregister
TPML_TAGGED_PCR_PROPERTY_swigregister(TPML_TAGGED_PCR_PROPERTY)

class TPML_ECC_CURVE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_ECC_CURVE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_ECC_CURVE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_ECC_CURVE_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_ECC_CURVE_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_ECC_CURVE_count_get, _esys_binding.TPML_ECC_CURVE_count_set)
    __swig_setmethods__["eccCurves"] = _esys_binding.TPML_ECC_CURVE_eccCurves_set
    __swig_getmethods__["eccCurves"] = _esys_binding.TPML_ECC_CURVE_eccCurves_get
    if _newclass:
        eccCurves = _swig_property(_esys_binding.TPML_ECC_CURVE_eccCurves_get, _esys_binding.TPML_ECC_CURVE_eccCurves_set)

    def __init__(self):
        """__init__(TPML_ECC_CURVE self) -> TPML_ECC_CURVE"""
        this = _esys_binding.new_TPML_ECC_CURVE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_ECC_CURVE
    __del__ = lambda self: None
TPML_ECC_CURVE_swigregister = _esys_binding.TPML_ECC_CURVE_swigregister
TPML_ECC_CURVE_swigregister(TPML_ECC_CURVE)

class TPML_INTEL_PTT_PROPERTY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_INTEL_PTT_PROPERTY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_INTEL_PTT_PROPERTY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_INTEL_PTT_PROPERTY_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_INTEL_PTT_PROPERTY_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_INTEL_PTT_PROPERTY_count_get, _esys_binding.TPML_INTEL_PTT_PROPERTY_count_set)
    __swig_setmethods__["property"] = _esys_binding.TPML_INTEL_PTT_PROPERTY_property_set
    __swig_getmethods__["property"] = _esys_binding.TPML_INTEL_PTT_PROPERTY_property_get
    if _newclass:
        property = _swig_property(_esys_binding.TPML_INTEL_PTT_PROPERTY_property_get, _esys_binding.TPML_INTEL_PTT_PROPERTY_property_set)

    def __init__(self):
        """__init__(TPML_INTEL_PTT_PROPERTY self) -> TPML_INTEL_PTT_PROPERTY"""
        this = _esys_binding.new_TPML_INTEL_PTT_PROPERTY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_INTEL_PTT_PROPERTY
    __del__ = lambda self: None
TPML_INTEL_PTT_PROPERTY_swigregister = _esys_binding.TPML_INTEL_PTT_PROPERTY_swigregister
TPML_INTEL_PTT_PROPERTY_swigregister(TPML_INTEL_PTT_PROPERTY)

class TPMU_CAPABILITIES(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_CAPABILITIES, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_CAPABILITIES, name)
    __repr__ = _swig_repr
    __swig_setmethods__["algorithms"] = _esys_binding.TPMU_CAPABILITIES_algorithms_set
    __swig_getmethods__["algorithms"] = _esys_binding.TPMU_CAPABILITIES_algorithms_get
    if _newclass:
        algorithms = _swig_property(_esys_binding.TPMU_CAPABILITIES_algorithms_get, _esys_binding.TPMU_CAPABILITIES_algorithms_set)
    __swig_setmethods__["handles"] = _esys_binding.TPMU_CAPABILITIES_handles_set
    __swig_getmethods__["handles"] = _esys_binding.TPMU_CAPABILITIES_handles_get
    if _newclass:
        handles = _swig_property(_esys_binding.TPMU_CAPABILITIES_handles_get, _esys_binding.TPMU_CAPABILITIES_handles_set)
    __swig_setmethods__["command"] = _esys_binding.TPMU_CAPABILITIES_command_set
    __swig_getmethods__["command"] = _esys_binding.TPMU_CAPABILITIES_command_get
    if _newclass:
        command = _swig_property(_esys_binding.TPMU_CAPABILITIES_command_get, _esys_binding.TPMU_CAPABILITIES_command_set)
    __swig_setmethods__["ppCommands"] = _esys_binding.TPMU_CAPABILITIES_ppCommands_set
    __swig_getmethods__["ppCommands"] = _esys_binding.TPMU_CAPABILITIES_ppCommands_get
    if _newclass:
        ppCommands = _swig_property(_esys_binding.TPMU_CAPABILITIES_ppCommands_get, _esys_binding.TPMU_CAPABILITIES_ppCommands_set)
    __swig_setmethods__["auditCommands"] = _esys_binding.TPMU_CAPABILITIES_auditCommands_set
    __swig_getmethods__["auditCommands"] = _esys_binding.TPMU_CAPABILITIES_auditCommands_get
    if _newclass:
        auditCommands = _swig_property(_esys_binding.TPMU_CAPABILITIES_auditCommands_get, _esys_binding.TPMU_CAPABILITIES_auditCommands_set)
    __swig_setmethods__["assignedPCR"] = _esys_binding.TPMU_CAPABILITIES_assignedPCR_set
    __swig_getmethods__["assignedPCR"] = _esys_binding.TPMU_CAPABILITIES_assignedPCR_get
    if _newclass:
        assignedPCR = _swig_property(_esys_binding.TPMU_CAPABILITIES_assignedPCR_get, _esys_binding.TPMU_CAPABILITIES_assignedPCR_set)
    __swig_setmethods__["tpmProperties"] = _esys_binding.TPMU_CAPABILITIES_tpmProperties_set
    __swig_getmethods__["tpmProperties"] = _esys_binding.TPMU_CAPABILITIES_tpmProperties_get
    if _newclass:
        tpmProperties = _swig_property(_esys_binding.TPMU_CAPABILITIES_tpmProperties_get, _esys_binding.TPMU_CAPABILITIES_tpmProperties_set)
    __swig_setmethods__["pcrProperties"] = _esys_binding.TPMU_CAPABILITIES_pcrProperties_set
    __swig_getmethods__["pcrProperties"] = _esys_binding.TPMU_CAPABILITIES_pcrProperties_get
    if _newclass:
        pcrProperties = _swig_property(_esys_binding.TPMU_CAPABILITIES_pcrProperties_get, _esys_binding.TPMU_CAPABILITIES_pcrProperties_set)
    __swig_setmethods__["eccCurves"] = _esys_binding.TPMU_CAPABILITIES_eccCurves_set
    __swig_getmethods__["eccCurves"] = _esys_binding.TPMU_CAPABILITIES_eccCurves_get
    if _newclass:
        eccCurves = _swig_property(_esys_binding.TPMU_CAPABILITIES_eccCurves_get, _esys_binding.TPMU_CAPABILITIES_eccCurves_set)
    __swig_setmethods__["intelPttProperty"] = _esys_binding.TPMU_CAPABILITIES_intelPttProperty_set
    __swig_getmethods__["intelPttProperty"] = _esys_binding.TPMU_CAPABILITIES_intelPttProperty_get
    if _newclass:
        intelPttProperty = _swig_property(_esys_binding.TPMU_CAPABILITIES_intelPttProperty_get, _esys_binding.TPMU_CAPABILITIES_intelPttProperty_set)

    def __init__(self):
        """__init__(TPMU_CAPABILITIES self) -> TPMU_CAPABILITIES"""
        this = _esys_binding.new_TPMU_CAPABILITIES()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_CAPABILITIES
    __del__ = lambda self: None
TPMU_CAPABILITIES_swigregister = _esys_binding.TPMU_CAPABILITIES_swigregister
TPMU_CAPABILITIES_swigregister(TPMU_CAPABILITIES)

class TPMS_CAPABILITY_DATA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_CAPABILITY_DATA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_CAPABILITY_DATA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["capability"] = _esys_binding.TPMS_CAPABILITY_DATA_capability_set
    __swig_getmethods__["capability"] = _esys_binding.TPMS_CAPABILITY_DATA_capability_get
    if _newclass:
        capability = _swig_property(_esys_binding.TPMS_CAPABILITY_DATA_capability_get, _esys_binding.TPMS_CAPABILITY_DATA_capability_set)
    __swig_setmethods__["data"] = _esys_binding.TPMS_CAPABILITY_DATA_data_set
    __swig_getmethods__["data"] = _esys_binding.TPMS_CAPABILITY_DATA_data_get
    if _newclass:
        data = _swig_property(_esys_binding.TPMS_CAPABILITY_DATA_data_get, _esys_binding.TPMS_CAPABILITY_DATA_data_set)

    def __init__(self):
        """__init__(TPMS_CAPABILITY_DATA self) -> TPMS_CAPABILITY_DATA"""
        this = _esys_binding.new_TPMS_CAPABILITY_DATA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_CAPABILITY_DATA
    __del__ = lambda self: None
TPMS_CAPABILITY_DATA_swigregister = _esys_binding.TPMS_CAPABILITY_DATA_swigregister
TPMS_CAPABILITY_DATA_swigregister(TPMS_CAPABILITY_DATA)

class TPMS_CLOCK_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_CLOCK_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_CLOCK_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["clock"] = _esys_binding.TPMS_CLOCK_INFO_clock_set
    __swig_getmethods__["clock"] = _esys_binding.TPMS_CLOCK_INFO_clock_get
    if _newclass:
        clock = _swig_property(_esys_binding.TPMS_CLOCK_INFO_clock_get, _esys_binding.TPMS_CLOCK_INFO_clock_set)
    __swig_setmethods__["resetCount"] = _esys_binding.TPMS_CLOCK_INFO_resetCount_set
    __swig_getmethods__["resetCount"] = _esys_binding.TPMS_CLOCK_INFO_resetCount_get
    if _newclass:
        resetCount = _swig_property(_esys_binding.TPMS_CLOCK_INFO_resetCount_get, _esys_binding.TPMS_CLOCK_INFO_resetCount_set)
    __swig_setmethods__["restartCount"] = _esys_binding.TPMS_CLOCK_INFO_restartCount_set
    __swig_getmethods__["restartCount"] = _esys_binding.TPMS_CLOCK_INFO_restartCount_get
    if _newclass:
        restartCount = _swig_property(_esys_binding.TPMS_CLOCK_INFO_restartCount_get, _esys_binding.TPMS_CLOCK_INFO_restartCount_set)
    __swig_setmethods__["safe"] = _esys_binding.TPMS_CLOCK_INFO_safe_set
    __swig_getmethods__["safe"] = _esys_binding.TPMS_CLOCK_INFO_safe_get
    if _newclass:
        safe = _swig_property(_esys_binding.TPMS_CLOCK_INFO_safe_get, _esys_binding.TPMS_CLOCK_INFO_safe_set)

    def __init__(self):
        """__init__(TPMS_CLOCK_INFO self) -> TPMS_CLOCK_INFO"""
        this = _esys_binding.new_TPMS_CLOCK_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_CLOCK_INFO
    __del__ = lambda self: None
TPMS_CLOCK_INFO_swigregister = _esys_binding.TPMS_CLOCK_INFO_swigregister
TPMS_CLOCK_INFO_swigregister(TPMS_CLOCK_INFO)

class TPMS_TIME_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_TIME_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_TIME_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["time"] = _esys_binding.TPMS_TIME_INFO_time_set
    __swig_getmethods__["time"] = _esys_binding.TPMS_TIME_INFO_time_get
    if _newclass:
        time = _swig_property(_esys_binding.TPMS_TIME_INFO_time_get, _esys_binding.TPMS_TIME_INFO_time_set)
    __swig_setmethods__["clockInfo"] = _esys_binding.TPMS_TIME_INFO_clockInfo_set
    __swig_getmethods__["clockInfo"] = _esys_binding.TPMS_TIME_INFO_clockInfo_get
    if _newclass:
        clockInfo = _swig_property(_esys_binding.TPMS_TIME_INFO_clockInfo_get, _esys_binding.TPMS_TIME_INFO_clockInfo_set)

    def __init__(self):
        """__init__(TPMS_TIME_INFO self) -> TPMS_TIME_INFO"""
        this = _esys_binding.new_TPMS_TIME_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_TIME_INFO
    __del__ = lambda self: None
TPMS_TIME_INFO_swigregister = _esys_binding.TPMS_TIME_INFO_swigregister
TPMS_TIME_INFO_swigregister(TPMS_TIME_INFO)

class TPMS_TIME_ATTEST_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_TIME_ATTEST_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_TIME_ATTEST_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["time"] = _esys_binding.TPMS_TIME_ATTEST_INFO_time_set
    __swig_getmethods__["time"] = _esys_binding.TPMS_TIME_ATTEST_INFO_time_get
    if _newclass:
        time = _swig_property(_esys_binding.TPMS_TIME_ATTEST_INFO_time_get, _esys_binding.TPMS_TIME_ATTEST_INFO_time_set)
    __swig_setmethods__["firmwareVersion"] = _esys_binding.TPMS_TIME_ATTEST_INFO_firmwareVersion_set
    __swig_getmethods__["firmwareVersion"] = _esys_binding.TPMS_TIME_ATTEST_INFO_firmwareVersion_get
    if _newclass:
        firmwareVersion = _swig_property(_esys_binding.TPMS_TIME_ATTEST_INFO_firmwareVersion_get, _esys_binding.TPMS_TIME_ATTEST_INFO_firmwareVersion_set)

    def __init__(self):
        """__init__(TPMS_TIME_ATTEST_INFO self) -> TPMS_TIME_ATTEST_INFO"""
        this = _esys_binding.new_TPMS_TIME_ATTEST_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_TIME_ATTEST_INFO
    __del__ = lambda self: None
TPMS_TIME_ATTEST_INFO_swigregister = _esys_binding.TPMS_TIME_ATTEST_INFO_swigregister
TPMS_TIME_ATTEST_INFO_swigregister(TPMS_TIME_ATTEST_INFO)

class TPMS_CERTIFY_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_CERTIFY_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_CERTIFY_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["name"] = _esys_binding.TPMS_CERTIFY_INFO_name_set
    __swig_getmethods__["name"] = _esys_binding.TPMS_CERTIFY_INFO_name_get
    if _newclass:
        name = _swig_property(_esys_binding.TPMS_CERTIFY_INFO_name_get, _esys_binding.TPMS_CERTIFY_INFO_name_set)
    __swig_setmethods__["qualifiedName"] = _esys_binding.TPMS_CERTIFY_INFO_qualifiedName_set
    __swig_getmethods__["qualifiedName"] = _esys_binding.TPMS_CERTIFY_INFO_qualifiedName_get
    if _newclass:
        qualifiedName = _swig_property(_esys_binding.TPMS_CERTIFY_INFO_qualifiedName_get, _esys_binding.TPMS_CERTIFY_INFO_qualifiedName_set)

    def __init__(self):
        """__init__(TPMS_CERTIFY_INFO self) -> TPMS_CERTIFY_INFO"""
        this = _esys_binding.new_TPMS_CERTIFY_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_CERTIFY_INFO
    __del__ = lambda self: None
TPMS_CERTIFY_INFO_swigregister = _esys_binding.TPMS_CERTIFY_INFO_swigregister
TPMS_CERTIFY_INFO_swigregister(TPMS_CERTIFY_INFO)

class TPMS_QUOTE_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_QUOTE_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_QUOTE_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["pcrSelect"] = _esys_binding.TPMS_QUOTE_INFO_pcrSelect_set
    __swig_getmethods__["pcrSelect"] = _esys_binding.TPMS_QUOTE_INFO_pcrSelect_get
    if _newclass:
        pcrSelect = _swig_property(_esys_binding.TPMS_QUOTE_INFO_pcrSelect_get, _esys_binding.TPMS_QUOTE_INFO_pcrSelect_set)
    __swig_setmethods__["pcrDigest"] = _esys_binding.TPMS_QUOTE_INFO_pcrDigest_set
    __swig_getmethods__["pcrDigest"] = _esys_binding.TPMS_QUOTE_INFO_pcrDigest_get
    if _newclass:
        pcrDigest = _swig_property(_esys_binding.TPMS_QUOTE_INFO_pcrDigest_get, _esys_binding.TPMS_QUOTE_INFO_pcrDigest_set)

    def __init__(self):
        """__init__(TPMS_QUOTE_INFO self) -> TPMS_QUOTE_INFO"""
        this = _esys_binding.new_TPMS_QUOTE_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_QUOTE_INFO
    __del__ = lambda self: None
TPMS_QUOTE_INFO_swigregister = _esys_binding.TPMS_QUOTE_INFO_swigregister
TPMS_QUOTE_INFO_swigregister(TPMS_QUOTE_INFO)

class TPMS_COMMAND_AUDIT_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_COMMAND_AUDIT_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_COMMAND_AUDIT_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["auditCounter"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_auditCounter_set
    __swig_getmethods__["auditCounter"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_auditCounter_get
    if _newclass:
        auditCounter = _swig_property(_esys_binding.TPMS_COMMAND_AUDIT_INFO_auditCounter_get, _esys_binding.TPMS_COMMAND_AUDIT_INFO_auditCounter_set)
    __swig_setmethods__["digestAlg"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_digestAlg_set
    __swig_getmethods__["digestAlg"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_digestAlg_get
    if _newclass:
        digestAlg = _swig_property(_esys_binding.TPMS_COMMAND_AUDIT_INFO_digestAlg_get, _esys_binding.TPMS_COMMAND_AUDIT_INFO_digestAlg_set)
    __swig_setmethods__["auditDigest"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_auditDigest_set
    __swig_getmethods__["auditDigest"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_auditDigest_get
    if _newclass:
        auditDigest = _swig_property(_esys_binding.TPMS_COMMAND_AUDIT_INFO_auditDigest_get, _esys_binding.TPMS_COMMAND_AUDIT_INFO_auditDigest_set)
    __swig_setmethods__["commandDigest"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_commandDigest_set
    __swig_getmethods__["commandDigest"] = _esys_binding.TPMS_COMMAND_AUDIT_INFO_commandDigest_get
    if _newclass:
        commandDigest = _swig_property(_esys_binding.TPMS_COMMAND_AUDIT_INFO_commandDigest_get, _esys_binding.TPMS_COMMAND_AUDIT_INFO_commandDigest_set)

    def __init__(self):
        """__init__(TPMS_COMMAND_AUDIT_INFO self) -> TPMS_COMMAND_AUDIT_INFO"""
        this = _esys_binding.new_TPMS_COMMAND_AUDIT_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_COMMAND_AUDIT_INFO
    __del__ = lambda self: None
TPMS_COMMAND_AUDIT_INFO_swigregister = _esys_binding.TPMS_COMMAND_AUDIT_INFO_swigregister
TPMS_COMMAND_AUDIT_INFO_swigregister(TPMS_COMMAND_AUDIT_INFO)

class TPMS_SESSION_AUDIT_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SESSION_AUDIT_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SESSION_AUDIT_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["exclusiveSession"] = _esys_binding.TPMS_SESSION_AUDIT_INFO_exclusiveSession_set
    __swig_getmethods__["exclusiveSession"] = _esys_binding.TPMS_SESSION_AUDIT_INFO_exclusiveSession_get
    if _newclass:
        exclusiveSession = _swig_property(_esys_binding.TPMS_SESSION_AUDIT_INFO_exclusiveSession_get, _esys_binding.TPMS_SESSION_AUDIT_INFO_exclusiveSession_set)
    __swig_setmethods__["sessionDigest"] = _esys_binding.TPMS_SESSION_AUDIT_INFO_sessionDigest_set
    __swig_getmethods__["sessionDigest"] = _esys_binding.TPMS_SESSION_AUDIT_INFO_sessionDigest_get
    if _newclass:
        sessionDigest = _swig_property(_esys_binding.TPMS_SESSION_AUDIT_INFO_sessionDigest_get, _esys_binding.TPMS_SESSION_AUDIT_INFO_sessionDigest_set)

    def __init__(self):
        """__init__(TPMS_SESSION_AUDIT_INFO self) -> TPMS_SESSION_AUDIT_INFO"""
        this = _esys_binding.new_TPMS_SESSION_AUDIT_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SESSION_AUDIT_INFO
    __del__ = lambda self: None
TPMS_SESSION_AUDIT_INFO_swigregister = _esys_binding.TPMS_SESSION_AUDIT_INFO_swigregister
TPMS_SESSION_AUDIT_INFO_swigregister(TPMS_SESSION_AUDIT_INFO)

class TPMS_CREATION_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_CREATION_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_CREATION_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["objectName"] = _esys_binding.TPMS_CREATION_INFO_objectName_set
    __swig_getmethods__["objectName"] = _esys_binding.TPMS_CREATION_INFO_objectName_get
    if _newclass:
        objectName = _swig_property(_esys_binding.TPMS_CREATION_INFO_objectName_get, _esys_binding.TPMS_CREATION_INFO_objectName_set)
    __swig_setmethods__["creationHash"] = _esys_binding.TPMS_CREATION_INFO_creationHash_set
    __swig_getmethods__["creationHash"] = _esys_binding.TPMS_CREATION_INFO_creationHash_get
    if _newclass:
        creationHash = _swig_property(_esys_binding.TPMS_CREATION_INFO_creationHash_get, _esys_binding.TPMS_CREATION_INFO_creationHash_set)

    def __init__(self):
        """__init__(TPMS_CREATION_INFO self) -> TPMS_CREATION_INFO"""
        this = _esys_binding.new_TPMS_CREATION_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_CREATION_INFO
    __del__ = lambda self: None
TPMS_CREATION_INFO_swigregister = _esys_binding.TPMS_CREATION_INFO_swigregister
TPMS_CREATION_INFO_swigregister(TPMS_CREATION_INFO)

class TPMS_NV_CERTIFY_INFO(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_NV_CERTIFY_INFO, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_NV_CERTIFY_INFO, name)
    __repr__ = _swig_repr
    __swig_setmethods__["indexName"] = _esys_binding.TPMS_NV_CERTIFY_INFO_indexName_set
    __swig_getmethods__["indexName"] = _esys_binding.TPMS_NV_CERTIFY_INFO_indexName_get
    if _newclass:
        indexName = _swig_property(_esys_binding.TPMS_NV_CERTIFY_INFO_indexName_get, _esys_binding.TPMS_NV_CERTIFY_INFO_indexName_set)
    __swig_setmethods__["offset"] = _esys_binding.TPMS_NV_CERTIFY_INFO_offset_set
    __swig_getmethods__["offset"] = _esys_binding.TPMS_NV_CERTIFY_INFO_offset_get
    if _newclass:
        offset = _swig_property(_esys_binding.TPMS_NV_CERTIFY_INFO_offset_get, _esys_binding.TPMS_NV_CERTIFY_INFO_offset_set)
    __swig_setmethods__["nvContents"] = _esys_binding.TPMS_NV_CERTIFY_INFO_nvContents_set
    __swig_getmethods__["nvContents"] = _esys_binding.TPMS_NV_CERTIFY_INFO_nvContents_get
    if _newclass:
        nvContents = _swig_property(_esys_binding.TPMS_NV_CERTIFY_INFO_nvContents_get, _esys_binding.TPMS_NV_CERTIFY_INFO_nvContents_set)

    def __init__(self):
        """__init__(TPMS_NV_CERTIFY_INFO self) -> TPMS_NV_CERTIFY_INFO"""
        this = _esys_binding.new_TPMS_NV_CERTIFY_INFO()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_NV_CERTIFY_INFO
    __del__ = lambda self: None
TPMS_NV_CERTIFY_INFO_swigregister = _esys_binding.TPMS_NV_CERTIFY_INFO_swigregister
TPMS_NV_CERTIFY_INFO_swigregister(TPMS_NV_CERTIFY_INFO)

class TPMU_ATTEST(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_ATTEST, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_ATTEST, name)
    __repr__ = _swig_repr
    __swig_setmethods__["certify"] = _esys_binding.TPMU_ATTEST_certify_set
    __swig_getmethods__["certify"] = _esys_binding.TPMU_ATTEST_certify_get
    if _newclass:
        certify = _swig_property(_esys_binding.TPMU_ATTEST_certify_get, _esys_binding.TPMU_ATTEST_certify_set)
    __swig_setmethods__["creation"] = _esys_binding.TPMU_ATTEST_creation_set
    __swig_getmethods__["creation"] = _esys_binding.TPMU_ATTEST_creation_get
    if _newclass:
        creation = _swig_property(_esys_binding.TPMU_ATTEST_creation_get, _esys_binding.TPMU_ATTEST_creation_set)
    __swig_setmethods__["quote"] = _esys_binding.TPMU_ATTEST_quote_set
    __swig_getmethods__["quote"] = _esys_binding.TPMU_ATTEST_quote_get
    if _newclass:
        quote = _swig_property(_esys_binding.TPMU_ATTEST_quote_get, _esys_binding.TPMU_ATTEST_quote_set)
    __swig_setmethods__["commandAudit"] = _esys_binding.TPMU_ATTEST_commandAudit_set
    __swig_getmethods__["commandAudit"] = _esys_binding.TPMU_ATTEST_commandAudit_get
    if _newclass:
        commandAudit = _swig_property(_esys_binding.TPMU_ATTEST_commandAudit_get, _esys_binding.TPMU_ATTEST_commandAudit_set)
    __swig_setmethods__["sessionAudit"] = _esys_binding.TPMU_ATTEST_sessionAudit_set
    __swig_getmethods__["sessionAudit"] = _esys_binding.TPMU_ATTEST_sessionAudit_get
    if _newclass:
        sessionAudit = _swig_property(_esys_binding.TPMU_ATTEST_sessionAudit_get, _esys_binding.TPMU_ATTEST_sessionAudit_set)
    __swig_setmethods__["time"] = _esys_binding.TPMU_ATTEST_time_set
    __swig_getmethods__["time"] = _esys_binding.TPMU_ATTEST_time_get
    if _newclass:
        time = _swig_property(_esys_binding.TPMU_ATTEST_time_get, _esys_binding.TPMU_ATTEST_time_set)
    __swig_setmethods__["nv"] = _esys_binding.TPMU_ATTEST_nv_set
    __swig_getmethods__["nv"] = _esys_binding.TPMU_ATTEST_nv_get
    if _newclass:
        nv = _swig_property(_esys_binding.TPMU_ATTEST_nv_get, _esys_binding.TPMU_ATTEST_nv_set)

    def __init__(self):
        """__init__(TPMU_ATTEST self) -> TPMU_ATTEST"""
        this = _esys_binding.new_TPMU_ATTEST()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_ATTEST
    __del__ = lambda self: None
TPMU_ATTEST_swigregister = _esys_binding.TPMU_ATTEST_swigregister
TPMU_ATTEST_swigregister(TPMU_ATTEST)

class TPMS_ATTEST(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ATTEST, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ATTEST, name)
    __repr__ = _swig_repr
    __swig_setmethods__["magic"] = _esys_binding.TPMS_ATTEST_magic_set
    __swig_getmethods__["magic"] = _esys_binding.TPMS_ATTEST_magic_get
    if _newclass:
        magic = _swig_property(_esys_binding.TPMS_ATTEST_magic_get, _esys_binding.TPMS_ATTEST_magic_set)
    __swig_setmethods__["type"] = _esys_binding.TPMS_ATTEST_type_set
    __swig_getmethods__["type"] = _esys_binding.TPMS_ATTEST_type_get
    if _newclass:
        type = _swig_property(_esys_binding.TPMS_ATTEST_type_get, _esys_binding.TPMS_ATTEST_type_set)
    __swig_setmethods__["qualifiedSigner"] = _esys_binding.TPMS_ATTEST_qualifiedSigner_set
    __swig_getmethods__["qualifiedSigner"] = _esys_binding.TPMS_ATTEST_qualifiedSigner_get
    if _newclass:
        qualifiedSigner = _swig_property(_esys_binding.TPMS_ATTEST_qualifiedSigner_get, _esys_binding.TPMS_ATTEST_qualifiedSigner_set)
    __swig_setmethods__["extraData"] = _esys_binding.TPMS_ATTEST_extraData_set
    __swig_getmethods__["extraData"] = _esys_binding.TPMS_ATTEST_extraData_get
    if _newclass:
        extraData = _swig_property(_esys_binding.TPMS_ATTEST_extraData_get, _esys_binding.TPMS_ATTEST_extraData_set)
    __swig_setmethods__["clockInfo"] = _esys_binding.TPMS_ATTEST_clockInfo_set
    __swig_getmethods__["clockInfo"] = _esys_binding.TPMS_ATTEST_clockInfo_get
    if _newclass:
        clockInfo = _swig_property(_esys_binding.TPMS_ATTEST_clockInfo_get, _esys_binding.TPMS_ATTEST_clockInfo_set)
    __swig_setmethods__["firmwareVersion"] = _esys_binding.TPMS_ATTEST_firmwareVersion_set
    __swig_getmethods__["firmwareVersion"] = _esys_binding.TPMS_ATTEST_firmwareVersion_get
    if _newclass:
        firmwareVersion = _swig_property(_esys_binding.TPMS_ATTEST_firmwareVersion_get, _esys_binding.TPMS_ATTEST_firmwareVersion_set)
    __swig_setmethods__["attested"] = _esys_binding.TPMS_ATTEST_attested_set
    __swig_getmethods__["attested"] = _esys_binding.TPMS_ATTEST_attested_get
    if _newclass:
        attested = _swig_property(_esys_binding.TPMS_ATTEST_attested_get, _esys_binding.TPMS_ATTEST_attested_set)

    def __init__(self):
        """__init__(TPMS_ATTEST self) -> TPMS_ATTEST"""
        this = _esys_binding.new_TPMS_ATTEST()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ATTEST
    __del__ = lambda self: None
TPMS_ATTEST_swigregister = _esys_binding.TPMS_ATTEST_swigregister
TPMS_ATTEST_swigregister(TPMS_ATTEST)

class TPM2B_ATTEST(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_ATTEST, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_ATTEST, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_ATTEST_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_ATTEST_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_ATTEST_size_get, _esys_binding.TPM2B_ATTEST_size_set)
    __swig_setmethods__["attestationData"] = _esys_binding.TPM2B_ATTEST_attestationData_set
    __swig_getmethods__["attestationData"] = _esys_binding.TPM2B_ATTEST_attestationData_get
    if _newclass:
        attestationData = _swig_property(_esys_binding.TPM2B_ATTEST_attestationData_get, _esys_binding.TPM2B_ATTEST_attestationData_set)

    def __init__(self):
        """__init__(TPM2B_ATTEST self) -> TPM2B_ATTEST"""
        this = _esys_binding.new_TPM2B_ATTEST()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_ATTEST
    __del__ = lambda self: None
TPM2B_ATTEST_swigregister = _esys_binding.TPM2B_ATTEST_swigregister
TPM2B_ATTEST_swigregister(TPM2B_ATTEST)

class TPMS_AUTH_COMMAND(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_AUTH_COMMAND, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_AUTH_COMMAND, name)
    __repr__ = _swig_repr
    __swig_setmethods__["sessionHandle"] = _esys_binding.TPMS_AUTH_COMMAND_sessionHandle_set
    __swig_getmethods__["sessionHandle"] = _esys_binding.TPMS_AUTH_COMMAND_sessionHandle_get
    if _newclass:
        sessionHandle = _swig_property(_esys_binding.TPMS_AUTH_COMMAND_sessionHandle_get, _esys_binding.TPMS_AUTH_COMMAND_sessionHandle_set)
    __swig_setmethods__["nonce"] = _esys_binding.TPMS_AUTH_COMMAND_nonce_set
    __swig_getmethods__["nonce"] = _esys_binding.TPMS_AUTH_COMMAND_nonce_get
    if _newclass:
        nonce = _swig_property(_esys_binding.TPMS_AUTH_COMMAND_nonce_get, _esys_binding.TPMS_AUTH_COMMAND_nonce_set)
    __swig_setmethods__["sessionAttributes"] = _esys_binding.TPMS_AUTH_COMMAND_sessionAttributes_set
    __swig_getmethods__["sessionAttributes"] = _esys_binding.TPMS_AUTH_COMMAND_sessionAttributes_get
    if _newclass:
        sessionAttributes = _swig_property(_esys_binding.TPMS_AUTH_COMMAND_sessionAttributes_get, _esys_binding.TPMS_AUTH_COMMAND_sessionAttributes_set)
    __swig_setmethods__["hmac"] = _esys_binding.TPMS_AUTH_COMMAND_hmac_set
    __swig_getmethods__["hmac"] = _esys_binding.TPMS_AUTH_COMMAND_hmac_get
    if _newclass:
        hmac = _swig_property(_esys_binding.TPMS_AUTH_COMMAND_hmac_get, _esys_binding.TPMS_AUTH_COMMAND_hmac_set)

    def __init__(self):
        """__init__(TPMS_AUTH_COMMAND self) -> TPMS_AUTH_COMMAND"""
        this = _esys_binding.new_TPMS_AUTH_COMMAND()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_AUTH_COMMAND
    __del__ = lambda self: None
TPMS_AUTH_COMMAND_swigregister = _esys_binding.TPMS_AUTH_COMMAND_swigregister
TPMS_AUTH_COMMAND_swigregister(TPMS_AUTH_COMMAND)

class TPMS_AUTH_RESPONSE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_AUTH_RESPONSE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_AUTH_RESPONSE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["nonce"] = _esys_binding.TPMS_AUTH_RESPONSE_nonce_set
    __swig_getmethods__["nonce"] = _esys_binding.TPMS_AUTH_RESPONSE_nonce_get
    if _newclass:
        nonce = _swig_property(_esys_binding.TPMS_AUTH_RESPONSE_nonce_get, _esys_binding.TPMS_AUTH_RESPONSE_nonce_set)
    __swig_setmethods__["sessionAttributes"] = _esys_binding.TPMS_AUTH_RESPONSE_sessionAttributes_set
    __swig_getmethods__["sessionAttributes"] = _esys_binding.TPMS_AUTH_RESPONSE_sessionAttributes_get
    if _newclass:
        sessionAttributes = _swig_property(_esys_binding.TPMS_AUTH_RESPONSE_sessionAttributes_get, _esys_binding.TPMS_AUTH_RESPONSE_sessionAttributes_set)
    __swig_setmethods__["hmac"] = _esys_binding.TPMS_AUTH_RESPONSE_hmac_set
    __swig_getmethods__["hmac"] = _esys_binding.TPMS_AUTH_RESPONSE_hmac_get
    if _newclass:
        hmac = _swig_property(_esys_binding.TPMS_AUTH_RESPONSE_hmac_get, _esys_binding.TPMS_AUTH_RESPONSE_hmac_set)

    def __init__(self):
        """__init__(TPMS_AUTH_RESPONSE self) -> TPMS_AUTH_RESPONSE"""
        this = _esys_binding.new_TPMS_AUTH_RESPONSE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_AUTH_RESPONSE
    __del__ = lambda self: None
TPMS_AUTH_RESPONSE_swigregister = _esys_binding.TPMS_AUTH_RESPONSE_swigregister
TPMS_AUTH_RESPONSE_swigregister(TPMS_AUTH_RESPONSE)

class TPMU_SYM_KEY_BITS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_SYM_KEY_BITS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_SYM_KEY_BITS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["aes"] = _esys_binding.TPMU_SYM_KEY_BITS_aes_set
    __swig_getmethods__["aes"] = _esys_binding.TPMU_SYM_KEY_BITS_aes_get
    if _newclass:
        aes = _swig_property(_esys_binding.TPMU_SYM_KEY_BITS_aes_get, _esys_binding.TPMU_SYM_KEY_BITS_aes_set)
    __swig_setmethods__["sm4"] = _esys_binding.TPMU_SYM_KEY_BITS_sm4_set
    __swig_getmethods__["sm4"] = _esys_binding.TPMU_SYM_KEY_BITS_sm4_get
    if _newclass:
        sm4 = _swig_property(_esys_binding.TPMU_SYM_KEY_BITS_sm4_get, _esys_binding.TPMU_SYM_KEY_BITS_sm4_set)
    __swig_setmethods__["camellia"] = _esys_binding.TPMU_SYM_KEY_BITS_camellia_set
    __swig_getmethods__["camellia"] = _esys_binding.TPMU_SYM_KEY_BITS_camellia_get
    if _newclass:
        camellia = _swig_property(_esys_binding.TPMU_SYM_KEY_BITS_camellia_get, _esys_binding.TPMU_SYM_KEY_BITS_camellia_set)
    __swig_setmethods__["sym"] = _esys_binding.TPMU_SYM_KEY_BITS_sym_set
    __swig_getmethods__["sym"] = _esys_binding.TPMU_SYM_KEY_BITS_sym_get
    if _newclass:
        sym = _swig_property(_esys_binding.TPMU_SYM_KEY_BITS_sym_get, _esys_binding.TPMU_SYM_KEY_BITS_sym_set)
    __swig_setmethods__["exclusiveOr"] = _esys_binding.TPMU_SYM_KEY_BITS_exclusiveOr_set
    __swig_getmethods__["exclusiveOr"] = _esys_binding.TPMU_SYM_KEY_BITS_exclusiveOr_get
    if _newclass:
        exclusiveOr = _swig_property(_esys_binding.TPMU_SYM_KEY_BITS_exclusiveOr_get, _esys_binding.TPMU_SYM_KEY_BITS_exclusiveOr_set)

    def __init__(self):
        """__init__(TPMU_SYM_KEY_BITS self) -> TPMU_SYM_KEY_BITS"""
        this = _esys_binding.new_TPMU_SYM_KEY_BITS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_SYM_KEY_BITS
    __del__ = lambda self: None
TPMU_SYM_KEY_BITS_swigregister = _esys_binding.TPMU_SYM_KEY_BITS_swigregister
TPMU_SYM_KEY_BITS_swigregister(TPMU_SYM_KEY_BITS)

class TPMU_SYM_MODE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_SYM_MODE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_SYM_MODE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["aes"] = _esys_binding.TPMU_SYM_MODE_aes_set
    __swig_getmethods__["aes"] = _esys_binding.TPMU_SYM_MODE_aes_get
    if _newclass:
        aes = _swig_property(_esys_binding.TPMU_SYM_MODE_aes_get, _esys_binding.TPMU_SYM_MODE_aes_set)
    __swig_setmethods__["sm4"] = _esys_binding.TPMU_SYM_MODE_sm4_set
    __swig_getmethods__["sm4"] = _esys_binding.TPMU_SYM_MODE_sm4_get
    if _newclass:
        sm4 = _swig_property(_esys_binding.TPMU_SYM_MODE_sm4_get, _esys_binding.TPMU_SYM_MODE_sm4_set)
    __swig_setmethods__["camellia"] = _esys_binding.TPMU_SYM_MODE_camellia_set
    __swig_getmethods__["camellia"] = _esys_binding.TPMU_SYM_MODE_camellia_get
    if _newclass:
        camellia = _swig_property(_esys_binding.TPMU_SYM_MODE_camellia_get, _esys_binding.TPMU_SYM_MODE_camellia_set)
    __swig_setmethods__["sym"] = _esys_binding.TPMU_SYM_MODE_sym_set
    __swig_getmethods__["sym"] = _esys_binding.TPMU_SYM_MODE_sym_get
    if _newclass:
        sym = _swig_property(_esys_binding.TPMU_SYM_MODE_sym_get, _esys_binding.TPMU_SYM_MODE_sym_set)

    def __init__(self):
        """__init__(TPMU_SYM_MODE self) -> TPMU_SYM_MODE"""
        this = _esys_binding.new_TPMU_SYM_MODE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_SYM_MODE
    __del__ = lambda self: None
TPMU_SYM_MODE_swigregister = _esys_binding.TPMU_SYM_MODE_swigregister
TPMU_SYM_MODE_swigregister(TPMU_SYM_MODE)

class TPMT_SYM_DEF(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_SYM_DEF, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_SYM_DEF, name)
    __repr__ = _swig_repr
    __swig_setmethods__["algorithm"] = _esys_binding.TPMT_SYM_DEF_algorithm_set
    __swig_getmethods__["algorithm"] = _esys_binding.TPMT_SYM_DEF_algorithm_get
    if _newclass:
        algorithm = _swig_property(_esys_binding.TPMT_SYM_DEF_algorithm_get, _esys_binding.TPMT_SYM_DEF_algorithm_set)
    __swig_setmethods__["keyBits"] = _esys_binding.TPMT_SYM_DEF_keyBits_set
    __swig_getmethods__["keyBits"] = _esys_binding.TPMT_SYM_DEF_keyBits_get
    if _newclass:
        keyBits = _swig_property(_esys_binding.TPMT_SYM_DEF_keyBits_get, _esys_binding.TPMT_SYM_DEF_keyBits_set)
    __swig_setmethods__["mode"] = _esys_binding.TPMT_SYM_DEF_mode_set
    __swig_getmethods__["mode"] = _esys_binding.TPMT_SYM_DEF_mode_get
    if _newclass:
        mode = _swig_property(_esys_binding.TPMT_SYM_DEF_mode_get, _esys_binding.TPMT_SYM_DEF_mode_set)

    def __init__(self):
        """__init__(TPMT_SYM_DEF self) -> TPMT_SYM_DEF"""
        this = _esys_binding.new_TPMT_SYM_DEF()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_SYM_DEF
    __del__ = lambda self: None
TPMT_SYM_DEF_swigregister = _esys_binding.TPMT_SYM_DEF_swigregister
TPMT_SYM_DEF_swigregister(TPMT_SYM_DEF)

class TPMT_SYM_DEF_OBJECT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_SYM_DEF_OBJECT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_SYM_DEF_OBJECT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["algorithm"] = _esys_binding.TPMT_SYM_DEF_OBJECT_algorithm_set
    __swig_getmethods__["algorithm"] = _esys_binding.TPMT_SYM_DEF_OBJECT_algorithm_get
    if _newclass:
        algorithm = _swig_property(_esys_binding.TPMT_SYM_DEF_OBJECT_algorithm_get, _esys_binding.TPMT_SYM_DEF_OBJECT_algorithm_set)
    __swig_setmethods__["keyBits"] = _esys_binding.TPMT_SYM_DEF_OBJECT_keyBits_set
    __swig_getmethods__["keyBits"] = _esys_binding.TPMT_SYM_DEF_OBJECT_keyBits_get
    if _newclass:
        keyBits = _swig_property(_esys_binding.TPMT_SYM_DEF_OBJECT_keyBits_get, _esys_binding.TPMT_SYM_DEF_OBJECT_keyBits_set)
    __swig_setmethods__["mode"] = _esys_binding.TPMT_SYM_DEF_OBJECT_mode_set
    __swig_getmethods__["mode"] = _esys_binding.TPMT_SYM_DEF_OBJECT_mode_get
    if _newclass:
        mode = _swig_property(_esys_binding.TPMT_SYM_DEF_OBJECT_mode_get, _esys_binding.TPMT_SYM_DEF_OBJECT_mode_set)

    def __init__(self):
        """__init__(TPMT_SYM_DEF_OBJECT self) -> TPMT_SYM_DEF_OBJECT"""
        this = _esys_binding.new_TPMT_SYM_DEF_OBJECT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_SYM_DEF_OBJECT
    __del__ = lambda self: None
TPMT_SYM_DEF_OBJECT_swigregister = _esys_binding.TPMT_SYM_DEF_OBJECT_swigregister
TPMT_SYM_DEF_OBJECT_swigregister(TPMT_SYM_DEF_OBJECT)

class TPM2B_SYM_KEY(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_SYM_KEY, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_SYM_KEY, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_SYM_KEY_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_SYM_KEY_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_SYM_KEY_size_get, _esys_binding.TPM2B_SYM_KEY_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_SYM_KEY_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_SYM_KEY_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_SYM_KEY_buffer_get, _esys_binding.TPM2B_SYM_KEY_buffer_set)

    def __init__(self):
        """__init__(TPM2B_SYM_KEY self) -> TPM2B_SYM_KEY"""
        this = _esys_binding.new_TPM2B_SYM_KEY()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_SYM_KEY
    __del__ = lambda self: None
TPM2B_SYM_KEY_swigregister = _esys_binding.TPM2B_SYM_KEY_swigregister
TPM2B_SYM_KEY_swigregister(TPM2B_SYM_KEY)

class TPMS_SYMCIPHER_PARMS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SYMCIPHER_PARMS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SYMCIPHER_PARMS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["sym"] = _esys_binding.TPMS_SYMCIPHER_PARMS_sym_set
    __swig_getmethods__["sym"] = _esys_binding.TPMS_SYMCIPHER_PARMS_sym_get
    if _newclass:
        sym = _swig_property(_esys_binding.TPMS_SYMCIPHER_PARMS_sym_get, _esys_binding.TPMS_SYMCIPHER_PARMS_sym_set)

    def __init__(self):
        """__init__(TPMS_SYMCIPHER_PARMS self) -> TPMS_SYMCIPHER_PARMS"""
        this = _esys_binding.new_TPMS_SYMCIPHER_PARMS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SYMCIPHER_PARMS
    __del__ = lambda self: None
TPMS_SYMCIPHER_PARMS_swigregister = _esys_binding.TPMS_SYMCIPHER_PARMS_swigregister
TPMS_SYMCIPHER_PARMS_swigregister(TPMS_SYMCIPHER_PARMS)

class TPM2B_SENSITIVE_DATA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_SENSITIVE_DATA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_SENSITIVE_DATA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_SENSITIVE_DATA_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_SENSITIVE_DATA_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_SENSITIVE_DATA_size_get, _esys_binding.TPM2B_SENSITIVE_DATA_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_SENSITIVE_DATA_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_SENSITIVE_DATA_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_SENSITIVE_DATA_buffer_get, _esys_binding.TPM2B_SENSITIVE_DATA_buffer_set)

    def __init__(self):
        """__init__(TPM2B_SENSITIVE_DATA self) -> TPM2B_SENSITIVE_DATA"""
        this = _esys_binding.new_TPM2B_SENSITIVE_DATA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_SENSITIVE_DATA
    __del__ = lambda self: None
TPM2B_SENSITIVE_DATA_swigregister = _esys_binding.TPM2B_SENSITIVE_DATA_swigregister
TPM2B_SENSITIVE_DATA_swigregister(TPM2B_SENSITIVE_DATA)

class TPMS_SENSITIVE_CREATE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SENSITIVE_CREATE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SENSITIVE_CREATE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["userAuth"] = _esys_binding.TPMS_SENSITIVE_CREATE_userAuth_set
    __swig_getmethods__["userAuth"] = _esys_binding.TPMS_SENSITIVE_CREATE_userAuth_get
    if _newclass:
        userAuth = _swig_property(_esys_binding.TPMS_SENSITIVE_CREATE_userAuth_get, _esys_binding.TPMS_SENSITIVE_CREATE_userAuth_set)
    __swig_setmethods__["data"] = _esys_binding.TPMS_SENSITIVE_CREATE_data_set
    __swig_getmethods__["data"] = _esys_binding.TPMS_SENSITIVE_CREATE_data_get
    if _newclass:
        data = _swig_property(_esys_binding.TPMS_SENSITIVE_CREATE_data_get, _esys_binding.TPMS_SENSITIVE_CREATE_data_set)

    def __init__(self):
        """__init__(TPMS_SENSITIVE_CREATE self) -> TPMS_SENSITIVE_CREATE"""
        this = _esys_binding.new_TPMS_SENSITIVE_CREATE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SENSITIVE_CREATE
    __del__ = lambda self: None
TPMS_SENSITIVE_CREATE_swigregister = _esys_binding.TPMS_SENSITIVE_CREATE_swigregister
TPMS_SENSITIVE_CREATE_swigregister(TPMS_SENSITIVE_CREATE)

class TPM2B_SENSITIVE_CREATE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_SENSITIVE_CREATE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_SENSITIVE_CREATE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_SENSITIVE_CREATE_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_SENSITIVE_CREATE_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_SENSITIVE_CREATE_size_get, _esys_binding.TPM2B_SENSITIVE_CREATE_size_set)
    __swig_setmethods__["sensitive"] = _esys_binding.TPM2B_SENSITIVE_CREATE_sensitive_set
    __swig_getmethods__["sensitive"] = _esys_binding.TPM2B_SENSITIVE_CREATE_sensitive_get
    if _newclass:
        sensitive = _swig_property(_esys_binding.TPM2B_SENSITIVE_CREATE_sensitive_get, _esys_binding.TPM2B_SENSITIVE_CREATE_sensitive_set)

    def __init__(self):
        """__init__(TPM2B_SENSITIVE_CREATE self) -> TPM2B_SENSITIVE_CREATE"""
        this = _esys_binding.new_TPM2B_SENSITIVE_CREATE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_SENSITIVE_CREATE
    __del__ = lambda self: None
TPM2B_SENSITIVE_CREATE_swigregister = _esys_binding.TPM2B_SENSITIVE_CREATE_swigregister
TPM2B_SENSITIVE_CREATE_swigregister(TPM2B_SENSITIVE_CREATE)

class TPMS_SCHEME_HASH(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SCHEME_HASH, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SCHEME_HASH, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hashAlg"] = _esys_binding.TPMS_SCHEME_HASH_hashAlg_set
    __swig_getmethods__["hashAlg"] = _esys_binding.TPMS_SCHEME_HASH_hashAlg_get
    if _newclass:
        hashAlg = _swig_property(_esys_binding.TPMS_SCHEME_HASH_hashAlg_get, _esys_binding.TPMS_SCHEME_HASH_hashAlg_set)

    def __init__(self):
        """__init__(TPMS_SCHEME_HASH self) -> TPMS_SCHEME_HASH"""
        this = _esys_binding.new_TPMS_SCHEME_HASH()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SCHEME_HASH
    __del__ = lambda self: None
TPMS_SCHEME_HASH_swigregister = _esys_binding.TPMS_SCHEME_HASH_swigregister
TPMS_SCHEME_HASH_swigregister(TPMS_SCHEME_HASH)

class TPMS_SCHEME_ECDAA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SCHEME_ECDAA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SCHEME_ECDAA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hashAlg"] = _esys_binding.TPMS_SCHEME_ECDAA_hashAlg_set
    __swig_getmethods__["hashAlg"] = _esys_binding.TPMS_SCHEME_ECDAA_hashAlg_get
    if _newclass:
        hashAlg = _swig_property(_esys_binding.TPMS_SCHEME_ECDAA_hashAlg_get, _esys_binding.TPMS_SCHEME_ECDAA_hashAlg_set)
    __swig_setmethods__["count"] = _esys_binding.TPMS_SCHEME_ECDAA_count_set
    __swig_getmethods__["count"] = _esys_binding.TPMS_SCHEME_ECDAA_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPMS_SCHEME_ECDAA_count_get, _esys_binding.TPMS_SCHEME_ECDAA_count_set)

    def __init__(self):
        """__init__(TPMS_SCHEME_ECDAA self) -> TPMS_SCHEME_ECDAA"""
        this = _esys_binding.new_TPMS_SCHEME_ECDAA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SCHEME_ECDAA
    __del__ = lambda self: None
TPMS_SCHEME_ECDAA_swigregister = _esys_binding.TPMS_SCHEME_ECDAA_swigregister
TPMS_SCHEME_ECDAA_swigregister(TPMS_SCHEME_ECDAA)

class TPMS_SCHEME_XOR(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SCHEME_XOR, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SCHEME_XOR, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hashAlg"] = _esys_binding.TPMS_SCHEME_XOR_hashAlg_set
    __swig_getmethods__["hashAlg"] = _esys_binding.TPMS_SCHEME_XOR_hashAlg_get
    if _newclass:
        hashAlg = _swig_property(_esys_binding.TPMS_SCHEME_XOR_hashAlg_get, _esys_binding.TPMS_SCHEME_XOR_hashAlg_set)
    __swig_setmethods__["kdf"] = _esys_binding.TPMS_SCHEME_XOR_kdf_set
    __swig_getmethods__["kdf"] = _esys_binding.TPMS_SCHEME_XOR_kdf_get
    if _newclass:
        kdf = _swig_property(_esys_binding.TPMS_SCHEME_XOR_kdf_get, _esys_binding.TPMS_SCHEME_XOR_kdf_set)

    def __init__(self):
        """__init__(TPMS_SCHEME_XOR self) -> TPMS_SCHEME_XOR"""
        this = _esys_binding.new_TPMS_SCHEME_XOR()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SCHEME_XOR
    __del__ = lambda self: None
TPMS_SCHEME_XOR_swigregister = _esys_binding.TPMS_SCHEME_XOR_swigregister
TPMS_SCHEME_XOR_swigregister(TPMS_SCHEME_XOR)

class TPMU_SCHEME_KEYEDHASH(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_SCHEME_KEYEDHASH, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_SCHEME_KEYEDHASH, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hmac"] = _esys_binding.TPMU_SCHEME_KEYEDHASH_hmac_set
    __swig_getmethods__["hmac"] = _esys_binding.TPMU_SCHEME_KEYEDHASH_hmac_get
    if _newclass:
        hmac = _swig_property(_esys_binding.TPMU_SCHEME_KEYEDHASH_hmac_get, _esys_binding.TPMU_SCHEME_KEYEDHASH_hmac_set)
    __swig_setmethods__["exclusiveOr"] = _esys_binding.TPMU_SCHEME_KEYEDHASH_exclusiveOr_set
    __swig_getmethods__["exclusiveOr"] = _esys_binding.TPMU_SCHEME_KEYEDHASH_exclusiveOr_get
    if _newclass:
        exclusiveOr = _swig_property(_esys_binding.TPMU_SCHEME_KEYEDHASH_exclusiveOr_get, _esys_binding.TPMU_SCHEME_KEYEDHASH_exclusiveOr_set)

    def __init__(self):
        """__init__(TPMU_SCHEME_KEYEDHASH self) -> TPMU_SCHEME_KEYEDHASH"""
        this = _esys_binding.new_TPMU_SCHEME_KEYEDHASH()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_SCHEME_KEYEDHASH
    __del__ = lambda self: None
TPMU_SCHEME_KEYEDHASH_swigregister = _esys_binding.TPMU_SCHEME_KEYEDHASH_swigregister
TPMU_SCHEME_KEYEDHASH_swigregister(TPMU_SCHEME_KEYEDHASH)

class TPMT_KEYEDHASH_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_KEYEDHASH_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_KEYEDHASH_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMT_KEYEDHASH_SCHEME_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMT_KEYEDHASH_SCHEME_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMT_KEYEDHASH_SCHEME_scheme_get, _esys_binding.TPMT_KEYEDHASH_SCHEME_scheme_set)
    __swig_setmethods__["details"] = _esys_binding.TPMT_KEYEDHASH_SCHEME_details_set
    __swig_getmethods__["details"] = _esys_binding.TPMT_KEYEDHASH_SCHEME_details_get
    if _newclass:
        details = _swig_property(_esys_binding.TPMT_KEYEDHASH_SCHEME_details_get, _esys_binding.TPMT_KEYEDHASH_SCHEME_details_set)

    def __init__(self):
        """__init__(TPMT_KEYEDHASH_SCHEME self) -> TPMT_KEYEDHASH_SCHEME"""
        this = _esys_binding.new_TPMT_KEYEDHASH_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_KEYEDHASH_SCHEME
    __del__ = lambda self: None
TPMT_KEYEDHASH_SCHEME_swigregister = _esys_binding.TPMT_KEYEDHASH_SCHEME_swigregister
TPMT_KEYEDHASH_SCHEME_swigregister(TPMT_KEYEDHASH_SCHEME)

class TPMU_SIG_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_SIG_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_SIG_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["rsassa"] = _esys_binding.TPMU_SIG_SCHEME_rsassa_set
    __swig_getmethods__["rsassa"] = _esys_binding.TPMU_SIG_SCHEME_rsassa_get
    if _newclass:
        rsassa = _swig_property(_esys_binding.TPMU_SIG_SCHEME_rsassa_get, _esys_binding.TPMU_SIG_SCHEME_rsassa_set)
    __swig_setmethods__["rsapss"] = _esys_binding.TPMU_SIG_SCHEME_rsapss_set
    __swig_getmethods__["rsapss"] = _esys_binding.TPMU_SIG_SCHEME_rsapss_get
    if _newclass:
        rsapss = _swig_property(_esys_binding.TPMU_SIG_SCHEME_rsapss_get, _esys_binding.TPMU_SIG_SCHEME_rsapss_set)
    __swig_setmethods__["ecdsa"] = _esys_binding.TPMU_SIG_SCHEME_ecdsa_set
    __swig_getmethods__["ecdsa"] = _esys_binding.TPMU_SIG_SCHEME_ecdsa_get
    if _newclass:
        ecdsa = _swig_property(_esys_binding.TPMU_SIG_SCHEME_ecdsa_get, _esys_binding.TPMU_SIG_SCHEME_ecdsa_set)
    __swig_setmethods__["ecdaa"] = _esys_binding.TPMU_SIG_SCHEME_ecdaa_set
    __swig_getmethods__["ecdaa"] = _esys_binding.TPMU_SIG_SCHEME_ecdaa_get
    if _newclass:
        ecdaa = _swig_property(_esys_binding.TPMU_SIG_SCHEME_ecdaa_get, _esys_binding.TPMU_SIG_SCHEME_ecdaa_set)
    __swig_setmethods__["sm2"] = _esys_binding.TPMU_SIG_SCHEME_sm2_set
    __swig_getmethods__["sm2"] = _esys_binding.TPMU_SIG_SCHEME_sm2_get
    if _newclass:
        sm2 = _swig_property(_esys_binding.TPMU_SIG_SCHEME_sm2_get, _esys_binding.TPMU_SIG_SCHEME_sm2_set)
    __swig_setmethods__["ecschnorr"] = _esys_binding.TPMU_SIG_SCHEME_ecschnorr_set
    __swig_getmethods__["ecschnorr"] = _esys_binding.TPMU_SIG_SCHEME_ecschnorr_get
    if _newclass:
        ecschnorr = _swig_property(_esys_binding.TPMU_SIG_SCHEME_ecschnorr_get, _esys_binding.TPMU_SIG_SCHEME_ecschnorr_set)
    __swig_setmethods__["hmac"] = _esys_binding.TPMU_SIG_SCHEME_hmac_set
    __swig_getmethods__["hmac"] = _esys_binding.TPMU_SIG_SCHEME_hmac_get
    if _newclass:
        hmac = _swig_property(_esys_binding.TPMU_SIG_SCHEME_hmac_get, _esys_binding.TPMU_SIG_SCHEME_hmac_set)
    __swig_setmethods__["any"] = _esys_binding.TPMU_SIG_SCHEME_any_set
    __swig_getmethods__["any"] = _esys_binding.TPMU_SIG_SCHEME_any_get
    if _newclass:
        any = _swig_property(_esys_binding.TPMU_SIG_SCHEME_any_get, _esys_binding.TPMU_SIG_SCHEME_any_set)

    def __init__(self):
        """__init__(TPMU_SIG_SCHEME self) -> TPMU_SIG_SCHEME"""
        this = _esys_binding.new_TPMU_SIG_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_SIG_SCHEME
    __del__ = lambda self: None
TPMU_SIG_SCHEME_swigregister = _esys_binding.TPMU_SIG_SCHEME_swigregister
TPMU_SIG_SCHEME_swigregister(TPMU_SIG_SCHEME)

class TPMT_SIG_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_SIG_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_SIG_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMT_SIG_SCHEME_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMT_SIG_SCHEME_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMT_SIG_SCHEME_scheme_get, _esys_binding.TPMT_SIG_SCHEME_scheme_set)
    __swig_setmethods__["details"] = _esys_binding.TPMT_SIG_SCHEME_details_set
    __swig_getmethods__["details"] = _esys_binding.TPMT_SIG_SCHEME_details_get
    if _newclass:
        details = _swig_property(_esys_binding.TPMT_SIG_SCHEME_details_get, _esys_binding.TPMT_SIG_SCHEME_details_set)

    def __init__(self):
        """__init__(TPMT_SIG_SCHEME self) -> TPMT_SIG_SCHEME"""
        this = _esys_binding.new_TPMT_SIG_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_SIG_SCHEME
    __del__ = lambda self: None
TPMT_SIG_SCHEME_swigregister = _esys_binding.TPMT_SIG_SCHEME_swigregister
TPMT_SIG_SCHEME_swigregister(TPMT_SIG_SCHEME)

class TPMU_KDF_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_KDF_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_KDF_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["mgf1"] = _esys_binding.TPMU_KDF_SCHEME_mgf1_set
    __swig_getmethods__["mgf1"] = _esys_binding.TPMU_KDF_SCHEME_mgf1_get
    if _newclass:
        mgf1 = _swig_property(_esys_binding.TPMU_KDF_SCHEME_mgf1_get, _esys_binding.TPMU_KDF_SCHEME_mgf1_set)
    __swig_setmethods__["kdf1_sp800_56a"] = _esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_56a_set
    __swig_getmethods__["kdf1_sp800_56a"] = _esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_56a_get
    if _newclass:
        kdf1_sp800_56a = _swig_property(_esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_56a_get, _esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_56a_set)
    __swig_setmethods__["kdf2"] = _esys_binding.TPMU_KDF_SCHEME_kdf2_set
    __swig_getmethods__["kdf2"] = _esys_binding.TPMU_KDF_SCHEME_kdf2_get
    if _newclass:
        kdf2 = _swig_property(_esys_binding.TPMU_KDF_SCHEME_kdf2_get, _esys_binding.TPMU_KDF_SCHEME_kdf2_set)
    __swig_setmethods__["kdf1_sp800_108"] = _esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_108_set
    __swig_getmethods__["kdf1_sp800_108"] = _esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_108_get
    if _newclass:
        kdf1_sp800_108 = _swig_property(_esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_108_get, _esys_binding.TPMU_KDF_SCHEME_kdf1_sp800_108_set)

    def __init__(self):
        """__init__(TPMU_KDF_SCHEME self) -> TPMU_KDF_SCHEME"""
        this = _esys_binding.new_TPMU_KDF_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_KDF_SCHEME
    __del__ = lambda self: None
TPMU_KDF_SCHEME_swigregister = _esys_binding.TPMU_KDF_SCHEME_swigregister
TPMU_KDF_SCHEME_swigregister(TPMU_KDF_SCHEME)

class TPMT_KDF_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_KDF_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_KDF_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMT_KDF_SCHEME_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMT_KDF_SCHEME_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMT_KDF_SCHEME_scheme_get, _esys_binding.TPMT_KDF_SCHEME_scheme_set)
    __swig_setmethods__["details"] = _esys_binding.TPMT_KDF_SCHEME_details_set
    __swig_getmethods__["details"] = _esys_binding.TPMT_KDF_SCHEME_details_get
    if _newclass:
        details = _swig_property(_esys_binding.TPMT_KDF_SCHEME_details_get, _esys_binding.TPMT_KDF_SCHEME_details_set)

    def __init__(self):
        """__init__(TPMT_KDF_SCHEME self) -> TPMT_KDF_SCHEME"""
        this = _esys_binding.new_TPMT_KDF_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_KDF_SCHEME
    __del__ = lambda self: None
TPMT_KDF_SCHEME_swigregister = _esys_binding.TPMT_KDF_SCHEME_swigregister
TPMT_KDF_SCHEME_swigregister(TPMT_KDF_SCHEME)

class TPMU_ASYM_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_ASYM_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_ASYM_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["ecdh"] = _esys_binding.TPMU_ASYM_SCHEME_ecdh_set
    __swig_getmethods__["ecdh"] = _esys_binding.TPMU_ASYM_SCHEME_ecdh_get
    if _newclass:
        ecdh = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_ecdh_get, _esys_binding.TPMU_ASYM_SCHEME_ecdh_set)
    __swig_setmethods__["ecmqv"] = _esys_binding.TPMU_ASYM_SCHEME_ecmqv_set
    __swig_getmethods__["ecmqv"] = _esys_binding.TPMU_ASYM_SCHEME_ecmqv_get
    if _newclass:
        ecmqv = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_ecmqv_get, _esys_binding.TPMU_ASYM_SCHEME_ecmqv_set)
    __swig_setmethods__["rsassa"] = _esys_binding.TPMU_ASYM_SCHEME_rsassa_set
    __swig_getmethods__["rsassa"] = _esys_binding.TPMU_ASYM_SCHEME_rsassa_get
    if _newclass:
        rsassa = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_rsassa_get, _esys_binding.TPMU_ASYM_SCHEME_rsassa_set)
    __swig_setmethods__["rsapss"] = _esys_binding.TPMU_ASYM_SCHEME_rsapss_set
    __swig_getmethods__["rsapss"] = _esys_binding.TPMU_ASYM_SCHEME_rsapss_get
    if _newclass:
        rsapss = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_rsapss_get, _esys_binding.TPMU_ASYM_SCHEME_rsapss_set)
    __swig_setmethods__["ecdsa"] = _esys_binding.TPMU_ASYM_SCHEME_ecdsa_set
    __swig_getmethods__["ecdsa"] = _esys_binding.TPMU_ASYM_SCHEME_ecdsa_get
    if _newclass:
        ecdsa = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_ecdsa_get, _esys_binding.TPMU_ASYM_SCHEME_ecdsa_set)
    __swig_setmethods__["ecdaa"] = _esys_binding.TPMU_ASYM_SCHEME_ecdaa_set
    __swig_getmethods__["ecdaa"] = _esys_binding.TPMU_ASYM_SCHEME_ecdaa_get
    if _newclass:
        ecdaa = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_ecdaa_get, _esys_binding.TPMU_ASYM_SCHEME_ecdaa_set)
    __swig_setmethods__["sm2"] = _esys_binding.TPMU_ASYM_SCHEME_sm2_set
    __swig_getmethods__["sm2"] = _esys_binding.TPMU_ASYM_SCHEME_sm2_get
    if _newclass:
        sm2 = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_sm2_get, _esys_binding.TPMU_ASYM_SCHEME_sm2_set)
    __swig_setmethods__["ecschnorr"] = _esys_binding.TPMU_ASYM_SCHEME_ecschnorr_set
    __swig_getmethods__["ecschnorr"] = _esys_binding.TPMU_ASYM_SCHEME_ecschnorr_get
    if _newclass:
        ecschnorr = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_ecschnorr_get, _esys_binding.TPMU_ASYM_SCHEME_ecschnorr_set)
    __swig_setmethods__["rsaes"] = _esys_binding.TPMU_ASYM_SCHEME_rsaes_set
    __swig_getmethods__["rsaes"] = _esys_binding.TPMU_ASYM_SCHEME_rsaes_get
    if _newclass:
        rsaes = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_rsaes_get, _esys_binding.TPMU_ASYM_SCHEME_rsaes_set)
    __swig_setmethods__["oaep"] = _esys_binding.TPMU_ASYM_SCHEME_oaep_set
    __swig_getmethods__["oaep"] = _esys_binding.TPMU_ASYM_SCHEME_oaep_get
    if _newclass:
        oaep = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_oaep_get, _esys_binding.TPMU_ASYM_SCHEME_oaep_set)
    __swig_setmethods__["anySig"] = _esys_binding.TPMU_ASYM_SCHEME_anySig_set
    __swig_getmethods__["anySig"] = _esys_binding.TPMU_ASYM_SCHEME_anySig_get
    if _newclass:
        anySig = _swig_property(_esys_binding.TPMU_ASYM_SCHEME_anySig_get, _esys_binding.TPMU_ASYM_SCHEME_anySig_set)

    def __init__(self):
        """__init__(TPMU_ASYM_SCHEME self) -> TPMU_ASYM_SCHEME"""
        this = _esys_binding.new_TPMU_ASYM_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_ASYM_SCHEME
    __del__ = lambda self: None
TPMU_ASYM_SCHEME_swigregister = _esys_binding.TPMU_ASYM_SCHEME_swigregister
TPMU_ASYM_SCHEME_swigregister(TPMU_ASYM_SCHEME)

class TPMT_ASYM_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_ASYM_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_ASYM_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMT_ASYM_SCHEME_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMT_ASYM_SCHEME_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMT_ASYM_SCHEME_scheme_get, _esys_binding.TPMT_ASYM_SCHEME_scheme_set)
    __swig_setmethods__["details"] = _esys_binding.TPMT_ASYM_SCHEME_details_set
    __swig_getmethods__["details"] = _esys_binding.TPMT_ASYM_SCHEME_details_get
    if _newclass:
        details = _swig_property(_esys_binding.TPMT_ASYM_SCHEME_details_get, _esys_binding.TPMT_ASYM_SCHEME_details_set)

    def __init__(self):
        """__init__(TPMT_ASYM_SCHEME self) -> TPMT_ASYM_SCHEME"""
        this = _esys_binding.new_TPMT_ASYM_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_ASYM_SCHEME
    __del__ = lambda self: None
TPMT_ASYM_SCHEME_swigregister = _esys_binding.TPMT_ASYM_SCHEME_swigregister
TPMT_ASYM_SCHEME_swigregister(TPMT_ASYM_SCHEME)

class TPMT_RSA_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_RSA_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_RSA_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMT_RSA_SCHEME_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMT_RSA_SCHEME_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMT_RSA_SCHEME_scheme_get, _esys_binding.TPMT_RSA_SCHEME_scheme_set)
    __swig_setmethods__["details"] = _esys_binding.TPMT_RSA_SCHEME_details_set
    __swig_getmethods__["details"] = _esys_binding.TPMT_RSA_SCHEME_details_get
    if _newclass:
        details = _swig_property(_esys_binding.TPMT_RSA_SCHEME_details_get, _esys_binding.TPMT_RSA_SCHEME_details_set)

    def __init__(self):
        """__init__(TPMT_RSA_SCHEME self) -> TPMT_RSA_SCHEME"""
        this = _esys_binding.new_TPMT_RSA_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_RSA_SCHEME
    __del__ = lambda self: None
TPMT_RSA_SCHEME_swigregister = _esys_binding.TPMT_RSA_SCHEME_swigregister
TPMT_RSA_SCHEME_swigregister(TPMT_RSA_SCHEME)

class TPMT_RSA_DECRYPT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_RSA_DECRYPT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_RSA_DECRYPT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMT_RSA_DECRYPT_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMT_RSA_DECRYPT_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMT_RSA_DECRYPT_scheme_get, _esys_binding.TPMT_RSA_DECRYPT_scheme_set)
    __swig_setmethods__["details"] = _esys_binding.TPMT_RSA_DECRYPT_details_set
    __swig_getmethods__["details"] = _esys_binding.TPMT_RSA_DECRYPT_details_get
    if _newclass:
        details = _swig_property(_esys_binding.TPMT_RSA_DECRYPT_details_get, _esys_binding.TPMT_RSA_DECRYPT_details_set)

    def __init__(self):
        """__init__(TPMT_RSA_DECRYPT self) -> TPMT_RSA_DECRYPT"""
        this = _esys_binding.new_TPMT_RSA_DECRYPT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_RSA_DECRYPT
    __del__ = lambda self: None
TPMT_RSA_DECRYPT_swigregister = _esys_binding.TPMT_RSA_DECRYPT_swigregister
TPMT_RSA_DECRYPT_swigregister(TPMT_RSA_DECRYPT)

class TPM2B_PUBLIC_KEY_RSA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_PUBLIC_KEY_RSA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_PUBLIC_KEY_RSA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_PUBLIC_KEY_RSA_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_PUBLIC_KEY_RSA_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_PUBLIC_KEY_RSA_size_get, _esys_binding.TPM2B_PUBLIC_KEY_RSA_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_PUBLIC_KEY_RSA_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_PUBLIC_KEY_RSA_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_PUBLIC_KEY_RSA_buffer_get, _esys_binding.TPM2B_PUBLIC_KEY_RSA_buffer_set)

    def __init__(self):
        """__init__(TPM2B_PUBLIC_KEY_RSA self) -> TPM2B_PUBLIC_KEY_RSA"""
        this = _esys_binding.new_TPM2B_PUBLIC_KEY_RSA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_PUBLIC_KEY_RSA
    __del__ = lambda self: None
TPM2B_PUBLIC_KEY_RSA_swigregister = _esys_binding.TPM2B_PUBLIC_KEY_RSA_swigregister
TPM2B_PUBLIC_KEY_RSA_swigregister(TPM2B_PUBLIC_KEY_RSA)

class TPM2B_PRIVATE_KEY_RSA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_PRIVATE_KEY_RSA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_PRIVATE_KEY_RSA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_PRIVATE_KEY_RSA_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_PRIVATE_KEY_RSA_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_PRIVATE_KEY_RSA_size_get, _esys_binding.TPM2B_PRIVATE_KEY_RSA_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_PRIVATE_KEY_RSA_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_PRIVATE_KEY_RSA_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_PRIVATE_KEY_RSA_buffer_get, _esys_binding.TPM2B_PRIVATE_KEY_RSA_buffer_set)

    def __init__(self):
        """__init__(TPM2B_PRIVATE_KEY_RSA self) -> TPM2B_PRIVATE_KEY_RSA"""
        this = _esys_binding.new_TPM2B_PRIVATE_KEY_RSA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_PRIVATE_KEY_RSA
    __del__ = lambda self: None
TPM2B_PRIVATE_KEY_RSA_swigregister = _esys_binding.TPM2B_PRIVATE_KEY_RSA_swigregister
TPM2B_PRIVATE_KEY_RSA_swigregister(TPM2B_PRIVATE_KEY_RSA)

class TPM2B_ECC_PARAMETER(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_ECC_PARAMETER, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_ECC_PARAMETER, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_ECC_PARAMETER_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_ECC_PARAMETER_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_ECC_PARAMETER_size_get, _esys_binding.TPM2B_ECC_PARAMETER_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_ECC_PARAMETER_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_ECC_PARAMETER_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_ECC_PARAMETER_buffer_get, _esys_binding.TPM2B_ECC_PARAMETER_buffer_set)

    def __init__(self):
        """__init__(TPM2B_ECC_PARAMETER self) -> TPM2B_ECC_PARAMETER"""
        this = _esys_binding.new_TPM2B_ECC_PARAMETER()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_ECC_PARAMETER
    __del__ = lambda self: None
TPM2B_ECC_PARAMETER_swigregister = _esys_binding.TPM2B_ECC_PARAMETER_swigregister
TPM2B_ECC_PARAMETER_swigregister(TPM2B_ECC_PARAMETER)

class TPMS_ECC_POINT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ECC_POINT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ECC_POINT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["x"] = _esys_binding.TPMS_ECC_POINT_x_set
    __swig_getmethods__["x"] = _esys_binding.TPMS_ECC_POINT_x_get
    if _newclass:
        x = _swig_property(_esys_binding.TPMS_ECC_POINT_x_get, _esys_binding.TPMS_ECC_POINT_x_set)
    __swig_setmethods__["y"] = _esys_binding.TPMS_ECC_POINT_y_set
    __swig_getmethods__["y"] = _esys_binding.TPMS_ECC_POINT_y_get
    if _newclass:
        y = _swig_property(_esys_binding.TPMS_ECC_POINT_y_get, _esys_binding.TPMS_ECC_POINT_y_set)

    def __init__(self):
        """__init__(TPMS_ECC_POINT self) -> TPMS_ECC_POINT"""
        this = _esys_binding.new_TPMS_ECC_POINT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ECC_POINT
    __del__ = lambda self: None
TPMS_ECC_POINT_swigregister = _esys_binding.TPMS_ECC_POINT_swigregister
TPMS_ECC_POINT_swigregister(TPMS_ECC_POINT)

class TPM2B_ECC_POINT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_ECC_POINT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_ECC_POINT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_ECC_POINT_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_ECC_POINT_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_ECC_POINT_size_get, _esys_binding.TPM2B_ECC_POINT_size_set)
    __swig_setmethods__["point"] = _esys_binding.TPM2B_ECC_POINT_point_set
    __swig_getmethods__["point"] = _esys_binding.TPM2B_ECC_POINT_point_get
    if _newclass:
        point = _swig_property(_esys_binding.TPM2B_ECC_POINT_point_get, _esys_binding.TPM2B_ECC_POINT_point_set)

    def __init__(self):
        """__init__(TPM2B_ECC_POINT self) -> TPM2B_ECC_POINT"""
        this = _esys_binding.new_TPM2B_ECC_POINT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_ECC_POINT
    __del__ = lambda self: None
TPM2B_ECC_POINT_swigregister = _esys_binding.TPM2B_ECC_POINT_swigregister
TPM2B_ECC_POINT_swigregister(TPM2B_ECC_POINT)

class TPMT_ECC_SCHEME(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_ECC_SCHEME, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_ECC_SCHEME, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMT_ECC_SCHEME_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMT_ECC_SCHEME_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMT_ECC_SCHEME_scheme_get, _esys_binding.TPMT_ECC_SCHEME_scheme_set)
    __swig_setmethods__["details"] = _esys_binding.TPMT_ECC_SCHEME_details_set
    __swig_getmethods__["details"] = _esys_binding.TPMT_ECC_SCHEME_details_get
    if _newclass:
        details = _swig_property(_esys_binding.TPMT_ECC_SCHEME_details_get, _esys_binding.TPMT_ECC_SCHEME_details_set)

    def __init__(self):
        """__init__(TPMT_ECC_SCHEME self) -> TPMT_ECC_SCHEME"""
        this = _esys_binding.new_TPMT_ECC_SCHEME()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_ECC_SCHEME
    __del__ = lambda self: None
TPMT_ECC_SCHEME_swigregister = _esys_binding.TPMT_ECC_SCHEME_swigregister
TPMT_ECC_SCHEME_swigregister(TPMT_ECC_SCHEME)

class TPMS_ALGORITHM_DETAIL_ECC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ALGORITHM_DETAIL_ECC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ALGORITHM_DETAIL_ECC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["curveID"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_curveID_set
    __swig_getmethods__["curveID"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_curveID_get
    if _newclass:
        curveID = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_curveID_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_curveID_set)
    __swig_setmethods__["keySize"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_keySize_set
    __swig_getmethods__["keySize"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_keySize_get
    if _newclass:
        keySize = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_keySize_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_keySize_set)
    __swig_setmethods__["kdf"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_kdf_set
    __swig_getmethods__["kdf"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_kdf_get
    if _newclass:
        kdf = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_kdf_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_kdf_set)
    __swig_setmethods__["sign"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_sign_set
    __swig_getmethods__["sign"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_sign_get
    if _newclass:
        sign = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_sign_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_sign_set)
    __swig_setmethods__["p"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_p_set
    __swig_getmethods__["p"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_p_get
    if _newclass:
        p = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_p_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_p_set)
    __swig_setmethods__["a"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_a_set
    __swig_getmethods__["a"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_a_get
    if _newclass:
        a = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_a_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_a_set)
    __swig_setmethods__["b"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_b_set
    __swig_getmethods__["b"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_b_get
    if _newclass:
        b = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_b_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_b_set)
    __swig_setmethods__["gX"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gX_set
    __swig_getmethods__["gX"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gX_get
    if _newclass:
        gX = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gX_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gX_set)
    __swig_setmethods__["gY"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gY_set
    __swig_getmethods__["gY"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gY_get
    if _newclass:
        gY = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gY_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_gY_set)
    __swig_setmethods__["n"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_n_set
    __swig_getmethods__["n"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_n_get
    if _newclass:
        n = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_n_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_n_set)
    __swig_setmethods__["h"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_h_set
    __swig_getmethods__["h"] = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_h_get
    if _newclass:
        h = _swig_property(_esys_binding.TPMS_ALGORITHM_DETAIL_ECC_h_get, _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_h_set)

    def __init__(self):
        """__init__(TPMS_ALGORITHM_DETAIL_ECC self) -> TPMS_ALGORITHM_DETAIL_ECC"""
        this = _esys_binding.new_TPMS_ALGORITHM_DETAIL_ECC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ALGORITHM_DETAIL_ECC
    __del__ = lambda self: None
TPMS_ALGORITHM_DETAIL_ECC_swigregister = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_swigregister
TPMS_ALGORITHM_DETAIL_ECC_swigregister(TPMS_ALGORITHM_DETAIL_ECC)

class TPMS_SIGNATURE_RSA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SIGNATURE_RSA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SIGNATURE_RSA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hash"] = _esys_binding.TPMS_SIGNATURE_RSA_hash_set
    __swig_getmethods__["hash"] = _esys_binding.TPMS_SIGNATURE_RSA_hash_get
    if _newclass:
        hash = _swig_property(_esys_binding.TPMS_SIGNATURE_RSA_hash_get, _esys_binding.TPMS_SIGNATURE_RSA_hash_set)
    __swig_setmethods__["sig"] = _esys_binding.TPMS_SIGNATURE_RSA_sig_set
    __swig_getmethods__["sig"] = _esys_binding.TPMS_SIGNATURE_RSA_sig_get
    if _newclass:
        sig = _swig_property(_esys_binding.TPMS_SIGNATURE_RSA_sig_get, _esys_binding.TPMS_SIGNATURE_RSA_sig_set)

    def __init__(self):
        """__init__(TPMS_SIGNATURE_RSA self) -> TPMS_SIGNATURE_RSA"""
        this = _esys_binding.new_TPMS_SIGNATURE_RSA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SIGNATURE_RSA
    __del__ = lambda self: None
TPMS_SIGNATURE_RSA_swigregister = _esys_binding.TPMS_SIGNATURE_RSA_swigregister
TPMS_SIGNATURE_RSA_swigregister(TPMS_SIGNATURE_RSA)

class TPMS_SIGNATURE_ECC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_SIGNATURE_ECC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_SIGNATURE_ECC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["hash"] = _esys_binding.TPMS_SIGNATURE_ECC_hash_set
    __swig_getmethods__["hash"] = _esys_binding.TPMS_SIGNATURE_ECC_hash_get
    if _newclass:
        hash = _swig_property(_esys_binding.TPMS_SIGNATURE_ECC_hash_get, _esys_binding.TPMS_SIGNATURE_ECC_hash_set)
    __swig_setmethods__["signatureR"] = _esys_binding.TPMS_SIGNATURE_ECC_signatureR_set
    __swig_getmethods__["signatureR"] = _esys_binding.TPMS_SIGNATURE_ECC_signatureR_get
    if _newclass:
        signatureR = _swig_property(_esys_binding.TPMS_SIGNATURE_ECC_signatureR_get, _esys_binding.TPMS_SIGNATURE_ECC_signatureR_set)
    __swig_setmethods__["signatureS"] = _esys_binding.TPMS_SIGNATURE_ECC_signatureS_set
    __swig_getmethods__["signatureS"] = _esys_binding.TPMS_SIGNATURE_ECC_signatureS_get
    if _newclass:
        signatureS = _swig_property(_esys_binding.TPMS_SIGNATURE_ECC_signatureS_get, _esys_binding.TPMS_SIGNATURE_ECC_signatureS_set)

    def __init__(self):
        """__init__(TPMS_SIGNATURE_ECC self) -> TPMS_SIGNATURE_ECC"""
        this = _esys_binding.new_TPMS_SIGNATURE_ECC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_SIGNATURE_ECC
    __del__ = lambda self: None
TPMS_SIGNATURE_ECC_swigregister = _esys_binding.TPMS_SIGNATURE_ECC_swigregister
TPMS_SIGNATURE_ECC_swigregister(TPMS_SIGNATURE_ECC)

class TPMU_SIGNATURE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_SIGNATURE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_SIGNATURE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["rsassa"] = _esys_binding.TPMU_SIGNATURE_rsassa_set
    __swig_getmethods__["rsassa"] = _esys_binding.TPMU_SIGNATURE_rsassa_get
    if _newclass:
        rsassa = _swig_property(_esys_binding.TPMU_SIGNATURE_rsassa_get, _esys_binding.TPMU_SIGNATURE_rsassa_set)
    __swig_setmethods__["rsapss"] = _esys_binding.TPMU_SIGNATURE_rsapss_set
    __swig_getmethods__["rsapss"] = _esys_binding.TPMU_SIGNATURE_rsapss_get
    if _newclass:
        rsapss = _swig_property(_esys_binding.TPMU_SIGNATURE_rsapss_get, _esys_binding.TPMU_SIGNATURE_rsapss_set)
    __swig_setmethods__["ecdsa"] = _esys_binding.TPMU_SIGNATURE_ecdsa_set
    __swig_getmethods__["ecdsa"] = _esys_binding.TPMU_SIGNATURE_ecdsa_get
    if _newclass:
        ecdsa = _swig_property(_esys_binding.TPMU_SIGNATURE_ecdsa_get, _esys_binding.TPMU_SIGNATURE_ecdsa_set)
    __swig_setmethods__["ecdaa"] = _esys_binding.TPMU_SIGNATURE_ecdaa_set
    __swig_getmethods__["ecdaa"] = _esys_binding.TPMU_SIGNATURE_ecdaa_get
    if _newclass:
        ecdaa = _swig_property(_esys_binding.TPMU_SIGNATURE_ecdaa_get, _esys_binding.TPMU_SIGNATURE_ecdaa_set)
    __swig_setmethods__["sm2"] = _esys_binding.TPMU_SIGNATURE_sm2_set
    __swig_getmethods__["sm2"] = _esys_binding.TPMU_SIGNATURE_sm2_get
    if _newclass:
        sm2 = _swig_property(_esys_binding.TPMU_SIGNATURE_sm2_get, _esys_binding.TPMU_SIGNATURE_sm2_set)
    __swig_setmethods__["ecschnorr"] = _esys_binding.TPMU_SIGNATURE_ecschnorr_set
    __swig_getmethods__["ecschnorr"] = _esys_binding.TPMU_SIGNATURE_ecschnorr_get
    if _newclass:
        ecschnorr = _swig_property(_esys_binding.TPMU_SIGNATURE_ecschnorr_get, _esys_binding.TPMU_SIGNATURE_ecschnorr_set)
    __swig_setmethods__["hmac"] = _esys_binding.TPMU_SIGNATURE_hmac_set
    __swig_getmethods__["hmac"] = _esys_binding.TPMU_SIGNATURE_hmac_get
    if _newclass:
        hmac = _swig_property(_esys_binding.TPMU_SIGNATURE_hmac_get, _esys_binding.TPMU_SIGNATURE_hmac_set)
    __swig_setmethods__["any"] = _esys_binding.TPMU_SIGNATURE_any_set
    __swig_getmethods__["any"] = _esys_binding.TPMU_SIGNATURE_any_get
    if _newclass:
        any = _swig_property(_esys_binding.TPMU_SIGNATURE_any_get, _esys_binding.TPMU_SIGNATURE_any_set)

    def __init__(self):
        """__init__(TPMU_SIGNATURE self) -> TPMU_SIGNATURE"""
        this = _esys_binding.new_TPMU_SIGNATURE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_SIGNATURE
    __del__ = lambda self: None
TPMU_SIGNATURE_swigregister = _esys_binding.TPMU_SIGNATURE_swigregister
TPMU_SIGNATURE_swigregister(TPMU_SIGNATURE)

class TPMT_SIGNATURE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_SIGNATURE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_SIGNATURE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["sigAlg"] = _esys_binding.TPMT_SIGNATURE_sigAlg_set
    __swig_getmethods__["sigAlg"] = _esys_binding.TPMT_SIGNATURE_sigAlg_get
    if _newclass:
        sigAlg = _swig_property(_esys_binding.TPMT_SIGNATURE_sigAlg_get, _esys_binding.TPMT_SIGNATURE_sigAlg_set)
    __swig_setmethods__["signature"] = _esys_binding.TPMT_SIGNATURE_signature_set
    __swig_getmethods__["signature"] = _esys_binding.TPMT_SIGNATURE_signature_get
    if _newclass:
        signature = _swig_property(_esys_binding.TPMT_SIGNATURE_signature_get, _esys_binding.TPMT_SIGNATURE_signature_set)

    def __init__(self):
        """__init__(TPMT_SIGNATURE self) -> TPMT_SIGNATURE"""
        this = _esys_binding.new_TPMT_SIGNATURE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_SIGNATURE
    __del__ = lambda self: None
TPMT_SIGNATURE_swigregister = _esys_binding.TPMT_SIGNATURE_swigregister
TPMT_SIGNATURE_swigregister(TPMT_SIGNATURE)

class TPMU_ENCRYPTED_SECRET(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_ENCRYPTED_SECRET, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_ENCRYPTED_SECRET, name)
    __repr__ = _swig_repr
    __swig_setmethods__["ecc"] = _esys_binding.TPMU_ENCRYPTED_SECRET_ecc_set
    __swig_getmethods__["ecc"] = _esys_binding.TPMU_ENCRYPTED_SECRET_ecc_get
    if _newclass:
        ecc = _swig_property(_esys_binding.TPMU_ENCRYPTED_SECRET_ecc_get, _esys_binding.TPMU_ENCRYPTED_SECRET_ecc_set)
    __swig_setmethods__["rsa"] = _esys_binding.TPMU_ENCRYPTED_SECRET_rsa_set
    __swig_getmethods__["rsa"] = _esys_binding.TPMU_ENCRYPTED_SECRET_rsa_get
    if _newclass:
        rsa = _swig_property(_esys_binding.TPMU_ENCRYPTED_SECRET_rsa_get, _esys_binding.TPMU_ENCRYPTED_SECRET_rsa_set)
    __swig_setmethods__["symmetric"] = _esys_binding.TPMU_ENCRYPTED_SECRET_symmetric_set
    __swig_getmethods__["symmetric"] = _esys_binding.TPMU_ENCRYPTED_SECRET_symmetric_get
    if _newclass:
        symmetric = _swig_property(_esys_binding.TPMU_ENCRYPTED_SECRET_symmetric_get, _esys_binding.TPMU_ENCRYPTED_SECRET_symmetric_set)
    __swig_setmethods__["keyedHash"] = _esys_binding.TPMU_ENCRYPTED_SECRET_keyedHash_set
    __swig_getmethods__["keyedHash"] = _esys_binding.TPMU_ENCRYPTED_SECRET_keyedHash_get
    if _newclass:
        keyedHash = _swig_property(_esys_binding.TPMU_ENCRYPTED_SECRET_keyedHash_get, _esys_binding.TPMU_ENCRYPTED_SECRET_keyedHash_set)

    def __init__(self):
        """__init__(TPMU_ENCRYPTED_SECRET self) -> TPMU_ENCRYPTED_SECRET"""
        this = _esys_binding.new_TPMU_ENCRYPTED_SECRET()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_ENCRYPTED_SECRET
    __del__ = lambda self: None
TPMU_ENCRYPTED_SECRET_swigregister = _esys_binding.TPMU_ENCRYPTED_SECRET_swigregister
TPMU_ENCRYPTED_SECRET_swigregister(TPMU_ENCRYPTED_SECRET)

class TPM2B_ENCRYPTED_SECRET(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_ENCRYPTED_SECRET, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_ENCRYPTED_SECRET, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_ENCRYPTED_SECRET_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_ENCRYPTED_SECRET_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_ENCRYPTED_SECRET_size_get, _esys_binding.TPM2B_ENCRYPTED_SECRET_size_set)
    __swig_setmethods__["secret"] = _esys_binding.TPM2B_ENCRYPTED_SECRET_secret_set
    __swig_getmethods__["secret"] = _esys_binding.TPM2B_ENCRYPTED_SECRET_secret_get
    if _newclass:
        secret = _swig_property(_esys_binding.TPM2B_ENCRYPTED_SECRET_secret_get, _esys_binding.TPM2B_ENCRYPTED_SECRET_secret_set)

    def __init__(self):
        """__init__(TPM2B_ENCRYPTED_SECRET self) -> TPM2B_ENCRYPTED_SECRET"""
        this = _esys_binding.new_TPM2B_ENCRYPTED_SECRET()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_ENCRYPTED_SECRET
    __del__ = lambda self: None
TPM2B_ENCRYPTED_SECRET_swigregister = _esys_binding.TPM2B_ENCRYPTED_SECRET_swigregister
TPM2B_ENCRYPTED_SECRET_swigregister(TPM2B_ENCRYPTED_SECRET)

class TPMU_PUBLIC_ID(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_PUBLIC_ID, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_PUBLIC_ID, name)
    __repr__ = _swig_repr
    __swig_setmethods__["keyedHash"] = _esys_binding.TPMU_PUBLIC_ID_keyedHash_set
    __swig_getmethods__["keyedHash"] = _esys_binding.TPMU_PUBLIC_ID_keyedHash_get
    if _newclass:
        keyedHash = _swig_property(_esys_binding.TPMU_PUBLIC_ID_keyedHash_get, _esys_binding.TPMU_PUBLIC_ID_keyedHash_set)
    __swig_setmethods__["sym"] = _esys_binding.TPMU_PUBLIC_ID_sym_set
    __swig_getmethods__["sym"] = _esys_binding.TPMU_PUBLIC_ID_sym_get
    if _newclass:
        sym = _swig_property(_esys_binding.TPMU_PUBLIC_ID_sym_get, _esys_binding.TPMU_PUBLIC_ID_sym_set)
    __swig_setmethods__["rsa"] = _esys_binding.TPMU_PUBLIC_ID_rsa_set
    __swig_getmethods__["rsa"] = _esys_binding.TPMU_PUBLIC_ID_rsa_get
    if _newclass:
        rsa = _swig_property(_esys_binding.TPMU_PUBLIC_ID_rsa_get, _esys_binding.TPMU_PUBLIC_ID_rsa_set)
    __swig_setmethods__["ecc"] = _esys_binding.TPMU_PUBLIC_ID_ecc_set
    __swig_getmethods__["ecc"] = _esys_binding.TPMU_PUBLIC_ID_ecc_get
    if _newclass:
        ecc = _swig_property(_esys_binding.TPMU_PUBLIC_ID_ecc_get, _esys_binding.TPMU_PUBLIC_ID_ecc_set)

    def __init__(self):
        """__init__(TPMU_PUBLIC_ID self) -> TPMU_PUBLIC_ID"""
        this = _esys_binding.new_TPMU_PUBLIC_ID()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_PUBLIC_ID
    __del__ = lambda self: None
TPMU_PUBLIC_ID_swigregister = _esys_binding.TPMU_PUBLIC_ID_swigregister
TPMU_PUBLIC_ID_swigregister(TPMU_PUBLIC_ID)

class TPMS_KEYEDHASH_PARMS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_KEYEDHASH_PARMS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_KEYEDHASH_PARMS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["scheme"] = _esys_binding.TPMS_KEYEDHASH_PARMS_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMS_KEYEDHASH_PARMS_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMS_KEYEDHASH_PARMS_scheme_get, _esys_binding.TPMS_KEYEDHASH_PARMS_scheme_set)

    def __init__(self):
        """__init__(TPMS_KEYEDHASH_PARMS self) -> TPMS_KEYEDHASH_PARMS"""
        this = _esys_binding.new_TPMS_KEYEDHASH_PARMS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_KEYEDHASH_PARMS
    __del__ = lambda self: None
TPMS_KEYEDHASH_PARMS_swigregister = _esys_binding.TPMS_KEYEDHASH_PARMS_swigregister
TPMS_KEYEDHASH_PARMS_swigregister(TPMS_KEYEDHASH_PARMS)

class TPMS_ASYM_PARMS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ASYM_PARMS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ASYM_PARMS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["symmetric"] = _esys_binding.TPMS_ASYM_PARMS_symmetric_set
    __swig_getmethods__["symmetric"] = _esys_binding.TPMS_ASYM_PARMS_symmetric_get
    if _newclass:
        symmetric = _swig_property(_esys_binding.TPMS_ASYM_PARMS_symmetric_get, _esys_binding.TPMS_ASYM_PARMS_symmetric_set)
    __swig_setmethods__["scheme"] = _esys_binding.TPMS_ASYM_PARMS_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMS_ASYM_PARMS_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMS_ASYM_PARMS_scheme_get, _esys_binding.TPMS_ASYM_PARMS_scheme_set)

    def __init__(self):
        """__init__(TPMS_ASYM_PARMS self) -> TPMS_ASYM_PARMS"""
        this = _esys_binding.new_TPMS_ASYM_PARMS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ASYM_PARMS
    __del__ = lambda self: None
TPMS_ASYM_PARMS_swigregister = _esys_binding.TPMS_ASYM_PARMS_swigregister
TPMS_ASYM_PARMS_swigregister(TPMS_ASYM_PARMS)

class TPMS_RSA_PARMS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_RSA_PARMS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_RSA_PARMS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["symmetric"] = _esys_binding.TPMS_RSA_PARMS_symmetric_set
    __swig_getmethods__["symmetric"] = _esys_binding.TPMS_RSA_PARMS_symmetric_get
    if _newclass:
        symmetric = _swig_property(_esys_binding.TPMS_RSA_PARMS_symmetric_get, _esys_binding.TPMS_RSA_PARMS_symmetric_set)
    __swig_setmethods__["scheme"] = _esys_binding.TPMS_RSA_PARMS_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMS_RSA_PARMS_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMS_RSA_PARMS_scheme_get, _esys_binding.TPMS_RSA_PARMS_scheme_set)
    __swig_setmethods__["keyBits"] = _esys_binding.TPMS_RSA_PARMS_keyBits_set
    __swig_getmethods__["keyBits"] = _esys_binding.TPMS_RSA_PARMS_keyBits_get
    if _newclass:
        keyBits = _swig_property(_esys_binding.TPMS_RSA_PARMS_keyBits_get, _esys_binding.TPMS_RSA_PARMS_keyBits_set)
    __swig_setmethods__["exponent"] = _esys_binding.TPMS_RSA_PARMS_exponent_set
    __swig_getmethods__["exponent"] = _esys_binding.TPMS_RSA_PARMS_exponent_get
    if _newclass:
        exponent = _swig_property(_esys_binding.TPMS_RSA_PARMS_exponent_get, _esys_binding.TPMS_RSA_PARMS_exponent_set)

    def __init__(self):
        """__init__(TPMS_RSA_PARMS self) -> TPMS_RSA_PARMS"""
        this = _esys_binding.new_TPMS_RSA_PARMS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_RSA_PARMS
    __del__ = lambda self: None
TPMS_RSA_PARMS_swigregister = _esys_binding.TPMS_RSA_PARMS_swigregister
TPMS_RSA_PARMS_swigregister(TPMS_RSA_PARMS)

class TPMS_ECC_PARMS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ECC_PARMS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ECC_PARMS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["symmetric"] = _esys_binding.TPMS_ECC_PARMS_symmetric_set
    __swig_getmethods__["symmetric"] = _esys_binding.TPMS_ECC_PARMS_symmetric_get
    if _newclass:
        symmetric = _swig_property(_esys_binding.TPMS_ECC_PARMS_symmetric_get, _esys_binding.TPMS_ECC_PARMS_symmetric_set)
    __swig_setmethods__["scheme"] = _esys_binding.TPMS_ECC_PARMS_scheme_set
    __swig_getmethods__["scheme"] = _esys_binding.TPMS_ECC_PARMS_scheme_get
    if _newclass:
        scheme = _swig_property(_esys_binding.TPMS_ECC_PARMS_scheme_get, _esys_binding.TPMS_ECC_PARMS_scheme_set)
    __swig_setmethods__["curveID"] = _esys_binding.TPMS_ECC_PARMS_curveID_set
    __swig_getmethods__["curveID"] = _esys_binding.TPMS_ECC_PARMS_curveID_get
    if _newclass:
        curveID = _swig_property(_esys_binding.TPMS_ECC_PARMS_curveID_get, _esys_binding.TPMS_ECC_PARMS_curveID_set)
    __swig_setmethods__["kdf"] = _esys_binding.TPMS_ECC_PARMS_kdf_set
    __swig_getmethods__["kdf"] = _esys_binding.TPMS_ECC_PARMS_kdf_get
    if _newclass:
        kdf = _swig_property(_esys_binding.TPMS_ECC_PARMS_kdf_get, _esys_binding.TPMS_ECC_PARMS_kdf_set)

    def __init__(self):
        """__init__(TPMS_ECC_PARMS self) -> TPMS_ECC_PARMS"""
        this = _esys_binding.new_TPMS_ECC_PARMS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ECC_PARMS
    __del__ = lambda self: None
TPMS_ECC_PARMS_swigregister = _esys_binding.TPMS_ECC_PARMS_swigregister
TPMS_ECC_PARMS_swigregister(TPMS_ECC_PARMS)

class TPMU_PUBLIC_PARMS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_PUBLIC_PARMS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_PUBLIC_PARMS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["keyedHashDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_keyedHashDetail_set
    __swig_getmethods__["keyedHashDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_keyedHashDetail_get
    if _newclass:
        keyedHashDetail = _swig_property(_esys_binding.TPMU_PUBLIC_PARMS_keyedHashDetail_get, _esys_binding.TPMU_PUBLIC_PARMS_keyedHashDetail_set)
    __swig_setmethods__["symDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_symDetail_set
    __swig_getmethods__["symDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_symDetail_get
    if _newclass:
        symDetail = _swig_property(_esys_binding.TPMU_PUBLIC_PARMS_symDetail_get, _esys_binding.TPMU_PUBLIC_PARMS_symDetail_set)
    __swig_setmethods__["rsaDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_rsaDetail_set
    __swig_getmethods__["rsaDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_rsaDetail_get
    if _newclass:
        rsaDetail = _swig_property(_esys_binding.TPMU_PUBLIC_PARMS_rsaDetail_get, _esys_binding.TPMU_PUBLIC_PARMS_rsaDetail_set)
    __swig_setmethods__["eccDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_eccDetail_set
    __swig_getmethods__["eccDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_eccDetail_get
    if _newclass:
        eccDetail = _swig_property(_esys_binding.TPMU_PUBLIC_PARMS_eccDetail_get, _esys_binding.TPMU_PUBLIC_PARMS_eccDetail_set)
    __swig_setmethods__["asymDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_asymDetail_set
    __swig_getmethods__["asymDetail"] = _esys_binding.TPMU_PUBLIC_PARMS_asymDetail_get
    if _newclass:
        asymDetail = _swig_property(_esys_binding.TPMU_PUBLIC_PARMS_asymDetail_get, _esys_binding.TPMU_PUBLIC_PARMS_asymDetail_set)

    def __init__(self):
        """__init__(TPMU_PUBLIC_PARMS self) -> TPMU_PUBLIC_PARMS"""
        this = _esys_binding.new_TPMU_PUBLIC_PARMS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_PUBLIC_PARMS
    __del__ = lambda self: None
TPMU_PUBLIC_PARMS_swigregister = _esys_binding.TPMU_PUBLIC_PARMS_swigregister
TPMU_PUBLIC_PARMS_swigregister(TPMU_PUBLIC_PARMS)

class TPMT_PUBLIC_PARMS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_PUBLIC_PARMS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_PUBLIC_PARMS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["type"] = _esys_binding.TPMT_PUBLIC_PARMS_type_set
    __swig_getmethods__["type"] = _esys_binding.TPMT_PUBLIC_PARMS_type_get
    if _newclass:
        type = _swig_property(_esys_binding.TPMT_PUBLIC_PARMS_type_get, _esys_binding.TPMT_PUBLIC_PARMS_type_set)
    __swig_setmethods__["parameters"] = _esys_binding.TPMT_PUBLIC_PARMS_parameters_set
    __swig_getmethods__["parameters"] = _esys_binding.TPMT_PUBLIC_PARMS_parameters_get
    if _newclass:
        parameters = _swig_property(_esys_binding.TPMT_PUBLIC_PARMS_parameters_get, _esys_binding.TPMT_PUBLIC_PARMS_parameters_set)

    def __init__(self):
        """__init__(TPMT_PUBLIC_PARMS self) -> TPMT_PUBLIC_PARMS"""
        this = _esys_binding.new_TPMT_PUBLIC_PARMS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_PUBLIC_PARMS
    __del__ = lambda self: None
TPMT_PUBLIC_PARMS_swigregister = _esys_binding.TPMT_PUBLIC_PARMS_swigregister
TPMT_PUBLIC_PARMS_swigregister(TPMT_PUBLIC_PARMS)

class TPMT_PUBLIC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_PUBLIC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_PUBLIC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["type"] = _esys_binding.TPMT_PUBLIC_type_set
    __swig_getmethods__["type"] = _esys_binding.TPMT_PUBLIC_type_get
    if _newclass:
        type = _swig_property(_esys_binding.TPMT_PUBLIC_type_get, _esys_binding.TPMT_PUBLIC_type_set)
    __swig_setmethods__["nameAlg"] = _esys_binding.TPMT_PUBLIC_nameAlg_set
    __swig_getmethods__["nameAlg"] = _esys_binding.TPMT_PUBLIC_nameAlg_get
    if _newclass:
        nameAlg = _swig_property(_esys_binding.TPMT_PUBLIC_nameAlg_get, _esys_binding.TPMT_PUBLIC_nameAlg_set)
    __swig_setmethods__["objectAttributes"] = _esys_binding.TPMT_PUBLIC_objectAttributes_set
    __swig_getmethods__["objectAttributes"] = _esys_binding.TPMT_PUBLIC_objectAttributes_get
    if _newclass:
        objectAttributes = _swig_property(_esys_binding.TPMT_PUBLIC_objectAttributes_get, _esys_binding.TPMT_PUBLIC_objectAttributes_set)
    __swig_setmethods__["authPolicy"] = _esys_binding.TPMT_PUBLIC_authPolicy_set
    __swig_getmethods__["authPolicy"] = _esys_binding.TPMT_PUBLIC_authPolicy_get
    if _newclass:
        authPolicy = _swig_property(_esys_binding.TPMT_PUBLIC_authPolicy_get, _esys_binding.TPMT_PUBLIC_authPolicy_set)
    __swig_setmethods__["parameters"] = _esys_binding.TPMT_PUBLIC_parameters_set
    __swig_getmethods__["parameters"] = _esys_binding.TPMT_PUBLIC_parameters_get
    if _newclass:
        parameters = _swig_property(_esys_binding.TPMT_PUBLIC_parameters_get, _esys_binding.TPMT_PUBLIC_parameters_set)
    __swig_setmethods__["unique"] = _esys_binding.TPMT_PUBLIC_unique_set
    __swig_getmethods__["unique"] = _esys_binding.TPMT_PUBLIC_unique_get
    if _newclass:
        unique = _swig_property(_esys_binding.TPMT_PUBLIC_unique_get, _esys_binding.TPMT_PUBLIC_unique_set)

    def __init__(self):
        """__init__(TPMT_PUBLIC self) -> TPMT_PUBLIC"""
        this = _esys_binding.new_TPMT_PUBLIC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_PUBLIC
    __del__ = lambda self: None
TPMT_PUBLIC_swigregister = _esys_binding.TPMT_PUBLIC_swigregister
TPMT_PUBLIC_swigregister(TPMT_PUBLIC)

class TPM2B_PUBLIC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_PUBLIC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_PUBLIC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_PUBLIC_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_PUBLIC_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_PUBLIC_size_get, _esys_binding.TPM2B_PUBLIC_size_set)
    __swig_setmethods__["publicArea"] = _esys_binding.TPM2B_PUBLIC_publicArea_set
    __swig_getmethods__["publicArea"] = _esys_binding.TPM2B_PUBLIC_publicArea_get
    if _newclass:
        publicArea = _swig_property(_esys_binding.TPM2B_PUBLIC_publicArea_get, _esys_binding.TPM2B_PUBLIC_publicArea_set)

    def __init__(self):
        """__init__(TPM2B_PUBLIC self) -> TPM2B_PUBLIC"""
        this = _esys_binding.new_TPM2B_PUBLIC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_PUBLIC
    __del__ = lambda self: None
TPM2B_PUBLIC_swigregister = _esys_binding.TPM2B_PUBLIC_swigregister
TPM2B_PUBLIC_swigregister(TPM2B_PUBLIC)

class TPM2B_TEMPLATE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_TEMPLATE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_TEMPLATE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_TEMPLATE_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_TEMPLATE_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_TEMPLATE_size_get, _esys_binding.TPM2B_TEMPLATE_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_TEMPLATE_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_TEMPLATE_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_TEMPLATE_buffer_get, _esys_binding.TPM2B_TEMPLATE_buffer_set)

    def __init__(self):
        """__init__(TPM2B_TEMPLATE self) -> TPM2B_TEMPLATE"""
        this = _esys_binding.new_TPM2B_TEMPLATE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_TEMPLATE
    __del__ = lambda self: None
TPM2B_TEMPLATE_swigregister = _esys_binding.TPM2B_TEMPLATE_swigregister
TPM2B_TEMPLATE_swigregister(TPM2B_TEMPLATE)

class TPM2B_PRIVATE_VENDOR_SPECIFIC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_PRIVATE_VENDOR_SPECIFIC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_PRIVATE_VENDOR_SPECIFIC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_size_get, _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_buffer_get, _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_buffer_set)

    def __init__(self):
        """__init__(TPM2B_PRIVATE_VENDOR_SPECIFIC self) -> TPM2B_PRIVATE_VENDOR_SPECIFIC"""
        this = _esys_binding.new_TPM2B_PRIVATE_VENDOR_SPECIFIC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_PRIVATE_VENDOR_SPECIFIC
    __del__ = lambda self: None
TPM2B_PRIVATE_VENDOR_SPECIFIC_swigregister = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_swigregister
TPM2B_PRIVATE_VENDOR_SPECIFIC_swigregister(TPM2B_PRIVATE_VENDOR_SPECIFIC)

class TPMU_SENSITIVE_COMPOSITE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMU_SENSITIVE_COMPOSITE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMU_SENSITIVE_COMPOSITE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["rsa"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_rsa_set
    __swig_getmethods__["rsa"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_rsa_get
    if _newclass:
        rsa = _swig_property(_esys_binding.TPMU_SENSITIVE_COMPOSITE_rsa_get, _esys_binding.TPMU_SENSITIVE_COMPOSITE_rsa_set)
    __swig_setmethods__["ecc"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_ecc_set
    __swig_getmethods__["ecc"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_ecc_get
    if _newclass:
        ecc = _swig_property(_esys_binding.TPMU_SENSITIVE_COMPOSITE_ecc_get, _esys_binding.TPMU_SENSITIVE_COMPOSITE_ecc_set)
    __swig_setmethods__["bits"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_bits_set
    __swig_getmethods__["bits"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_bits_get
    if _newclass:
        bits = _swig_property(_esys_binding.TPMU_SENSITIVE_COMPOSITE_bits_get, _esys_binding.TPMU_SENSITIVE_COMPOSITE_bits_set)
    __swig_setmethods__["sym"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_sym_set
    __swig_getmethods__["sym"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_sym_get
    if _newclass:
        sym = _swig_property(_esys_binding.TPMU_SENSITIVE_COMPOSITE_sym_get, _esys_binding.TPMU_SENSITIVE_COMPOSITE_sym_set)
    __swig_setmethods__["any"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_any_set
    __swig_getmethods__["any"] = _esys_binding.TPMU_SENSITIVE_COMPOSITE_any_get
    if _newclass:
        any = _swig_property(_esys_binding.TPMU_SENSITIVE_COMPOSITE_any_get, _esys_binding.TPMU_SENSITIVE_COMPOSITE_any_set)

    def __init__(self):
        """__init__(TPMU_SENSITIVE_COMPOSITE self) -> TPMU_SENSITIVE_COMPOSITE"""
        this = _esys_binding.new_TPMU_SENSITIVE_COMPOSITE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMU_SENSITIVE_COMPOSITE
    __del__ = lambda self: None
TPMU_SENSITIVE_COMPOSITE_swigregister = _esys_binding.TPMU_SENSITIVE_COMPOSITE_swigregister
TPMU_SENSITIVE_COMPOSITE_swigregister(TPMU_SENSITIVE_COMPOSITE)

class TPMT_SENSITIVE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMT_SENSITIVE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMT_SENSITIVE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["sensitiveType"] = _esys_binding.TPMT_SENSITIVE_sensitiveType_set
    __swig_getmethods__["sensitiveType"] = _esys_binding.TPMT_SENSITIVE_sensitiveType_get
    if _newclass:
        sensitiveType = _swig_property(_esys_binding.TPMT_SENSITIVE_sensitiveType_get, _esys_binding.TPMT_SENSITIVE_sensitiveType_set)
    __swig_setmethods__["authValue"] = _esys_binding.TPMT_SENSITIVE_authValue_set
    __swig_getmethods__["authValue"] = _esys_binding.TPMT_SENSITIVE_authValue_get
    if _newclass:
        authValue = _swig_property(_esys_binding.TPMT_SENSITIVE_authValue_get, _esys_binding.TPMT_SENSITIVE_authValue_set)
    __swig_setmethods__["seedValue"] = _esys_binding.TPMT_SENSITIVE_seedValue_set
    __swig_getmethods__["seedValue"] = _esys_binding.TPMT_SENSITIVE_seedValue_get
    if _newclass:
        seedValue = _swig_property(_esys_binding.TPMT_SENSITIVE_seedValue_get, _esys_binding.TPMT_SENSITIVE_seedValue_set)
    __swig_setmethods__["sensitive"] = _esys_binding.TPMT_SENSITIVE_sensitive_set
    __swig_getmethods__["sensitive"] = _esys_binding.TPMT_SENSITIVE_sensitive_get
    if _newclass:
        sensitive = _swig_property(_esys_binding.TPMT_SENSITIVE_sensitive_get, _esys_binding.TPMT_SENSITIVE_sensitive_set)

    def __init__(self):
        """__init__(TPMT_SENSITIVE self) -> TPMT_SENSITIVE"""
        this = _esys_binding.new_TPMT_SENSITIVE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMT_SENSITIVE
    __del__ = lambda self: None
TPMT_SENSITIVE_swigregister = _esys_binding.TPMT_SENSITIVE_swigregister
TPMT_SENSITIVE_swigregister(TPMT_SENSITIVE)

class TPM2B_SENSITIVE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_SENSITIVE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_SENSITIVE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_SENSITIVE_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_SENSITIVE_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_SENSITIVE_size_get, _esys_binding.TPM2B_SENSITIVE_size_set)
    __swig_setmethods__["sensitiveArea"] = _esys_binding.TPM2B_SENSITIVE_sensitiveArea_set
    __swig_getmethods__["sensitiveArea"] = _esys_binding.TPM2B_SENSITIVE_sensitiveArea_get
    if _newclass:
        sensitiveArea = _swig_property(_esys_binding.TPM2B_SENSITIVE_sensitiveArea_get, _esys_binding.TPM2B_SENSITIVE_sensitiveArea_set)

    def __init__(self):
        """__init__(TPM2B_SENSITIVE self) -> TPM2B_SENSITIVE"""
        this = _esys_binding.new_TPM2B_SENSITIVE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_SENSITIVE
    __del__ = lambda self: None
TPM2B_SENSITIVE_swigregister = _esys_binding.TPM2B_SENSITIVE_swigregister
TPM2B_SENSITIVE_swigregister(TPM2B_SENSITIVE)

class _PRIVATE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, _PRIVATE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, _PRIVATE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["integrityOuter"] = _esys_binding._PRIVATE_integrityOuter_set
    __swig_getmethods__["integrityOuter"] = _esys_binding._PRIVATE_integrityOuter_get
    if _newclass:
        integrityOuter = _swig_property(_esys_binding._PRIVATE_integrityOuter_get, _esys_binding._PRIVATE_integrityOuter_set)
    __swig_setmethods__["integrityInner"] = _esys_binding._PRIVATE_integrityInner_set
    __swig_getmethods__["integrityInner"] = _esys_binding._PRIVATE_integrityInner_get
    if _newclass:
        integrityInner = _swig_property(_esys_binding._PRIVATE_integrityInner_get, _esys_binding._PRIVATE_integrityInner_set)
    __swig_setmethods__["sensitive"] = _esys_binding._PRIVATE_sensitive_set
    __swig_getmethods__["sensitive"] = _esys_binding._PRIVATE_sensitive_get
    if _newclass:
        sensitive = _swig_property(_esys_binding._PRIVATE_sensitive_get, _esys_binding._PRIVATE_sensitive_set)

    def __init__(self):
        """__init__(_PRIVATE self) -> _PRIVATE"""
        this = _esys_binding.new__PRIVATE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete__PRIVATE
    __del__ = lambda self: None
_PRIVATE_swigregister = _esys_binding._PRIVATE_swigregister
_PRIVATE_swigregister(_PRIVATE)

class TPM2B_PRIVATE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_PRIVATE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_PRIVATE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_PRIVATE_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_PRIVATE_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_PRIVATE_size_get, _esys_binding.TPM2B_PRIVATE_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_PRIVATE_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_PRIVATE_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_PRIVATE_buffer_get, _esys_binding.TPM2B_PRIVATE_buffer_set)

    def __init__(self):
        """__init__(TPM2B_PRIVATE self) -> TPM2B_PRIVATE"""
        this = _esys_binding.new_TPM2B_PRIVATE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_PRIVATE
    __del__ = lambda self: None
TPM2B_PRIVATE_swigregister = _esys_binding.TPM2B_PRIVATE_swigregister
TPM2B_PRIVATE_swigregister(TPM2B_PRIVATE)

class TPMS_ID_OBJECT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_ID_OBJECT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_ID_OBJECT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["integrityHMAC"] = _esys_binding.TPMS_ID_OBJECT_integrityHMAC_set
    __swig_getmethods__["integrityHMAC"] = _esys_binding.TPMS_ID_OBJECT_integrityHMAC_get
    if _newclass:
        integrityHMAC = _swig_property(_esys_binding.TPMS_ID_OBJECT_integrityHMAC_get, _esys_binding.TPMS_ID_OBJECT_integrityHMAC_set)
    __swig_setmethods__["encIdentity"] = _esys_binding.TPMS_ID_OBJECT_encIdentity_set
    __swig_getmethods__["encIdentity"] = _esys_binding.TPMS_ID_OBJECT_encIdentity_get
    if _newclass:
        encIdentity = _swig_property(_esys_binding.TPMS_ID_OBJECT_encIdentity_get, _esys_binding.TPMS_ID_OBJECT_encIdentity_set)

    def __init__(self):
        """__init__(TPMS_ID_OBJECT self) -> TPMS_ID_OBJECT"""
        this = _esys_binding.new_TPMS_ID_OBJECT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_ID_OBJECT
    __del__ = lambda self: None
TPMS_ID_OBJECT_swigregister = _esys_binding.TPMS_ID_OBJECT_swigregister
TPMS_ID_OBJECT_swigregister(TPMS_ID_OBJECT)

class TPM2B_ID_OBJECT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_ID_OBJECT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_ID_OBJECT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_ID_OBJECT_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_ID_OBJECT_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_ID_OBJECT_size_get, _esys_binding.TPM2B_ID_OBJECT_size_set)
    __swig_setmethods__["credential"] = _esys_binding.TPM2B_ID_OBJECT_credential_set
    __swig_getmethods__["credential"] = _esys_binding.TPM2B_ID_OBJECT_credential_get
    if _newclass:
        credential = _swig_property(_esys_binding.TPM2B_ID_OBJECT_credential_get, _esys_binding.TPM2B_ID_OBJECT_credential_set)

    def __init__(self):
        """__init__(TPM2B_ID_OBJECT self) -> TPM2B_ID_OBJECT"""
        this = _esys_binding.new_TPM2B_ID_OBJECT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_ID_OBJECT
    __del__ = lambda self: None
TPM2B_ID_OBJECT_swigregister = _esys_binding.TPM2B_ID_OBJECT_swigregister
TPM2B_ID_OBJECT_swigregister(TPM2B_ID_OBJECT)

TPM2_NV_INDEX_INDEX_SHIFT = _esys_binding.TPM2_NV_INDEX_INDEX_SHIFT
TPM2_NV_INDEX_RH_NV_SHIFT = _esys_binding.TPM2_NV_INDEX_RH_NV_SHIFT
class TPMS_NV_PIN_COUNTER_PARAMETERS(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_NV_PIN_COUNTER_PARAMETERS, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_NV_PIN_COUNTER_PARAMETERS, name)
    __repr__ = _swig_repr
    __swig_setmethods__["pinCount"] = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinCount_set
    __swig_getmethods__["pinCount"] = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinCount_get
    if _newclass:
        pinCount = _swig_property(_esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinCount_get, _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinCount_set)
    __swig_setmethods__["pinLimit"] = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinLimit_set
    __swig_getmethods__["pinLimit"] = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinLimit_get
    if _newclass:
        pinLimit = _swig_property(_esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinLimit_get, _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_pinLimit_set)

    def __init__(self):
        """__init__(TPMS_NV_PIN_COUNTER_PARAMETERS self) -> TPMS_NV_PIN_COUNTER_PARAMETERS"""
        this = _esys_binding.new_TPMS_NV_PIN_COUNTER_PARAMETERS()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_NV_PIN_COUNTER_PARAMETERS
    __del__ = lambda self: None
TPMS_NV_PIN_COUNTER_PARAMETERS_swigregister = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_swigregister
TPMS_NV_PIN_COUNTER_PARAMETERS_swigregister(TPMS_NV_PIN_COUNTER_PARAMETERS)

TPMA_NV_TPM2_NT_SHIFT = _esys_binding.TPMA_NV_TPM2_NT_SHIFT
class TPMS_NV_PUBLIC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_NV_PUBLIC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_NV_PUBLIC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["nvIndex"] = _esys_binding.TPMS_NV_PUBLIC_nvIndex_set
    __swig_getmethods__["nvIndex"] = _esys_binding.TPMS_NV_PUBLIC_nvIndex_get
    if _newclass:
        nvIndex = _swig_property(_esys_binding.TPMS_NV_PUBLIC_nvIndex_get, _esys_binding.TPMS_NV_PUBLIC_nvIndex_set)
    __swig_setmethods__["nameAlg"] = _esys_binding.TPMS_NV_PUBLIC_nameAlg_set
    __swig_getmethods__["nameAlg"] = _esys_binding.TPMS_NV_PUBLIC_nameAlg_get
    if _newclass:
        nameAlg = _swig_property(_esys_binding.TPMS_NV_PUBLIC_nameAlg_get, _esys_binding.TPMS_NV_PUBLIC_nameAlg_set)
    __swig_setmethods__["attributes"] = _esys_binding.TPMS_NV_PUBLIC_attributes_set
    __swig_getmethods__["attributes"] = _esys_binding.TPMS_NV_PUBLIC_attributes_get
    if _newclass:
        attributes = _swig_property(_esys_binding.TPMS_NV_PUBLIC_attributes_get, _esys_binding.TPMS_NV_PUBLIC_attributes_set)
    __swig_setmethods__["authPolicy"] = _esys_binding.TPMS_NV_PUBLIC_authPolicy_set
    __swig_getmethods__["authPolicy"] = _esys_binding.TPMS_NV_PUBLIC_authPolicy_get
    if _newclass:
        authPolicy = _swig_property(_esys_binding.TPMS_NV_PUBLIC_authPolicy_get, _esys_binding.TPMS_NV_PUBLIC_authPolicy_set)
    __swig_setmethods__["dataSize"] = _esys_binding.TPMS_NV_PUBLIC_dataSize_set
    __swig_getmethods__["dataSize"] = _esys_binding.TPMS_NV_PUBLIC_dataSize_get
    if _newclass:
        dataSize = _swig_property(_esys_binding.TPMS_NV_PUBLIC_dataSize_get, _esys_binding.TPMS_NV_PUBLIC_dataSize_set)

    def __init__(self):
        """__init__(TPMS_NV_PUBLIC self) -> TPMS_NV_PUBLIC"""
        this = _esys_binding.new_TPMS_NV_PUBLIC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_NV_PUBLIC
    __del__ = lambda self: None
TPMS_NV_PUBLIC_swigregister = _esys_binding.TPMS_NV_PUBLIC_swigregister
TPMS_NV_PUBLIC_swigregister(TPMS_NV_PUBLIC)

class TPM2B_NV_PUBLIC(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_NV_PUBLIC, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_NV_PUBLIC, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_NV_PUBLIC_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_NV_PUBLIC_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_NV_PUBLIC_size_get, _esys_binding.TPM2B_NV_PUBLIC_size_set)
    __swig_setmethods__["nvPublic"] = _esys_binding.TPM2B_NV_PUBLIC_nvPublic_set
    __swig_getmethods__["nvPublic"] = _esys_binding.TPM2B_NV_PUBLIC_nvPublic_get
    if _newclass:
        nvPublic = _swig_property(_esys_binding.TPM2B_NV_PUBLIC_nvPublic_get, _esys_binding.TPM2B_NV_PUBLIC_nvPublic_set)

    def __init__(self):
        """__init__(TPM2B_NV_PUBLIC self) -> TPM2B_NV_PUBLIC"""
        this = _esys_binding.new_TPM2B_NV_PUBLIC()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_NV_PUBLIC
    __del__ = lambda self: None
TPM2B_NV_PUBLIC_swigregister = _esys_binding.TPM2B_NV_PUBLIC_swigregister
TPM2B_NV_PUBLIC_swigregister(TPM2B_NV_PUBLIC)

class TPM2B_CONTEXT_SENSITIVE(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_CONTEXT_SENSITIVE, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_CONTEXT_SENSITIVE, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_CONTEXT_SENSITIVE_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_CONTEXT_SENSITIVE_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_CONTEXT_SENSITIVE_size_get, _esys_binding.TPM2B_CONTEXT_SENSITIVE_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_CONTEXT_SENSITIVE_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_CONTEXT_SENSITIVE_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_CONTEXT_SENSITIVE_buffer_get, _esys_binding.TPM2B_CONTEXT_SENSITIVE_buffer_set)

    def __init__(self):
        """__init__(TPM2B_CONTEXT_SENSITIVE self) -> TPM2B_CONTEXT_SENSITIVE"""
        this = _esys_binding.new_TPM2B_CONTEXT_SENSITIVE()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_CONTEXT_SENSITIVE
    __del__ = lambda self: None
TPM2B_CONTEXT_SENSITIVE_swigregister = _esys_binding.TPM2B_CONTEXT_SENSITIVE_swigregister
TPM2B_CONTEXT_SENSITIVE_swigregister(TPM2B_CONTEXT_SENSITIVE)

class TPMS_CONTEXT_DATA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_CONTEXT_DATA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_CONTEXT_DATA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["integrity"] = _esys_binding.TPMS_CONTEXT_DATA_integrity_set
    __swig_getmethods__["integrity"] = _esys_binding.TPMS_CONTEXT_DATA_integrity_get
    if _newclass:
        integrity = _swig_property(_esys_binding.TPMS_CONTEXT_DATA_integrity_get, _esys_binding.TPMS_CONTEXT_DATA_integrity_set)
    __swig_setmethods__["encrypted"] = _esys_binding.TPMS_CONTEXT_DATA_encrypted_set
    __swig_getmethods__["encrypted"] = _esys_binding.TPMS_CONTEXT_DATA_encrypted_get
    if _newclass:
        encrypted = _swig_property(_esys_binding.TPMS_CONTEXT_DATA_encrypted_get, _esys_binding.TPMS_CONTEXT_DATA_encrypted_set)

    def __init__(self):
        """__init__(TPMS_CONTEXT_DATA self) -> TPMS_CONTEXT_DATA"""
        this = _esys_binding.new_TPMS_CONTEXT_DATA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_CONTEXT_DATA
    __del__ = lambda self: None
TPMS_CONTEXT_DATA_swigregister = _esys_binding.TPMS_CONTEXT_DATA_swigregister
TPMS_CONTEXT_DATA_swigregister(TPMS_CONTEXT_DATA)

class TPM2B_CONTEXT_DATA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_CONTEXT_DATA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_CONTEXT_DATA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_CONTEXT_DATA_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_CONTEXT_DATA_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_CONTEXT_DATA_size_get, _esys_binding.TPM2B_CONTEXT_DATA_size_set)
    __swig_setmethods__["buffer"] = _esys_binding.TPM2B_CONTEXT_DATA_buffer_set
    __swig_getmethods__["buffer"] = _esys_binding.TPM2B_CONTEXT_DATA_buffer_get
    if _newclass:
        buffer = _swig_property(_esys_binding.TPM2B_CONTEXT_DATA_buffer_get, _esys_binding.TPM2B_CONTEXT_DATA_buffer_set)

    def __init__(self):
        """__init__(TPM2B_CONTEXT_DATA self) -> TPM2B_CONTEXT_DATA"""
        this = _esys_binding.new_TPM2B_CONTEXT_DATA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_CONTEXT_DATA
    __del__ = lambda self: None
TPM2B_CONTEXT_DATA_swigregister = _esys_binding.TPM2B_CONTEXT_DATA_swigregister
TPM2B_CONTEXT_DATA_swigregister(TPM2B_CONTEXT_DATA)

class TPMS_CONTEXT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_CONTEXT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_CONTEXT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["sequence"] = _esys_binding.TPMS_CONTEXT_sequence_set
    __swig_getmethods__["sequence"] = _esys_binding.TPMS_CONTEXT_sequence_get
    if _newclass:
        sequence = _swig_property(_esys_binding.TPMS_CONTEXT_sequence_get, _esys_binding.TPMS_CONTEXT_sequence_set)
    __swig_setmethods__["savedHandle"] = _esys_binding.TPMS_CONTEXT_savedHandle_set
    __swig_getmethods__["savedHandle"] = _esys_binding.TPMS_CONTEXT_savedHandle_get
    if _newclass:
        savedHandle = _swig_property(_esys_binding.TPMS_CONTEXT_savedHandle_get, _esys_binding.TPMS_CONTEXT_savedHandle_set)
    __swig_setmethods__["hierarchy"] = _esys_binding.TPMS_CONTEXT_hierarchy_set
    __swig_getmethods__["hierarchy"] = _esys_binding.TPMS_CONTEXT_hierarchy_get
    if _newclass:
        hierarchy = _swig_property(_esys_binding.TPMS_CONTEXT_hierarchy_get, _esys_binding.TPMS_CONTEXT_hierarchy_set)
    __swig_setmethods__["contextBlob"] = _esys_binding.TPMS_CONTEXT_contextBlob_set
    __swig_getmethods__["contextBlob"] = _esys_binding.TPMS_CONTEXT_contextBlob_get
    if _newclass:
        contextBlob = _swig_property(_esys_binding.TPMS_CONTEXT_contextBlob_get, _esys_binding.TPMS_CONTEXT_contextBlob_set)

    def __init__(self):
        """__init__(TPMS_CONTEXT self) -> TPMS_CONTEXT"""
        this = _esys_binding.new_TPMS_CONTEXT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_CONTEXT
    __del__ = lambda self: None
TPMS_CONTEXT_swigregister = _esys_binding.TPMS_CONTEXT_swigregister
TPMS_CONTEXT_swigregister(TPMS_CONTEXT)

class TPMS_CREATION_DATA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_CREATION_DATA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_CREATION_DATA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["pcrSelect"] = _esys_binding.TPMS_CREATION_DATA_pcrSelect_set
    __swig_getmethods__["pcrSelect"] = _esys_binding.TPMS_CREATION_DATA_pcrSelect_get
    if _newclass:
        pcrSelect = _swig_property(_esys_binding.TPMS_CREATION_DATA_pcrSelect_get, _esys_binding.TPMS_CREATION_DATA_pcrSelect_set)
    __swig_setmethods__["pcrDigest"] = _esys_binding.TPMS_CREATION_DATA_pcrDigest_set
    __swig_getmethods__["pcrDigest"] = _esys_binding.TPMS_CREATION_DATA_pcrDigest_get
    if _newclass:
        pcrDigest = _swig_property(_esys_binding.TPMS_CREATION_DATA_pcrDigest_get, _esys_binding.TPMS_CREATION_DATA_pcrDigest_set)
    __swig_setmethods__["locality"] = _esys_binding.TPMS_CREATION_DATA_locality_set
    __swig_getmethods__["locality"] = _esys_binding.TPMS_CREATION_DATA_locality_get
    if _newclass:
        locality = _swig_property(_esys_binding.TPMS_CREATION_DATA_locality_get, _esys_binding.TPMS_CREATION_DATA_locality_set)
    __swig_setmethods__["parentNameAlg"] = _esys_binding.TPMS_CREATION_DATA_parentNameAlg_set
    __swig_getmethods__["parentNameAlg"] = _esys_binding.TPMS_CREATION_DATA_parentNameAlg_get
    if _newclass:
        parentNameAlg = _swig_property(_esys_binding.TPMS_CREATION_DATA_parentNameAlg_get, _esys_binding.TPMS_CREATION_DATA_parentNameAlg_set)
    __swig_setmethods__["parentName"] = _esys_binding.TPMS_CREATION_DATA_parentName_set
    __swig_getmethods__["parentName"] = _esys_binding.TPMS_CREATION_DATA_parentName_get
    if _newclass:
        parentName = _swig_property(_esys_binding.TPMS_CREATION_DATA_parentName_get, _esys_binding.TPMS_CREATION_DATA_parentName_set)
    __swig_setmethods__["parentQualifiedName"] = _esys_binding.TPMS_CREATION_DATA_parentQualifiedName_set
    __swig_getmethods__["parentQualifiedName"] = _esys_binding.TPMS_CREATION_DATA_parentQualifiedName_get
    if _newclass:
        parentQualifiedName = _swig_property(_esys_binding.TPMS_CREATION_DATA_parentQualifiedName_get, _esys_binding.TPMS_CREATION_DATA_parentQualifiedName_set)
    __swig_setmethods__["outsideInfo"] = _esys_binding.TPMS_CREATION_DATA_outsideInfo_set
    __swig_getmethods__["outsideInfo"] = _esys_binding.TPMS_CREATION_DATA_outsideInfo_get
    if _newclass:
        outsideInfo = _swig_property(_esys_binding.TPMS_CREATION_DATA_outsideInfo_get, _esys_binding.TPMS_CREATION_DATA_outsideInfo_set)

    def __init__(self):
        """__init__(TPMS_CREATION_DATA self) -> TPMS_CREATION_DATA"""
        this = _esys_binding.new_TPMS_CREATION_DATA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_CREATION_DATA
    __del__ = lambda self: None
TPMS_CREATION_DATA_swigregister = _esys_binding.TPMS_CREATION_DATA_swigregister
TPMS_CREATION_DATA_swigregister(TPMS_CREATION_DATA)

class TPM2B_CREATION_DATA(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPM2B_CREATION_DATA, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPM2B_CREATION_DATA, name)
    __repr__ = _swig_repr
    __swig_setmethods__["size"] = _esys_binding.TPM2B_CREATION_DATA_size_set
    __swig_getmethods__["size"] = _esys_binding.TPM2B_CREATION_DATA_size_get
    if _newclass:
        size = _swig_property(_esys_binding.TPM2B_CREATION_DATA_size_get, _esys_binding.TPM2B_CREATION_DATA_size_set)
    __swig_setmethods__["creationData"] = _esys_binding.TPM2B_CREATION_DATA_creationData_set
    __swig_getmethods__["creationData"] = _esys_binding.TPM2B_CREATION_DATA_creationData_get
    if _newclass:
        creationData = _swig_property(_esys_binding.TPM2B_CREATION_DATA_creationData_get, _esys_binding.TPM2B_CREATION_DATA_creationData_set)

    def __init__(self):
        """__init__(TPM2B_CREATION_DATA self) -> TPM2B_CREATION_DATA"""
        this = _esys_binding.new_TPM2B_CREATION_DATA()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPM2B_CREATION_DATA
    __del__ = lambda self: None
TPM2B_CREATION_DATA_swigregister = _esys_binding.TPM2B_CREATION_DATA_swigregister
TPM2B_CREATION_DATA_swigregister(TPM2B_CREATION_DATA)

class TPMS_AC_OUTPUT(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPMS_AC_OUTPUT, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPMS_AC_OUTPUT, name)
    __repr__ = _swig_repr
    __swig_setmethods__["tag"] = _esys_binding.TPMS_AC_OUTPUT_tag_set
    __swig_getmethods__["tag"] = _esys_binding.TPMS_AC_OUTPUT_tag_get
    if _newclass:
        tag = _swig_property(_esys_binding.TPMS_AC_OUTPUT_tag_get, _esys_binding.TPMS_AC_OUTPUT_tag_set)
    __swig_setmethods__["data"] = _esys_binding.TPMS_AC_OUTPUT_data_set
    __swig_getmethods__["data"] = _esys_binding.TPMS_AC_OUTPUT_data_get
    if _newclass:
        data = _swig_property(_esys_binding.TPMS_AC_OUTPUT_data_get, _esys_binding.TPMS_AC_OUTPUT_data_set)

    def __init__(self):
        """__init__(TPMS_AC_OUTPUT self) -> TPMS_AC_OUTPUT"""
        this = _esys_binding.new_TPMS_AC_OUTPUT()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPMS_AC_OUTPUT
    __del__ = lambda self: None
TPMS_AC_OUTPUT_swigregister = _esys_binding.TPMS_AC_OUTPUT_swigregister
TPMS_AC_OUTPUT_swigregister(TPMS_AC_OUTPUT)

class TPML_AC_CAPABILITIES(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TPML_AC_CAPABILITIES, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TPML_AC_CAPABILITIES, name)
    __repr__ = _swig_repr
    __swig_setmethods__["count"] = _esys_binding.TPML_AC_CAPABILITIES_count_set
    __swig_getmethods__["count"] = _esys_binding.TPML_AC_CAPABILITIES_count_get
    if _newclass:
        count = _swig_property(_esys_binding.TPML_AC_CAPABILITIES_count_get, _esys_binding.TPML_AC_CAPABILITIES_count_set)
    __swig_setmethods__["acCapabilities"] = _esys_binding.TPML_AC_CAPABILITIES_acCapabilities_set
    __swig_getmethods__["acCapabilities"] = _esys_binding.TPML_AC_CAPABILITIES_acCapabilities_get
    if _newclass:
        acCapabilities = _swig_property(_esys_binding.TPML_AC_CAPABILITIES_acCapabilities_get, _esys_binding.TPML_AC_CAPABILITIES_acCapabilities_set)

    def __init__(self):
        """__init__(TPML_AC_CAPABILITIES self) -> TPML_AC_CAPABILITIES"""
        this = _esys_binding.new_TPML_AC_CAPABILITIES()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_TPML_AC_CAPABILITIES
    __del__ = lambda self: None
TPML_AC_CAPABILITIES_swigregister = _esys_binding.TPML_AC_CAPABILITIES_swigregister
TPML_AC_CAPABILITIES_swigregister(TPML_AC_CAPABILITIES)


def Tss2_RC_Decode(rc: 'TSS2_RC') -> "char const *":
    return _esys_binding.Tss2_RC_Decode(rc)
Tss2_RC_Decode = _esys_binding.Tss2_RC_Decode

def new_TPMI_YES_NO_PTR() -> "TPMI_YES_NO *":
    return _esys_binding.new_TPMI_YES_NO_PTR()
new_TPMI_YES_NO_PTR = _esys_binding.new_TPMI_YES_NO_PTR

def copy_TPMI_YES_NO_PTR(value: 'TPMI_YES_NO') -> "TPMI_YES_NO *":
    return _esys_binding.copy_TPMI_YES_NO_PTR(value)
copy_TPMI_YES_NO_PTR = _esys_binding.copy_TPMI_YES_NO_PTR

def delete_TPMI_YES_NO_PTR(obj: 'TPMI_YES_NO *') -> "void":
    return _esys_binding.delete_TPMI_YES_NO_PTR(obj)
delete_TPMI_YES_NO_PTR = _esys_binding.delete_TPMI_YES_NO_PTR

def TPMI_YES_NO_PTR_assign(obj: 'TPMI_YES_NO *', value: 'TPMI_YES_NO') -> "void":
    return _esys_binding.TPMI_YES_NO_PTR_assign(obj, value)
TPMI_YES_NO_PTR_assign = _esys_binding.TPMI_YES_NO_PTR_assign

def TPMI_YES_NO_PTR_value(obj: 'TPMI_YES_NO *') -> "TPMI_YES_NO":
    return _esys_binding.TPMI_YES_NO_PTR_value(obj)
TPMI_YES_NO_PTR_value = _esys_binding.TPMI_YES_NO_PTR_value
sizeof_TPMS_EMPTY = _esys_binding.sizeof_TPMS_EMPTY

def new_TPMS_EMPTY_PTR() -> "TPMS_EMPTY *":
    return _esys_binding.new_TPMS_EMPTY_PTR()
new_TPMS_EMPTY_PTR = _esys_binding.new_TPMS_EMPTY_PTR

def copy_TPMS_EMPTY_PTR(value: 'TPMS_EMPTY') -> "TPMS_EMPTY *":
    return _esys_binding.copy_TPMS_EMPTY_PTR(value)
copy_TPMS_EMPTY_PTR = _esys_binding.copy_TPMS_EMPTY_PTR

def delete_TPMS_EMPTY_PTR(obj: 'TPMS_EMPTY') -> "void":
    return _esys_binding.delete_TPMS_EMPTY_PTR(obj)
delete_TPMS_EMPTY_PTR = _esys_binding.delete_TPMS_EMPTY_PTR

def TPMS_EMPTY_PTR_assign(obj: 'TPMS_EMPTY', value: 'TPMS_EMPTY') -> "void":
    return _esys_binding.TPMS_EMPTY_PTR_assign(obj, value)
TPMS_EMPTY_PTR_assign = _esys_binding.TPMS_EMPTY_PTR_assign

def TPMS_EMPTY_PTR_value(obj: 'TPMS_EMPTY') -> "TPMS_EMPTY":
    return _esys_binding.TPMS_EMPTY_PTR_value(obj)
TPMS_EMPTY_PTR_value = _esys_binding.TPMS_EMPTY_PTR_value

def new_TPMS_EMPTY_PTR_PTR() -> "TPMS_EMPTY **":
    return _esys_binding.new_TPMS_EMPTY_PTR_PTR()
new_TPMS_EMPTY_PTR_PTR = _esys_binding.new_TPMS_EMPTY_PTR_PTR

def copy_TPMS_EMPTY_PTR_PTR(value: 'TPMS_EMPTY') -> "TPMS_EMPTY **":
    return _esys_binding.copy_TPMS_EMPTY_PTR_PTR(value)
copy_TPMS_EMPTY_PTR_PTR = _esys_binding.copy_TPMS_EMPTY_PTR_PTR

def delete_TPMS_EMPTY_PTR_PTR(obj: 'TPMS_EMPTY **') -> "void":
    return _esys_binding.delete_TPMS_EMPTY_PTR_PTR(obj)
delete_TPMS_EMPTY_PTR_PTR = _esys_binding.delete_TPMS_EMPTY_PTR_PTR

def TPMS_EMPTY_PTR_PTR_assign(obj: 'TPMS_EMPTY **', value: 'TPMS_EMPTY') -> "void":
    return _esys_binding.TPMS_EMPTY_PTR_PTR_assign(obj, value)
TPMS_EMPTY_PTR_PTR_assign = _esys_binding.TPMS_EMPTY_PTR_PTR_assign

def TPMS_EMPTY_PTR_PTR_value(obj: 'TPMS_EMPTY **') -> "TPMS_EMPTY *":
    return _esys_binding.TPMS_EMPTY_PTR_PTR_value(obj)
TPMS_EMPTY_PTR_PTR_value = _esys_binding.TPMS_EMPTY_PTR_PTR_value
sizeof_TPMS_ALGORITHM_DESCRIPTION = _esys_binding.sizeof_TPMS_ALGORITHM_DESCRIPTION

def new_TPMS_ALGORITHM_DESCRIPTION_PTR() -> "TPMS_ALGORITHM_DESCRIPTION *":
    return _esys_binding.new_TPMS_ALGORITHM_DESCRIPTION_PTR()
new_TPMS_ALGORITHM_DESCRIPTION_PTR = _esys_binding.new_TPMS_ALGORITHM_DESCRIPTION_PTR

def copy_TPMS_ALGORITHM_DESCRIPTION_PTR(value: 'TPMS_ALGORITHM_DESCRIPTION') -> "TPMS_ALGORITHM_DESCRIPTION *":
    return _esys_binding.copy_TPMS_ALGORITHM_DESCRIPTION_PTR(value)
copy_TPMS_ALGORITHM_DESCRIPTION_PTR = _esys_binding.copy_TPMS_ALGORITHM_DESCRIPTION_PTR

def delete_TPMS_ALGORITHM_DESCRIPTION_PTR(obj: 'TPMS_ALGORITHM_DESCRIPTION') -> "void":
    return _esys_binding.delete_TPMS_ALGORITHM_DESCRIPTION_PTR(obj)
delete_TPMS_ALGORITHM_DESCRIPTION_PTR = _esys_binding.delete_TPMS_ALGORITHM_DESCRIPTION_PTR

def TPMS_ALGORITHM_DESCRIPTION_PTR_assign(obj: 'TPMS_ALGORITHM_DESCRIPTION', value: 'TPMS_ALGORITHM_DESCRIPTION') -> "void":
    return _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_assign(obj, value)
TPMS_ALGORITHM_DESCRIPTION_PTR_assign = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_assign

def TPMS_ALGORITHM_DESCRIPTION_PTR_value(obj: 'TPMS_ALGORITHM_DESCRIPTION') -> "TPMS_ALGORITHM_DESCRIPTION":
    return _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_value(obj)
TPMS_ALGORITHM_DESCRIPTION_PTR_value = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_value

def new_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR() -> "TPMS_ALGORITHM_DESCRIPTION **":
    return _esys_binding.new_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR()
new_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR = _esys_binding.new_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR

def copy_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR(value: 'TPMS_ALGORITHM_DESCRIPTION') -> "TPMS_ALGORITHM_DESCRIPTION **":
    return _esys_binding.copy_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR(value)
copy_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR = _esys_binding.copy_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR

def delete_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR(obj: 'TPMS_ALGORITHM_DESCRIPTION **') -> "void":
    return _esys_binding.delete_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR(obj)
delete_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR = _esys_binding.delete_TPMS_ALGORITHM_DESCRIPTION_PTR_PTR

def TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_assign(obj: 'TPMS_ALGORITHM_DESCRIPTION **', value: 'TPMS_ALGORITHM_DESCRIPTION') -> "void":
    return _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_assign(obj, value)
TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_assign = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_assign

def TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_value(obj: 'TPMS_ALGORITHM_DESCRIPTION **') -> "TPMS_ALGORITHM_DESCRIPTION *":
    return _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_value(obj)
TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_value = _esys_binding.TPMS_ALGORITHM_DESCRIPTION_PTR_PTR_value
sizeof_TPMU_HA = _esys_binding.sizeof_TPMU_HA

def new_TPMU_HA_PTR() -> "TPMU_HA *":
    return _esys_binding.new_TPMU_HA_PTR()
new_TPMU_HA_PTR = _esys_binding.new_TPMU_HA_PTR

def copy_TPMU_HA_PTR(value: 'TPMU_HA') -> "TPMU_HA *":
    return _esys_binding.copy_TPMU_HA_PTR(value)
copy_TPMU_HA_PTR = _esys_binding.copy_TPMU_HA_PTR

def delete_TPMU_HA_PTR(obj: 'TPMU_HA') -> "void":
    return _esys_binding.delete_TPMU_HA_PTR(obj)
delete_TPMU_HA_PTR = _esys_binding.delete_TPMU_HA_PTR

def TPMU_HA_PTR_assign(obj: 'TPMU_HA', value: 'TPMU_HA') -> "void":
    return _esys_binding.TPMU_HA_PTR_assign(obj, value)
TPMU_HA_PTR_assign = _esys_binding.TPMU_HA_PTR_assign

def TPMU_HA_PTR_value(obj: 'TPMU_HA') -> "TPMU_HA":
    return _esys_binding.TPMU_HA_PTR_value(obj)
TPMU_HA_PTR_value = _esys_binding.TPMU_HA_PTR_value

def new_TPMU_HA_PTR_PTR() -> "TPMU_HA **":
    return _esys_binding.new_TPMU_HA_PTR_PTR()
new_TPMU_HA_PTR_PTR = _esys_binding.new_TPMU_HA_PTR_PTR

def copy_TPMU_HA_PTR_PTR(value: 'TPMU_HA') -> "TPMU_HA **":
    return _esys_binding.copy_TPMU_HA_PTR_PTR(value)
copy_TPMU_HA_PTR_PTR = _esys_binding.copy_TPMU_HA_PTR_PTR

def delete_TPMU_HA_PTR_PTR(obj: 'TPMU_HA **') -> "void":
    return _esys_binding.delete_TPMU_HA_PTR_PTR(obj)
delete_TPMU_HA_PTR_PTR = _esys_binding.delete_TPMU_HA_PTR_PTR

def TPMU_HA_PTR_PTR_assign(obj: 'TPMU_HA **', value: 'TPMU_HA') -> "void":
    return _esys_binding.TPMU_HA_PTR_PTR_assign(obj, value)
TPMU_HA_PTR_PTR_assign = _esys_binding.TPMU_HA_PTR_PTR_assign

def TPMU_HA_PTR_PTR_value(obj: 'TPMU_HA **') -> "TPMU_HA *":
    return _esys_binding.TPMU_HA_PTR_PTR_value(obj)
TPMU_HA_PTR_PTR_value = _esys_binding.TPMU_HA_PTR_PTR_value
sizeof_TPMT_HA = _esys_binding.sizeof_TPMT_HA

def new_TPMT_HA_PTR() -> "TPMT_HA *":
    return _esys_binding.new_TPMT_HA_PTR()
new_TPMT_HA_PTR = _esys_binding.new_TPMT_HA_PTR

def copy_TPMT_HA_PTR(value: 'TPMT_HA') -> "TPMT_HA *":
    return _esys_binding.copy_TPMT_HA_PTR(value)
copy_TPMT_HA_PTR = _esys_binding.copy_TPMT_HA_PTR

def delete_TPMT_HA_PTR(obj: 'TPMT_HA') -> "void":
    return _esys_binding.delete_TPMT_HA_PTR(obj)
delete_TPMT_HA_PTR = _esys_binding.delete_TPMT_HA_PTR

def TPMT_HA_PTR_assign(obj: 'TPMT_HA', value: 'TPMT_HA') -> "void":
    return _esys_binding.TPMT_HA_PTR_assign(obj, value)
TPMT_HA_PTR_assign = _esys_binding.TPMT_HA_PTR_assign

def TPMT_HA_PTR_value(obj: 'TPMT_HA') -> "TPMT_HA":
    return _esys_binding.TPMT_HA_PTR_value(obj)
TPMT_HA_PTR_value = _esys_binding.TPMT_HA_PTR_value

def new_TPMT_HA_PTR_PTR() -> "TPMT_HA **":
    return _esys_binding.new_TPMT_HA_PTR_PTR()
new_TPMT_HA_PTR_PTR = _esys_binding.new_TPMT_HA_PTR_PTR

def copy_TPMT_HA_PTR_PTR(value: 'TPMT_HA') -> "TPMT_HA **":
    return _esys_binding.copy_TPMT_HA_PTR_PTR(value)
copy_TPMT_HA_PTR_PTR = _esys_binding.copy_TPMT_HA_PTR_PTR

def delete_TPMT_HA_PTR_PTR(obj: 'TPMT_HA **') -> "void":
    return _esys_binding.delete_TPMT_HA_PTR_PTR(obj)
delete_TPMT_HA_PTR_PTR = _esys_binding.delete_TPMT_HA_PTR_PTR

def TPMT_HA_PTR_PTR_assign(obj: 'TPMT_HA **', value: 'TPMT_HA') -> "void":
    return _esys_binding.TPMT_HA_PTR_PTR_assign(obj, value)
TPMT_HA_PTR_PTR_assign = _esys_binding.TPMT_HA_PTR_PTR_assign

def TPMT_HA_PTR_PTR_value(obj: 'TPMT_HA **') -> "TPMT_HA *":
    return _esys_binding.TPMT_HA_PTR_PTR_value(obj)
TPMT_HA_PTR_PTR_value = _esys_binding.TPMT_HA_PTR_PTR_value
sizeof_TPM2B_DIGEST = _esys_binding.sizeof_TPM2B_DIGEST

def new_TPM2B_DIGEST_PTR() -> "TPM2B_DIGEST *":
    return _esys_binding.new_TPM2B_DIGEST_PTR()
new_TPM2B_DIGEST_PTR = _esys_binding.new_TPM2B_DIGEST_PTR

def copy_TPM2B_DIGEST_PTR(value: 'TPM2B_DIGEST') -> "TPM2B_DIGEST *":
    return _esys_binding.copy_TPM2B_DIGEST_PTR(value)
copy_TPM2B_DIGEST_PTR = _esys_binding.copy_TPM2B_DIGEST_PTR

def delete_TPM2B_DIGEST_PTR(obj: 'TPM2B_DIGEST') -> "void":
    return _esys_binding.delete_TPM2B_DIGEST_PTR(obj)
delete_TPM2B_DIGEST_PTR = _esys_binding.delete_TPM2B_DIGEST_PTR

def TPM2B_DIGEST_PTR_assign(obj: 'TPM2B_DIGEST', value: 'TPM2B_DIGEST') -> "void":
    return _esys_binding.TPM2B_DIGEST_PTR_assign(obj, value)
TPM2B_DIGEST_PTR_assign = _esys_binding.TPM2B_DIGEST_PTR_assign

def TPM2B_DIGEST_PTR_value(obj: 'TPM2B_DIGEST') -> "TPM2B_DIGEST":
    return _esys_binding.TPM2B_DIGEST_PTR_value(obj)
TPM2B_DIGEST_PTR_value = _esys_binding.TPM2B_DIGEST_PTR_value

def new_TPM2B_DIGEST_PTR_PTR() -> "TPM2B_DIGEST **":
    return _esys_binding.new_TPM2B_DIGEST_PTR_PTR()
new_TPM2B_DIGEST_PTR_PTR = _esys_binding.new_TPM2B_DIGEST_PTR_PTR

def copy_TPM2B_DIGEST_PTR_PTR(value: 'TPM2B_DIGEST') -> "TPM2B_DIGEST **":
    return _esys_binding.copy_TPM2B_DIGEST_PTR_PTR(value)
copy_TPM2B_DIGEST_PTR_PTR = _esys_binding.copy_TPM2B_DIGEST_PTR_PTR

def delete_TPM2B_DIGEST_PTR_PTR(obj: 'TPM2B_DIGEST **') -> "void":
    return _esys_binding.delete_TPM2B_DIGEST_PTR_PTR(obj)
delete_TPM2B_DIGEST_PTR_PTR = _esys_binding.delete_TPM2B_DIGEST_PTR_PTR

def TPM2B_DIGEST_PTR_PTR_assign(obj: 'TPM2B_DIGEST **', value: 'TPM2B_DIGEST') -> "void":
    return _esys_binding.TPM2B_DIGEST_PTR_PTR_assign(obj, value)
TPM2B_DIGEST_PTR_PTR_assign = _esys_binding.TPM2B_DIGEST_PTR_PTR_assign

def TPM2B_DIGEST_PTR_PTR_value(obj: 'TPM2B_DIGEST **') -> "TPM2B_DIGEST *":
    return _esys_binding.TPM2B_DIGEST_PTR_PTR_value(obj)
TPM2B_DIGEST_PTR_PTR_value = _esys_binding.TPM2B_DIGEST_PTR_PTR_value
sizeof_TPM2B_DATA = _esys_binding.sizeof_TPM2B_DATA

def new_TPM2B_DATA_PTR() -> "TPM2B_DATA *":
    return _esys_binding.new_TPM2B_DATA_PTR()
new_TPM2B_DATA_PTR = _esys_binding.new_TPM2B_DATA_PTR

def copy_TPM2B_DATA_PTR(value: 'TPM2B_DATA') -> "TPM2B_DATA *":
    return _esys_binding.copy_TPM2B_DATA_PTR(value)
copy_TPM2B_DATA_PTR = _esys_binding.copy_TPM2B_DATA_PTR

def delete_TPM2B_DATA_PTR(obj: 'TPM2B_DATA') -> "void":
    return _esys_binding.delete_TPM2B_DATA_PTR(obj)
delete_TPM2B_DATA_PTR = _esys_binding.delete_TPM2B_DATA_PTR

def TPM2B_DATA_PTR_assign(obj: 'TPM2B_DATA', value: 'TPM2B_DATA') -> "void":
    return _esys_binding.TPM2B_DATA_PTR_assign(obj, value)
TPM2B_DATA_PTR_assign = _esys_binding.TPM2B_DATA_PTR_assign

def TPM2B_DATA_PTR_value(obj: 'TPM2B_DATA') -> "TPM2B_DATA":
    return _esys_binding.TPM2B_DATA_PTR_value(obj)
TPM2B_DATA_PTR_value = _esys_binding.TPM2B_DATA_PTR_value

def new_TPM2B_DATA_PTR_PTR() -> "TPM2B_DATA **":
    return _esys_binding.new_TPM2B_DATA_PTR_PTR()
new_TPM2B_DATA_PTR_PTR = _esys_binding.new_TPM2B_DATA_PTR_PTR

def copy_TPM2B_DATA_PTR_PTR(value: 'TPM2B_DATA') -> "TPM2B_DATA **":
    return _esys_binding.copy_TPM2B_DATA_PTR_PTR(value)
copy_TPM2B_DATA_PTR_PTR = _esys_binding.copy_TPM2B_DATA_PTR_PTR

def delete_TPM2B_DATA_PTR_PTR(obj: 'TPM2B_DATA **') -> "void":
    return _esys_binding.delete_TPM2B_DATA_PTR_PTR(obj)
delete_TPM2B_DATA_PTR_PTR = _esys_binding.delete_TPM2B_DATA_PTR_PTR

def TPM2B_DATA_PTR_PTR_assign(obj: 'TPM2B_DATA **', value: 'TPM2B_DATA') -> "void":
    return _esys_binding.TPM2B_DATA_PTR_PTR_assign(obj, value)
TPM2B_DATA_PTR_PTR_assign = _esys_binding.TPM2B_DATA_PTR_PTR_assign

def TPM2B_DATA_PTR_PTR_value(obj: 'TPM2B_DATA **') -> "TPM2B_DATA *":
    return _esys_binding.TPM2B_DATA_PTR_PTR_value(obj)
TPM2B_DATA_PTR_PTR_value = _esys_binding.TPM2B_DATA_PTR_PTR_value
sizeof_TPM2B_EVENT = _esys_binding.sizeof_TPM2B_EVENT

def new_TPM2B_EVENT_PTR() -> "TPM2B_EVENT *":
    return _esys_binding.new_TPM2B_EVENT_PTR()
new_TPM2B_EVENT_PTR = _esys_binding.new_TPM2B_EVENT_PTR

def copy_TPM2B_EVENT_PTR(value: 'TPM2B_EVENT') -> "TPM2B_EVENT *":
    return _esys_binding.copy_TPM2B_EVENT_PTR(value)
copy_TPM2B_EVENT_PTR = _esys_binding.copy_TPM2B_EVENT_PTR

def delete_TPM2B_EVENT_PTR(obj: 'TPM2B_EVENT') -> "void":
    return _esys_binding.delete_TPM2B_EVENT_PTR(obj)
delete_TPM2B_EVENT_PTR = _esys_binding.delete_TPM2B_EVENT_PTR

def TPM2B_EVENT_PTR_assign(obj: 'TPM2B_EVENT', value: 'TPM2B_EVENT') -> "void":
    return _esys_binding.TPM2B_EVENT_PTR_assign(obj, value)
TPM2B_EVENT_PTR_assign = _esys_binding.TPM2B_EVENT_PTR_assign

def TPM2B_EVENT_PTR_value(obj: 'TPM2B_EVENT') -> "TPM2B_EVENT":
    return _esys_binding.TPM2B_EVENT_PTR_value(obj)
TPM2B_EVENT_PTR_value = _esys_binding.TPM2B_EVENT_PTR_value

def new_TPM2B_EVENT_PTR_PTR() -> "TPM2B_EVENT **":
    return _esys_binding.new_TPM2B_EVENT_PTR_PTR()
new_TPM2B_EVENT_PTR_PTR = _esys_binding.new_TPM2B_EVENT_PTR_PTR

def copy_TPM2B_EVENT_PTR_PTR(value: 'TPM2B_EVENT') -> "TPM2B_EVENT **":
    return _esys_binding.copy_TPM2B_EVENT_PTR_PTR(value)
copy_TPM2B_EVENT_PTR_PTR = _esys_binding.copy_TPM2B_EVENT_PTR_PTR

def delete_TPM2B_EVENT_PTR_PTR(obj: 'TPM2B_EVENT **') -> "void":
    return _esys_binding.delete_TPM2B_EVENT_PTR_PTR(obj)
delete_TPM2B_EVENT_PTR_PTR = _esys_binding.delete_TPM2B_EVENT_PTR_PTR

def TPM2B_EVENT_PTR_PTR_assign(obj: 'TPM2B_EVENT **', value: 'TPM2B_EVENT') -> "void":
    return _esys_binding.TPM2B_EVENT_PTR_PTR_assign(obj, value)
TPM2B_EVENT_PTR_PTR_assign = _esys_binding.TPM2B_EVENT_PTR_PTR_assign

def TPM2B_EVENT_PTR_PTR_value(obj: 'TPM2B_EVENT **') -> "TPM2B_EVENT *":
    return _esys_binding.TPM2B_EVENT_PTR_PTR_value(obj)
TPM2B_EVENT_PTR_PTR_value = _esys_binding.TPM2B_EVENT_PTR_PTR_value
sizeof_TPM2B_MAX_BUFFER = _esys_binding.sizeof_TPM2B_MAX_BUFFER

def new_TPM2B_MAX_BUFFER_PTR() -> "TPM2B_MAX_BUFFER *":
    return _esys_binding.new_TPM2B_MAX_BUFFER_PTR()
new_TPM2B_MAX_BUFFER_PTR = _esys_binding.new_TPM2B_MAX_BUFFER_PTR

def copy_TPM2B_MAX_BUFFER_PTR(value: 'TPM2B_MAX_BUFFER') -> "TPM2B_MAX_BUFFER *":
    return _esys_binding.copy_TPM2B_MAX_BUFFER_PTR(value)
copy_TPM2B_MAX_BUFFER_PTR = _esys_binding.copy_TPM2B_MAX_BUFFER_PTR

def delete_TPM2B_MAX_BUFFER_PTR(obj: 'TPM2B_MAX_BUFFER') -> "void":
    return _esys_binding.delete_TPM2B_MAX_BUFFER_PTR(obj)
delete_TPM2B_MAX_BUFFER_PTR = _esys_binding.delete_TPM2B_MAX_BUFFER_PTR

def TPM2B_MAX_BUFFER_PTR_assign(obj: 'TPM2B_MAX_BUFFER', value: 'TPM2B_MAX_BUFFER') -> "void":
    return _esys_binding.TPM2B_MAX_BUFFER_PTR_assign(obj, value)
TPM2B_MAX_BUFFER_PTR_assign = _esys_binding.TPM2B_MAX_BUFFER_PTR_assign

def TPM2B_MAX_BUFFER_PTR_value(obj: 'TPM2B_MAX_BUFFER') -> "TPM2B_MAX_BUFFER":
    return _esys_binding.TPM2B_MAX_BUFFER_PTR_value(obj)
TPM2B_MAX_BUFFER_PTR_value = _esys_binding.TPM2B_MAX_BUFFER_PTR_value

def new_TPM2B_MAX_BUFFER_PTR_PTR() -> "TPM2B_MAX_BUFFER **":
    return _esys_binding.new_TPM2B_MAX_BUFFER_PTR_PTR()
new_TPM2B_MAX_BUFFER_PTR_PTR = _esys_binding.new_TPM2B_MAX_BUFFER_PTR_PTR

def copy_TPM2B_MAX_BUFFER_PTR_PTR(value: 'TPM2B_MAX_BUFFER') -> "TPM2B_MAX_BUFFER **":
    return _esys_binding.copy_TPM2B_MAX_BUFFER_PTR_PTR(value)
copy_TPM2B_MAX_BUFFER_PTR_PTR = _esys_binding.copy_TPM2B_MAX_BUFFER_PTR_PTR

def delete_TPM2B_MAX_BUFFER_PTR_PTR(obj: 'TPM2B_MAX_BUFFER **') -> "void":
    return _esys_binding.delete_TPM2B_MAX_BUFFER_PTR_PTR(obj)
delete_TPM2B_MAX_BUFFER_PTR_PTR = _esys_binding.delete_TPM2B_MAX_BUFFER_PTR_PTR

def TPM2B_MAX_BUFFER_PTR_PTR_assign(obj: 'TPM2B_MAX_BUFFER **', value: 'TPM2B_MAX_BUFFER') -> "void":
    return _esys_binding.TPM2B_MAX_BUFFER_PTR_PTR_assign(obj, value)
TPM2B_MAX_BUFFER_PTR_PTR_assign = _esys_binding.TPM2B_MAX_BUFFER_PTR_PTR_assign

def TPM2B_MAX_BUFFER_PTR_PTR_value(obj: 'TPM2B_MAX_BUFFER **') -> "TPM2B_MAX_BUFFER *":
    return _esys_binding.TPM2B_MAX_BUFFER_PTR_PTR_value(obj)
TPM2B_MAX_BUFFER_PTR_PTR_value = _esys_binding.TPM2B_MAX_BUFFER_PTR_PTR_value
sizeof_TPM2B_MAX_NV_BUFFER = _esys_binding.sizeof_TPM2B_MAX_NV_BUFFER

def new_TPM2B_MAX_NV_BUFFER_PTR() -> "TPM2B_MAX_NV_BUFFER *":
    return _esys_binding.new_TPM2B_MAX_NV_BUFFER_PTR()
new_TPM2B_MAX_NV_BUFFER_PTR = _esys_binding.new_TPM2B_MAX_NV_BUFFER_PTR

def copy_TPM2B_MAX_NV_BUFFER_PTR(value: 'TPM2B_MAX_NV_BUFFER') -> "TPM2B_MAX_NV_BUFFER *":
    return _esys_binding.copy_TPM2B_MAX_NV_BUFFER_PTR(value)
copy_TPM2B_MAX_NV_BUFFER_PTR = _esys_binding.copy_TPM2B_MAX_NV_BUFFER_PTR

def delete_TPM2B_MAX_NV_BUFFER_PTR(obj: 'TPM2B_MAX_NV_BUFFER') -> "void":
    return _esys_binding.delete_TPM2B_MAX_NV_BUFFER_PTR(obj)
delete_TPM2B_MAX_NV_BUFFER_PTR = _esys_binding.delete_TPM2B_MAX_NV_BUFFER_PTR

def TPM2B_MAX_NV_BUFFER_PTR_assign(obj: 'TPM2B_MAX_NV_BUFFER', value: 'TPM2B_MAX_NV_BUFFER') -> "void":
    return _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_assign(obj, value)
TPM2B_MAX_NV_BUFFER_PTR_assign = _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_assign

def TPM2B_MAX_NV_BUFFER_PTR_value(obj: 'TPM2B_MAX_NV_BUFFER') -> "TPM2B_MAX_NV_BUFFER":
    return _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_value(obj)
TPM2B_MAX_NV_BUFFER_PTR_value = _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_value

def new_TPM2B_MAX_NV_BUFFER_PTR_PTR() -> "TPM2B_MAX_NV_BUFFER **":
    return _esys_binding.new_TPM2B_MAX_NV_BUFFER_PTR_PTR()
new_TPM2B_MAX_NV_BUFFER_PTR_PTR = _esys_binding.new_TPM2B_MAX_NV_BUFFER_PTR_PTR

def copy_TPM2B_MAX_NV_BUFFER_PTR_PTR(value: 'TPM2B_MAX_NV_BUFFER') -> "TPM2B_MAX_NV_BUFFER **":
    return _esys_binding.copy_TPM2B_MAX_NV_BUFFER_PTR_PTR(value)
copy_TPM2B_MAX_NV_BUFFER_PTR_PTR = _esys_binding.copy_TPM2B_MAX_NV_BUFFER_PTR_PTR

def delete_TPM2B_MAX_NV_BUFFER_PTR_PTR(obj: 'TPM2B_MAX_NV_BUFFER **') -> "void":
    return _esys_binding.delete_TPM2B_MAX_NV_BUFFER_PTR_PTR(obj)
delete_TPM2B_MAX_NV_BUFFER_PTR_PTR = _esys_binding.delete_TPM2B_MAX_NV_BUFFER_PTR_PTR

def TPM2B_MAX_NV_BUFFER_PTR_PTR_assign(obj: 'TPM2B_MAX_NV_BUFFER **', value: 'TPM2B_MAX_NV_BUFFER') -> "void":
    return _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_PTR_assign(obj, value)
TPM2B_MAX_NV_BUFFER_PTR_PTR_assign = _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_PTR_assign

def TPM2B_MAX_NV_BUFFER_PTR_PTR_value(obj: 'TPM2B_MAX_NV_BUFFER **') -> "TPM2B_MAX_NV_BUFFER *":
    return _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_PTR_value(obj)
TPM2B_MAX_NV_BUFFER_PTR_PTR_value = _esys_binding.TPM2B_MAX_NV_BUFFER_PTR_PTR_value
sizeof_TPM2B_IV = _esys_binding.sizeof_TPM2B_IV

def new_TPM2B_IV_PTR() -> "TPM2B_IV *":
    return _esys_binding.new_TPM2B_IV_PTR()
new_TPM2B_IV_PTR = _esys_binding.new_TPM2B_IV_PTR

def copy_TPM2B_IV_PTR(value: 'TPM2B_IV') -> "TPM2B_IV *":
    return _esys_binding.copy_TPM2B_IV_PTR(value)
copy_TPM2B_IV_PTR = _esys_binding.copy_TPM2B_IV_PTR

def delete_TPM2B_IV_PTR(obj: 'TPM2B_IV') -> "void":
    return _esys_binding.delete_TPM2B_IV_PTR(obj)
delete_TPM2B_IV_PTR = _esys_binding.delete_TPM2B_IV_PTR

def TPM2B_IV_PTR_assign(obj: 'TPM2B_IV', value: 'TPM2B_IV') -> "void":
    return _esys_binding.TPM2B_IV_PTR_assign(obj, value)
TPM2B_IV_PTR_assign = _esys_binding.TPM2B_IV_PTR_assign

def TPM2B_IV_PTR_value(obj: 'TPM2B_IV') -> "TPM2B_IV":
    return _esys_binding.TPM2B_IV_PTR_value(obj)
TPM2B_IV_PTR_value = _esys_binding.TPM2B_IV_PTR_value

def new_TPM2B_IV_PTR_PTR() -> "TPM2B_IV **":
    return _esys_binding.new_TPM2B_IV_PTR_PTR()
new_TPM2B_IV_PTR_PTR = _esys_binding.new_TPM2B_IV_PTR_PTR

def copy_TPM2B_IV_PTR_PTR(value: 'TPM2B_IV') -> "TPM2B_IV **":
    return _esys_binding.copy_TPM2B_IV_PTR_PTR(value)
copy_TPM2B_IV_PTR_PTR = _esys_binding.copy_TPM2B_IV_PTR_PTR

def delete_TPM2B_IV_PTR_PTR(obj: 'TPM2B_IV **') -> "void":
    return _esys_binding.delete_TPM2B_IV_PTR_PTR(obj)
delete_TPM2B_IV_PTR_PTR = _esys_binding.delete_TPM2B_IV_PTR_PTR

def TPM2B_IV_PTR_PTR_assign(obj: 'TPM2B_IV **', value: 'TPM2B_IV') -> "void":
    return _esys_binding.TPM2B_IV_PTR_PTR_assign(obj, value)
TPM2B_IV_PTR_PTR_assign = _esys_binding.TPM2B_IV_PTR_PTR_assign

def TPM2B_IV_PTR_PTR_value(obj: 'TPM2B_IV **') -> "TPM2B_IV *":
    return _esys_binding.TPM2B_IV_PTR_PTR_value(obj)
TPM2B_IV_PTR_PTR_value = _esys_binding.TPM2B_IV_PTR_PTR_value
sizeof_TPMU_NAME = _esys_binding.sizeof_TPMU_NAME

def new_TPMU_NAME_PTR() -> "TPMU_NAME *":
    return _esys_binding.new_TPMU_NAME_PTR()
new_TPMU_NAME_PTR = _esys_binding.new_TPMU_NAME_PTR

def copy_TPMU_NAME_PTR(value: 'TPMU_NAME') -> "TPMU_NAME *":
    return _esys_binding.copy_TPMU_NAME_PTR(value)
copy_TPMU_NAME_PTR = _esys_binding.copy_TPMU_NAME_PTR

def delete_TPMU_NAME_PTR(obj: 'TPMU_NAME') -> "void":
    return _esys_binding.delete_TPMU_NAME_PTR(obj)
delete_TPMU_NAME_PTR = _esys_binding.delete_TPMU_NAME_PTR

def TPMU_NAME_PTR_assign(obj: 'TPMU_NAME', value: 'TPMU_NAME') -> "void":
    return _esys_binding.TPMU_NAME_PTR_assign(obj, value)
TPMU_NAME_PTR_assign = _esys_binding.TPMU_NAME_PTR_assign

def TPMU_NAME_PTR_value(obj: 'TPMU_NAME') -> "TPMU_NAME":
    return _esys_binding.TPMU_NAME_PTR_value(obj)
TPMU_NAME_PTR_value = _esys_binding.TPMU_NAME_PTR_value

def new_TPMU_NAME_PTR_PTR() -> "TPMU_NAME **":
    return _esys_binding.new_TPMU_NAME_PTR_PTR()
new_TPMU_NAME_PTR_PTR = _esys_binding.new_TPMU_NAME_PTR_PTR

def copy_TPMU_NAME_PTR_PTR(value: 'TPMU_NAME') -> "TPMU_NAME **":
    return _esys_binding.copy_TPMU_NAME_PTR_PTR(value)
copy_TPMU_NAME_PTR_PTR = _esys_binding.copy_TPMU_NAME_PTR_PTR

def delete_TPMU_NAME_PTR_PTR(obj: 'TPMU_NAME **') -> "void":
    return _esys_binding.delete_TPMU_NAME_PTR_PTR(obj)
delete_TPMU_NAME_PTR_PTR = _esys_binding.delete_TPMU_NAME_PTR_PTR

def TPMU_NAME_PTR_PTR_assign(obj: 'TPMU_NAME **', value: 'TPMU_NAME') -> "void":
    return _esys_binding.TPMU_NAME_PTR_PTR_assign(obj, value)
TPMU_NAME_PTR_PTR_assign = _esys_binding.TPMU_NAME_PTR_PTR_assign

def TPMU_NAME_PTR_PTR_value(obj: 'TPMU_NAME **') -> "TPMU_NAME *":
    return _esys_binding.TPMU_NAME_PTR_PTR_value(obj)
TPMU_NAME_PTR_PTR_value = _esys_binding.TPMU_NAME_PTR_PTR_value
sizeof_TPM2B_NAME = _esys_binding.sizeof_TPM2B_NAME

def new_TPM2B_NAME_PTR() -> "TPM2B_NAME *":
    return _esys_binding.new_TPM2B_NAME_PTR()
new_TPM2B_NAME_PTR = _esys_binding.new_TPM2B_NAME_PTR

def copy_TPM2B_NAME_PTR(value: 'TPM2B_NAME') -> "TPM2B_NAME *":
    return _esys_binding.copy_TPM2B_NAME_PTR(value)
copy_TPM2B_NAME_PTR = _esys_binding.copy_TPM2B_NAME_PTR

def delete_TPM2B_NAME_PTR(obj: 'TPM2B_NAME') -> "void":
    return _esys_binding.delete_TPM2B_NAME_PTR(obj)
delete_TPM2B_NAME_PTR = _esys_binding.delete_TPM2B_NAME_PTR

def TPM2B_NAME_PTR_assign(obj: 'TPM2B_NAME', value: 'TPM2B_NAME') -> "void":
    return _esys_binding.TPM2B_NAME_PTR_assign(obj, value)
TPM2B_NAME_PTR_assign = _esys_binding.TPM2B_NAME_PTR_assign

def TPM2B_NAME_PTR_value(obj: 'TPM2B_NAME') -> "TPM2B_NAME":
    return _esys_binding.TPM2B_NAME_PTR_value(obj)
TPM2B_NAME_PTR_value = _esys_binding.TPM2B_NAME_PTR_value

def new_TPM2B_NAME_PTR_PTR() -> "TPM2B_NAME **":
    return _esys_binding.new_TPM2B_NAME_PTR_PTR()
new_TPM2B_NAME_PTR_PTR = _esys_binding.new_TPM2B_NAME_PTR_PTR

def copy_TPM2B_NAME_PTR_PTR(value: 'TPM2B_NAME') -> "TPM2B_NAME **":
    return _esys_binding.copy_TPM2B_NAME_PTR_PTR(value)
copy_TPM2B_NAME_PTR_PTR = _esys_binding.copy_TPM2B_NAME_PTR_PTR

def delete_TPM2B_NAME_PTR_PTR(obj: 'TPM2B_NAME **') -> "void":
    return _esys_binding.delete_TPM2B_NAME_PTR_PTR(obj)
delete_TPM2B_NAME_PTR_PTR = _esys_binding.delete_TPM2B_NAME_PTR_PTR

def TPM2B_NAME_PTR_PTR_assign(obj: 'TPM2B_NAME **', value: 'TPM2B_NAME') -> "void":
    return _esys_binding.TPM2B_NAME_PTR_PTR_assign(obj, value)
TPM2B_NAME_PTR_PTR_assign = _esys_binding.TPM2B_NAME_PTR_PTR_assign

def TPM2B_NAME_PTR_PTR_value(obj: 'TPM2B_NAME **') -> "TPM2B_NAME *":
    return _esys_binding.TPM2B_NAME_PTR_PTR_value(obj)
TPM2B_NAME_PTR_PTR_value = _esys_binding.TPM2B_NAME_PTR_PTR_value
sizeof_TPMS_PCR_SELECT = _esys_binding.sizeof_TPMS_PCR_SELECT

def new_TPMS_PCR_SELECT_PTR() -> "TPMS_PCR_SELECT *":
    return _esys_binding.new_TPMS_PCR_SELECT_PTR()
new_TPMS_PCR_SELECT_PTR = _esys_binding.new_TPMS_PCR_SELECT_PTR

def copy_TPMS_PCR_SELECT_PTR(value: 'TPMS_PCR_SELECT') -> "TPMS_PCR_SELECT *":
    return _esys_binding.copy_TPMS_PCR_SELECT_PTR(value)
copy_TPMS_PCR_SELECT_PTR = _esys_binding.copy_TPMS_PCR_SELECT_PTR

def delete_TPMS_PCR_SELECT_PTR(obj: 'TPMS_PCR_SELECT') -> "void":
    return _esys_binding.delete_TPMS_PCR_SELECT_PTR(obj)
delete_TPMS_PCR_SELECT_PTR = _esys_binding.delete_TPMS_PCR_SELECT_PTR

def TPMS_PCR_SELECT_PTR_assign(obj: 'TPMS_PCR_SELECT', value: 'TPMS_PCR_SELECT') -> "void":
    return _esys_binding.TPMS_PCR_SELECT_PTR_assign(obj, value)
TPMS_PCR_SELECT_PTR_assign = _esys_binding.TPMS_PCR_SELECT_PTR_assign

def TPMS_PCR_SELECT_PTR_value(obj: 'TPMS_PCR_SELECT') -> "TPMS_PCR_SELECT":
    return _esys_binding.TPMS_PCR_SELECT_PTR_value(obj)
TPMS_PCR_SELECT_PTR_value = _esys_binding.TPMS_PCR_SELECT_PTR_value

def new_TPMS_PCR_SELECT_PTR_PTR() -> "TPMS_PCR_SELECT **":
    return _esys_binding.new_TPMS_PCR_SELECT_PTR_PTR()
new_TPMS_PCR_SELECT_PTR_PTR = _esys_binding.new_TPMS_PCR_SELECT_PTR_PTR

def copy_TPMS_PCR_SELECT_PTR_PTR(value: 'TPMS_PCR_SELECT') -> "TPMS_PCR_SELECT **":
    return _esys_binding.copy_TPMS_PCR_SELECT_PTR_PTR(value)
copy_TPMS_PCR_SELECT_PTR_PTR = _esys_binding.copy_TPMS_PCR_SELECT_PTR_PTR

def delete_TPMS_PCR_SELECT_PTR_PTR(obj: 'TPMS_PCR_SELECT **') -> "void":
    return _esys_binding.delete_TPMS_PCR_SELECT_PTR_PTR(obj)
delete_TPMS_PCR_SELECT_PTR_PTR = _esys_binding.delete_TPMS_PCR_SELECT_PTR_PTR

def TPMS_PCR_SELECT_PTR_PTR_assign(obj: 'TPMS_PCR_SELECT **', value: 'TPMS_PCR_SELECT') -> "void":
    return _esys_binding.TPMS_PCR_SELECT_PTR_PTR_assign(obj, value)
TPMS_PCR_SELECT_PTR_PTR_assign = _esys_binding.TPMS_PCR_SELECT_PTR_PTR_assign

def TPMS_PCR_SELECT_PTR_PTR_value(obj: 'TPMS_PCR_SELECT **') -> "TPMS_PCR_SELECT *":
    return _esys_binding.TPMS_PCR_SELECT_PTR_PTR_value(obj)
TPMS_PCR_SELECT_PTR_PTR_value = _esys_binding.TPMS_PCR_SELECT_PTR_PTR_value
sizeof_TPMS_PCR_SELECTION = _esys_binding.sizeof_TPMS_PCR_SELECTION

def new_TPMS_PCR_SELECTION_PTR() -> "TPMS_PCR_SELECTION *":
    return _esys_binding.new_TPMS_PCR_SELECTION_PTR()
new_TPMS_PCR_SELECTION_PTR = _esys_binding.new_TPMS_PCR_SELECTION_PTR

def copy_TPMS_PCR_SELECTION_PTR(value: 'TPMS_PCR_SELECTION') -> "TPMS_PCR_SELECTION *":
    return _esys_binding.copy_TPMS_PCR_SELECTION_PTR(value)
copy_TPMS_PCR_SELECTION_PTR = _esys_binding.copy_TPMS_PCR_SELECTION_PTR

def delete_TPMS_PCR_SELECTION_PTR(obj: 'TPMS_PCR_SELECTION') -> "void":
    return _esys_binding.delete_TPMS_PCR_SELECTION_PTR(obj)
delete_TPMS_PCR_SELECTION_PTR = _esys_binding.delete_TPMS_PCR_SELECTION_PTR

def TPMS_PCR_SELECTION_PTR_assign(obj: 'TPMS_PCR_SELECTION', value: 'TPMS_PCR_SELECTION') -> "void":
    return _esys_binding.TPMS_PCR_SELECTION_PTR_assign(obj, value)
TPMS_PCR_SELECTION_PTR_assign = _esys_binding.TPMS_PCR_SELECTION_PTR_assign

def TPMS_PCR_SELECTION_PTR_value(obj: 'TPMS_PCR_SELECTION') -> "TPMS_PCR_SELECTION":
    return _esys_binding.TPMS_PCR_SELECTION_PTR_value(obj)
TPMS_PCR_SELECTION_PTR_value = _esys_binding.TPMS_PCR_SELECTION_PTR_value

def new_TPMS_PCR_SELECTION_PTR_PTR() -> "TPMS_PCR_SELECTION **":
    return _esys_binding.new_TPMS_PCR_SELECTION_PTR_PTR()
new_TPMS_PCR_SELECTION_PTR_PTR = _esys_binding.new_TPMS_PCR_SELECTION_PTR_PTR

def copy_TPMS_PCR_SELECTION_PTR_PTR(value: 'TPMS_PCR_SELECTION') -> "TPMS_PCR_SELECTION **":
    return _esys_binding.copy_TPMS_PCR_SELECTION_PTR_PTR(value)
copy_TPMS_PCR_SELECTION_PTR_PTR = _esys_binding.copy_TPMS_PCR_SELECTION_PTR_PTR

def delete_TPMS_PCR_SELECTION_PTR_PTR(obj: 'TPMS_PCR_SELECTION **') -> "void":
    return _esys_binding.delete_TPMS_PCR_SELECTION_PTR_PTR(obj)
delete_TPMS_PCR_SELECTION_PTR_PTR = _esys_binding.delete_TPMS_PCR_SELECTION_PTR_PTR

def TPMS_PCR_SELECTION_PTR_PTR_assign(obj: 'TPMS_PCR_SELECTION **', value: 'TPMS_PCR_SELECTION') -> "void":
    return _esys_binding.TPMS_PCR_SELECTION_PTR_PTR_assign(obj, value)
TPMS_PCR_SELECTION_PTR_PTR_assign = _esys_binding.TPMS_PCR_SELECTION_PTR_PTR_assign

def TPMS_PCR_SELECTION_PTR_PTR_value(obj: 'TPMS_PCR_SELECTION **') -> "TPMS_PCR_SELECTION *":
    return _esys_binding.TPMS_PCR_SELECTION_PTR_PTR_value(obj)
TPMS_PCR_SELECTION_PTR_PTR_value = _esys_binding.TPMS_PCR_SELECTION_PTR_PTR_value
sizeof_TPMT_TK_CREATION = _esys_binding.sizeof_TPMT_TK_CREATION

def new_TPMT_TK_CREATION_PTR() -> "TPMT_TK_CREATION *":
    return _esys_binding.new_TPMT_TK_CREATION_PTR()
new_TPMT_TK_CREATION_PTR = _esys_binding.new_TPMT_TK_CREATION_PTR

def copy_TPMT_TK_CREATION_PTR(value: 'TPMT_TK_CREATION') -> "TPMT_TK_CREATION *":
    return _esys_binding.copy_TPMT_TK_CREATION_PTR(value)
copy_TPMT_TK_CREATION_PTR = _esys_binding.copy_TPMT_TK_CREATION_PTR

def delete_TPMT_TK_CREATION_PTR(obj: 'TPMT_TK_CREATION') -> "void":
    return _esys_binding.delete_TPMT_TK_CREATION_PTR(obj)
delete_TPMT_TK_CREATION_PTR = _esys_binding.delete_TPMT_TK_CREATION_PTR

def TPMT_TK_CREATION_PTR_assign(obj: 'TPMT_TK_CREATION', value: 'TPMT_TK_CREATION') -> "void":
    return _esys_binding.TPMT_TK_CREATION_PTR_assign(obj, value)
TPMT_TK_CREATION_PTR_assign = _esys_binding.TPMT_TK_CREATION_PTR_assign

def TPMT_TK_CREATION_PTR_value(obj: 'TPMT_TK_CREATION') -> "TPMT_TK_CREATION":
    return _esys_binding.TPMT_TK_CREATION_PTR_value(obj)
TPMT_TK_CREATION_PTR_value = _esys_binding.TPMT_TK_CREATION_PTR_value

def new_TPMT_TK_CREATION_PTR_PTR() -> "TPMT_TK_CREATION **":
    return _esys_binding.new_TPMT_TK_CREATION_PTR_PTR()
new_TPMT_TK_CREATION_PTR_PTR = _esys_binding.new_TPMT_TK_CREATION_PTR_PTR

def copy_TPMT_TK_CREATION_PTR_PTR(value: 'TPMT_TK_CREATION') -> "TPMT_TK_CREATION **":
    return _esys_binding.copy_TPMT_TK_CREATION_PTR_PTR(value)
copy_TPMT_TK_CREATION_PTR_PTR = _esys_binding.copy_TPMT_TK_CREATION_PTR_PTR

def delete_TPMT_TK_CREATION_PTR_PTR(obj: 'TPMT_TK_CREATION **') -> "void":
    return _esys_binding.delete_TPMT_TK_CREATION_PTR_PTR(obj)
delete_TPMT_TK_CREATION_PTR_PTR = _esys_binding.delete_TPMT_TK_CREATION_PTR_PTR

def TPMT_TK_CREATION_PTR_PTR_assign(obj: 'TPMT_TK_CREATION **', value: 'TPMT_TK_CREATION') -> "void":
    return _esys_binding.TPMT_TK_CREATION_PTR_PTR_assign(obj, value)
TPMT_TK_CREATION_PTR_PTR_assign = _esys_binding.TPMT_TK_CREATION_PTR_PTR_assign

def TPMT_TK_CREATION_PTR_PTR_value(obj: 'TPMT_TK_CREATION **') -> "TPMT_TK_CREATION *":
    return _esys_binding.TPMT_TK_CREATION_PTR_PTR_value(obj)
TPMT_TK_CREATION_PTR_PTR_value = _esys_binding.TPMT_TK_CREATION_PTR_PTR_value
sizeof_TPMT_TK_VERIFIED = _esys_binding.sizeof_TPMT_TK_VERIFIED

def new_TPMT_TK_VERIFIED_PTR() -> "TPMT_TK_VERIFIED *":
    return _esys_binding.new_TPMT_TK_VERIFIED_PTR()
new_TPMT_TK_VERIFIED_PTR = _esys_binding.new_TPMT_TK_VERIFIED_PTR

def copy_TPMT_TK_VERIFIED_PTR(value: 'TPMT_TK_VERIFIED') -> "TPMT_TK_VERIFIED *":
    return _esys_binding.copy_TPMT_TK_VERIFIED_PTR(value)
copy_TPMT_TK_VERIFIED_PTR = _esys_binding.copy_TPMT_TK_VERIFIED_PTR

def delete_TPMT_TK_VERIFIED_PTR(obj: 'TPMT_TK_VERIFIED') -> "void":
    return _esys_binding.delete_TPMT_TK_VERIFIED_PTR(obj)
delete_TPMT_TK_VERIFIED_PTR = _esys_binding.delete_TPMT_TK_VERIFIED_PTR

def TPMT_TK_VERIFIED_PTR_assign(obj: 'TPMT_TK_VERIFIED', value: 'TPMT_TK_VERIFIED') -> "void":
    return _esys_binding.TPMT_TK_VERIFIED_PTR_assign(obj, value)
TPMT_TK_VERIFIED_PTR_assign = _esys_binding.TPMT_TK_VERIFIED_PTR_assign

def TPMT_TK_VERIFIED_PTR_value(obj: 'TPMT_TK_VERIFIED') -> "TPMT_TK_VERIFIED":
    return _esys_binding.TPMT_TK_VERIFIED_PTR_value(obj)
TPMT_TK_VERIFIED_PTR_value = _esys_binding.TPMT_TK_VERIFIED_PTR_value

def new_TPMT_TK_VERIFIED_PTR_PTR() -> "TPMT_TK_VERIFIED **":
    return _esys_binding.new_TPMT_TK_VERIFIED_PTR_PTR()
new_TPMT_TK_VERIFIED_PTR_PTR = _esys_binding.new_TPMT_TK_VERIFIED_PTR_PTR

def copy_TPMT_TK_VERIFIED_PTR_PTR(value: 'TPMT_TK_VERIFIED') -> "TPMT_TK_VERIFIED **":
    return _esys_binding.copy_TPMT_TK_VERIFIED_PTR_PTR(value)
copy_TPMT_TK_VERIFIED_PTR_PTR = _esys_binding.copy_TPMT_TK_VERIFIED_PTR_PTR

def delete_TPMT_TK_VERIFIED_PTR_PTR(obj: 'TPMT_TK_VERIFIED **') -> "void":
    return _esys_binding.delete_TPMT_TK_VERIFIED_PTR_PTR(obj)
delete_TPMT_TK_VERIFIED_PTR_PTR = _esys_binding.delete_TPMT_TK_VERIFIED_PTR_PTR

def TPMT_TK_VERIFIED_PTR_PTR_assign(obj: 'TPMT_TK_VERIFIED **', value: 'TPMT_TK_VERIFIED') -> "void":
    return _esys_binding.TPMT_TK_VERIFIED_PTR_PTR_assign(obj, value)
TPMT_TK_VERIFIED_PTR_PTR_assign = _esys_binding.TPMT_TK_VERIFIED_PTR_PTR_assign

def TPMT_TK_VERIFIED_PTR_PTR_value(obj: 'TPMT_TK_VERIFIED **') -> "TPMT_TK_VERIFIED *":
    return _esys_binding.TPMT_TK_VERIFIED_PTR_PTR_value(obj)
TPMT_TK_VERIFIED_PTR_PTR_value = _esys_binding.TPMT_TK_VERIFIED_PTR_PTR_value
sizeof_TPMT_TK_AUTH = _esys_binding.sizeof_TPMT_TK_AUTH

def new_TPMT_TK_AUTH_PTR() -> "TPMT_TK_AUTH *":
    return _esys_binding.new_TPMT_TK_AUTH_PTR()
new_TPMT_TK_AUTH_PTR = _esys_binding.new_TPMT_TK_AUTH_PTR

def copy_TPMT_TK_AUTH_PTR(value: 'TPMT_TK_AUTH') -> "TPMT_TK_AUTH *":
    return _esys_binding.copy_TPMT_TK_AUTH_PTR(value)
copy_TPMT_TK_AUTH_PTR = _esys_binding.copy_TPMT_TK_AUTH_PTR

def delete_TPMT_TK_AUTH_PTR(obj: 'TPMT_TK_AUTH') -> "void":
    return _esys_binding.delete_TPMT_TK_AUTH_PTR(obj)
delete_TPMT_TK_AUTH_PTR = _esys_binding.delete_TPMT_TK_AUTH_PTR

def TPMT_TK_AUTH_PTR_assign(obj: 'TPMT_TK_AUTH', value: 'TPMT_TK_AUTH') -> "void":
    return _esys_binding.TPMT_TK_AUTH_PTR_assign(obj, value)
TPMT_TK_AUTH_PTR_assign = _esys_binding.TPMT_TK_AUTH_PTR_assign

def TPMT_TK_AUTH_PTR_value(obj: 'TPMT_TK_AUTH') -> "TPMT_TK_AUTH":
    return _esys_binding.TPMT_TK_AUTH_PTR_value(obj)
TPMT_TK_AUTH_PTR_value = _esys_binding.TPMT_TK_AUTH_PTR_value

def new_TPMT_TK_AUTH_PTR_PTR() -> "TPMT_TK_AUTH **":
    return _esys_binding.new_TPMT_TK_AUTH_PTR_PTR()
new_TPMT_TK_AUTH_PTR_PTR = _esys_binding.new_TPMT_TK_AUTH_PTR_PTR

def copy_TPMT_TK_AUTH_PTR_PTR(value: 'TPMT_TK_AUTH') -> "TPMT_TK_AUTH **":
    return _esys_binding.copy_TPMT_TK_AUTH_PTR_PTR(value)
copy_TPMT_TK_AUTH_PTR_PTR = _esys_binding.copy_TPMT_TK_AUTH_PTR_PTR

def delete_TPMT_TK_AUTH_PTR_PTR(obj: 'TPMT_TK_AUTH **') -> "void":
    return _esys_binding.delete_TPMT_TK_AUTH_PTR_PTR(obj)
delete_TPMT_TK_AUTH_PTR_PTR = _esys_binding.delete_TPMT_TK_AUTH_PTR_PTR

def TPMT_TK_AUTH_PTR_PTR_assign(obj: 'TPMT_TK_AUTH **', value: 'TPMT_TK_AUTH') -> "void":
    return _esys_binding.TPMT_TK_AUTH_PTR_PTR_assign(obj, value)
TPMT_TK_AUTH_PTR_PTR_assign = _esys_binding.TPMT_TK_AUTH_PTR_PTR_assign

def TPMT_TK_AUTH_PTR_PTR_value(obj: 'TPMT_TK_AUTH **') -> "TPMT_TK_AUTH *":
    return _esys_binding.TPMT_TK_AUTH_PTR_PTR_value(obj)
TPMT_TK_AUTH_PTR_PTR_value = _esys_binding.TPMT_TK_AUTH_PTR_PTR_value
sizeof_TPMT_TK_HASHCHECK = _esys_binding.sizeof_TPMT_TK_HASHCHECK

def new_TPMT_TK_HASHCHECK_PTR() -> "TPMT_TK_HASHCHECK *":
    return _esys_binding.new_TPMT_TK_HASHCHECK_PTR()
new_TPMT_TK_HASHCHECK_PTR = _esys_binding.new_TPMT_TK_HASHCHECK_PTR

def copy_TPMT_TK_HASHCHECK_PTR(value: 'TPMT_TK_HASHCHECK') -> "TPMT_TK_HASHCHECK *":
    return _esys_binding.copy_TPMT_TK_HASHCHECK_PTR(value)
copy_TPMT_TK_HASHCHECK_PTR = _esys_binding.copy_TPMT_TK_HASHCHECK_PTR

def delete_TPMT_TK_HASHCHECK_PTR(obj: 'TPMT_TK_HASHCHECK') -> "void":
    return _esys_binding.delete_TPMT_TK_HASHCHECK_PTR(obj)
delete_TPMT_TK_HASHCHECK_PTR = _esys_binding.delete_TPMT_TK_HASHCHECK_PTR

def TPMT_TK_HASHCHECK_PTR_assign(obj: 'TPMT_TK_HASHCHECK', value: 'TPMT_TK_HASHCHECK') -> "void":
    return _esys_binding.TPMT_TK_HASHCHECK_PTR_assign(obj, value)
TPMT_TK_HASHCHECK_PTR_assign = _esys_binding.TPMT_TK_HASHCHECK_PTR_assign

def TPMT_TK_HASHCHECK_PTR_value(obj: 'TPMT_TK_HASHCHECK') -> "TPMT_TK_HASHCHECK":
    return _esys_binding.TPMT_TK_HASHCHECK_PTR_value(obj)
TPMT_TK_HASHCHECK_PTR_value = _esys_binding.TPMT_TK_HASHCHECK_PTR_value

def new_TPMT_TK_HASHCHECK_PTR_PTR() -> "TPMT_TK_HASHCHECK **":
    return _esys_binding.new_TPMT_TK_HASHCHECK_PTR_PTR()
new_TPMT_TK_HASHCHECK_PTR_PTR = _esys_binding.new_TPMT_TK_HASHCHECK_PTR_PTR

def copy_TPMT_TK_HASHCHECK_PTR_PTR(value: 'TPMT_TK_HASHCHECK') -> "TPMT_TK_HASHCHECK **":
    return _esys_binding.copy_TPMT_TK_HASHCHECK_PTR_PTR(value)
copy_TPMT_TK_HASHCHECK_PTR_PTR = _esys_binding.copy_TPMT_TK_HASHCHECK_PTR_PTR

def delete_TPMT_TK_HASHCHECK_PTR_PTR(obj: 'TPMT_TK_HASHCHECK **') -> "void":
    return _esys_binding.delete_TPMT_TK_HASHCHECK_PTR_PTR(obj)
delete_TPMT_TK_HASHCHECK_PTR_PTR = _esys_binding.delete_TPMT_TK_HASHCHECK_PTR_PTR

def TPMT_TK_HASHCHECK_PTR_PTR_assign(obj: 'TPMT_TK_HASHCHECK **', value: 'TPMT_TK_HASHCHECK') -> "void":
    return _esys_binding.TPMT_TK_HASHCHECK_PTR_PTR_assign(obj, value)
TPMT_TK_HASHCHECK_PTR_PTR_assign = _esys_binding.TPMT_TK_HASHCHECK_PTR_PTR_assign

def TPMT_TK_HASHCHECK_PTR_PTR_value(obj: 'TPMT_TK_HASHCHECK **') -> "TPMT_TK_HASHCHECK *":
    return _esys_binding.TPMT_TK_HASHCHECK_PTR_PTR_value(obj)
TPMT_TK_HASHCHECK_PTR_PTR_value = _esys_binding.TPMT_TK_HASHCHECK_PTR_PTR_value
sizeof_TPMS_ALG_PROPERTY = _esys_binding.sizeof_TPMS_ALG_PROPERTY

def new_TPMS_ALG_PROPERTY_PTR() -> "TPMS_ALG_PROPERTY *":
    return _esys_binding.new_TPMS_ALG_PROPERTY_PTR()
new_TPMS_ALG_PROPERTY_PTR = _esys_binding.new_TPMS_ALG_PROPERTY_PTR

def copy_TPMS_ALG_PROPERTY_PTR(value: 'TPMS_ALG_PROPERTY') -> "TPMS_ALG_PROPERTY *":
    return _esys_binding.copy_TPMS_ALG_PROPERTY_PTR(value)
copy_TPMS_ALG_PROPERTY_PTR = _esys_binding.copy_TPMS_ALG_PROPERTY_PTR

def delete_TPMS_ALG_PROPERTY_PTR(obj: 'TPMS_ALG_PROPERTY') -> "void":
    return _esys_binding.delete_TPMS_ALG_PROPERTY_PTR(obj)
delete_TPMS_ALG_PROPERTY_PTR = _esys_binding.delete_TPMS_ALG_PROPERTY_PTR

def TPMS_ALG_PROPERTY_PTR_assign(obj: 'TPMS_ALG_PROPERTY', value: 'TPMS_ALG_PROPERTY') -> "void":
    return _esys_binding.TPMS_ALG_PROPERTY_PTR_assign(obj, value)
TPMS_ALG_PROPERTY_PTR_assign = _esys_binding.TPMS_ALG_PROPERTY_PTR_assign

def TPMS_ALG_PROPERTY_PTR_value(obj: 'TPMS_ALG_PROPERTY') -> "TPMS_ALG_PROPERTY":
    return _esys_binding.TPMS_ALG_PROPERTY_PTR_value(obj)
TPMS_ALG_PROPERTY_PTR_value = _esys_binding.TPMS_ALG_PROPERTY_PTR_value

def new_TPMS_ALG_PROPERTY_PTR_PTR() -> "TPMS_ALG_PROPERTY **":
    return _esys_binding.new_TPMS_ALG_PROPERTY_PTR_PTR()
new_TPMS_ALG_PROPERTY_PTR_PTR = _esys_binding.new_TPMS_ALG_PROPERTY_PTR_PTR

def copy_TPMS_ALG_PROPERTY_PTR_PTR(value: 'TPMS_ALG_PROPERTY') -> "TPMS_ALG_PROPERTY **":
    return _esys_binding.copy_TPMS_ALG_PROPERTY_PTR_PTR(value)
copy_TPMS_ALG_PROPERTY_PTR_PTR = _esys_binding.copy_TPMS_ALG_PROPERTY_PTR_PTR

def delete_TPMS_ALG_PROPERTY_PTR_PTR(obj: 'TPMS_ALG_PROPERTY **') -> "void":
    return _esys_binding.delete_TPMS_ALG_PROPERTY_PTR_PTR(obj)
delete_TPMS_ALG_PROPERTY_PTR_PTR = _esys_binding.delete_TPMS_ALG_PROPERTY_PTR_PTR

def TPMS_ALG_PROPERTY_PTR_PTR_assign(obj: 'TPMS_ALG_PROPERTY **', value: 'TPMS_ALG_PROPERTY') -> "void":
    return _esys_binding.TPMS_ALG_PROPERTY_PTR_PTR_assign(obj, value)
TPMS_ALG_PROPERTY_PTR_PTR_assign = _esys_binding.TPMS_ALG_PROPERTY_PTR_PTR_assign

def TPMS_ALG_PROPERTY_PTR_PTR_value(obj: 'TPMS_ALG_PROPERTY **') -> "TPMS_ALG_PROPERTY *":
    return _esys_binding.TPMS_ALG_PROPERTY_PTR_PTR_value(obj)
TPMS_ALG_PROPERTY_PTR_PTR_value = _esys_binding.TPMS_ALG_PROPERTY_PTR_PTR_value
sizeof_TPMS_TAGGED_PROPERTY = _esys_binding.sizeof_TPMS_TAGGED_PROPERTY

def new_TPMS_TAGGED_PROPERTY_PTR() -> "TPMS_TAGGED_PROPERTY *":
    return _esys_binding.new_TPMS_TAGGED_PROPERTY_PTR()
new_TPMS_TAGGED_PROPERTY_PTR = _esys_binding.new_TPMS_TAGGED_PROPERTY_PTR

def copy_TPMS_TAGGED_PROPERTY_PTR(value: 'TPMS_TAGGED_PROPERTY') -> "TPMS_TAGGED_PROPERTY *":
    return _esys_binding.copy_TPMS_TAGGED_PROPERTY_PTR(value)
copy_TPMS_TAGGED_PROPERTY_PTR = _esys_binding.copy_TPMS_TAGGED_PROPERTY_PTR

def delete_TPMS_TAGGED_PROPERTY_PTR(obj: 'TPMS_TAGGED_PROPERTY') -> "void":
    return _esys_binding.delete_TPMS_TAGGED_PROPERTY_PTR(obj)
delete_TPMS_TAGGED_PROPERTY_PTR = _esys_binding.delete_TPMS_TAGGED_PROPERTY_PTR

def TPMS_TAGGED_PROPERTY_PTR_assign(obj: 'TPMS_TAGGED_PROPERTY', value: 'TPMS_TAGGED_PROPERTY') -> "void":
    return _esys_binding.TPMS_TAGGED_PROPERTY_PTR_assign(obj, value)
TPMS_TAGGED_PROPERTY_PTR_assign = _esys_binding.TPMS_TAGGED_PROPERTY_PTR_assign

def TPMS_TAGGED_PROPERTY_PTR_value(obj: 'TPMS_TAGGED_PROPERTY') -> "TPMS_TAGGED_PROPERTY":
    return _esys_binding.TPMS_TAGGED_PROPERTY_PTR_value(obj)
TPMS_TAGGED_PROPERTY_PTR_value = _esys_binding.TPMS_TAGGED_PROPERTY_PTR_value

def new_TPMS_TAGGED_PROPERTY_PTR_PTR() -> "TPMS_TAGGED_PROPERTY **":
    return _esys_binding.new_TPMS_TAGGED_PROPERTY_PTR_PTR()
new_TPMS_TAGGED_PROPERTY_PTR_PTR = _esys_binding.new_TPMS_TAGGED_PROPERTY_PTR_PTR

def copy_TPMS_TAGGED_PROPERTY_PTR_PTR(value: 'TPMS_TAGGED_PROPERTY') -> "TPMS_TAGGED_PROPERTY **":
    return _esys_binding.copy_TPMS_TAGGED_PROPERTY_PTR_PTR(value)
copy_TPMS_TAGGED_PROPERTY_PTR_PTR = _esys_binding.copy_TPMS_TAGGED_PROPERTY_PTR_PTR

def delete_TPMS_TAGGED_PROPERTY_PTR_PTR(obj: 'TPMS_TAGGED_PROPERTY **') -> "void":
    return _esys_binding.delete_TPMS_TAGGED_PROPERTY_PTR_PTR(obj)
delete_TPMS_TAGGED_PROPERTY_PTR_PTR = _esys_binding.delete_TPMS_TAGGED_PROPERTY_PTR_PTR

def TPMS_TAGGED_PROPERTY_PTR_PTR_assign(obj: 'TPMS_TAGGED_PROPERTY **', value: 'TPMS_TAGGED_PROPERTY') -> "void":
    return _esys_binding.TPMS_TAGGED_PROPERTY_PTR_PTR_assign(obj, value)
TPMS_TAGGED_PROPERTY_PTR_PTR_assign = _esys_binding.TPMS_TAGGED_PROPERTY_PTR_PTR_assign

def TPMS_TAGGED_PROPERTY_PTR_PTR_value(obj: 'TPMS_TAGGED_PROPERTY **') -> "TPMS_TAGGED_PROPERTY *":
    return _esys_binding.TPMS_TAGGED_PROPERTY_PTR_PTR_value(obj)
TPMS_TAGGED_PROPERTY_PTR_PTR_value = _esys_binding.TPMS_TAGGED_PROPERTY_PTR_PTR_value
sizeof_TPMS_TAGGED_PCR_SELECT = _esys_binding.sizeof_TPMS_TAGGED_PCR_SELECT

def new_TPMS_TAGGED_PCR_SELECT_PTR() -> "TPMS_TAGGED_PCR_SELECT *":
    return _esys_binding.new_TPMS_TAGGED_PCR_SELECT_PTR()
new_TPMS_TAGGED_PCR_SELECT_PTR = _esys_binding.new_TPMS_TAGGED_PCR_SELECT_PTR

def copy_TPMS_TAGGED_PCR_SELECT_PTR(value: 'TPMS_TAGGED_PCR_SELECT') -> "TPMS_TAGGED_PCR_SELECT *":
    return _esys_binding.copy_TPMS_TAGGED_PCR_SELECT_PTR(value)
copy_TPMS_TAGGED_PCR_SELECT_PTR = _esys_binding.copy_TPMS_TAGGED_PCR_SELECT_PTR

def delete_TPMS_TAGGED_PCR_SELECT_PTR(obj: 'TPMS_TAGGED_PCR_SELECT') -> "void":
    return _esys_binding.delete_TPMS_TAGGED_PCR_SELECT_PTR(obj)
delete_TPMS_TAGGED_PCR_SELECT_PTR = _esys_binding.delete_TPMS_TAGGED_PCR_SELECT_PTR

def TPMS_TAGGED_PCR_SELECT_PTR_assign(obj: 'TPMS_TAGGED_PCR_SELECT', value: 'TPMS_TAGGED_PCR_SELECT') -> "void":
    return _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_assign(obj, value)
TPMS_TAGGED_PCR_SELECT_PTR_assign = _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_assign

def TPMS_TAGGED_PCR_SELECT_PTR_value(obj: 'TPMS_TAGGED_PCR_SELECT') -> "TPMS_TAGGED_PCR_SELECT":
    return _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_value(obj)
TPMS_TAGGED_PCR_SELECT_PTR_value = _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_value

def new_TPMS_TAGGED_PCR_SELECT_PTR_PTR() -> "TPMS_TAGGED_PCR_SELECT **":
    return _esys_binding.new_TPMS_TAGGED_PCR_SELECT_PTR_PTR()
new_TPMS_TAGGED_PCR_SELECT_PTR_PTR = _esys_binding.new_TPMS_TAGGED_PCR_SELECT_PTR_PTR

def copy_TPMS_TAGGED_PCR_SELECT_PTR_PTR(value: 'TPMS_TAGGED_PCR_SELECT') -> "TPMS_TAGGED_PCR_SELECT **":
    return _esys_binding.copy_TPMS_TAGGED_PCR_SELECT_PTR_PTR(value)
copy_TPMS_TAGGED_PCR_SELECT_PTR_PTR = _esys_binding.copy_TPMS_TAGGED_PCR_SELECT_PTR_PTR

def delete_TPMS_TAGGED_PCR_SELECT_PTR_PTR(obj: 'TPMS_TAGGED_PCR_SELECT **') -> "void":
    return _esys_binding.delete_TPMS_TAGGED_PCR_SELECT_PTR_PTR(obj)
delete_TPMS_TAGGED_PCR_SELECT_PTR_PTR = _esys_binding.delete_TPMS_TAGGED_PCR_SELECT_PTR_PTR

def TPMS_TAGGED_PCR_SELECT_PTR_PTR_assign(obj: 'TPMS_TAGGED_PCR_SELECT **', value: 'TPMS_TAGGED_PCR_SELECT') -> "void":
    return _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_PTR_assign(obj, value)
TPMS_TAGGED_PCR_SELECT_PTR_PTR_assign = _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_PTR_assign

def TPMS_TAGGED_PCR_SELECT_PTR_PTR_value(obj: 'TPMS_TAGGED_PCR_SELECT **') -> "TPMS_TAGGED_PCR_SELECT *":
    return _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_PTR_value(obj)
TPMS_TAGGED_PCR_SELECT_PTR_PTR_value = _esys_binding.TPMS_TAGGED_PCR_SELECT_PTR_PTR_value
sizeof_TPMS_TAGGED_POLICY = _esys_binding.sizeof_TPMS_TAGGED_POLICY

def new_TPMS_TAGGED_POLICY_PTR() -> "TPMS_TAGGED_POLICY *":
    return _esys_binding.new_TPMS_TAGGED_POLICY_PTR()
new_TPMS_TAGGED_POLICY_PTR = _esys_binding.new_TPMS_TAGGED_POLICY_PTR

def copy_TPMS_TAGGED_POLICY_PTR(value: 'TPMS_TAGGED_POLICY') -> "TPMS_TAGGED_POLICY *":
    return _esys_binding.copy_TPMS_TAGGED_POLICY_PTR(value)
copy_TPMS_TAGGED_POLICY_PTR = _esys_binding.copy_TPMS_TAGGED_POLICY_PTR

def delete_TPMS_TAGGED_POLICY_PTR(obj: 'TPMS_TAGGED_POLICY') -> "void":
    return _esys_binding.delete_TPMS_TAGGED_POLICY_PTR(obj)
delete_TPMS_TAGGED_POLICY_PTR = _esys_binding.delete_TPMS_TAGGED_POLICY_PTR

def TPMS_TAGGED_POLICY_PTR_assign(obj: 'TPMS_TAGGED_POLICY', value: 'TPMS_TAGGED_POLICY') -> "void":
    return _esys_binding.TPMS_TAGGED_POLICY_PTR_assign(obj, value)
TPMS_TAGGED_POLICY_PTR_assign = _esys_binding.TPMS_TAGGED_POLICY_PTR_assign

def TPMS_TAGGED_POLICY_PTR_value(obj: 'TPMS_TAGGED_POLICY') -> "TPMS_TAGGED_POLICY":
    return _esys_binding.TPMS_TAGGED_POLICY_PTR_value(obj)
TPMS_TAGGED_POLICY_PTR_value = _esys_binding.TPMS_TAGGED_POLICY_PTR_value

def new_TPMS_TAGGED_POLICY_PTR_PTR() -> "TPMS_TAGGED_POLICY **":
    return _esys_binding.new_TPMS_TAGGED_POLICY_PTR_PTR()
new_TPMS_TAGGED_POLICY_PTR_PTR = _esys_binding.new_TPMS_TAGGED_POLICY_PTR_PTR

def copy_TPMS_TAGGED_POLICY_PTR_PTR(value: 'TPMS_TAGGED_POLICY') -> "TPMS_TAGGED_POLICY **":
    return _esys_binding.copy_TPMS_TAGGED_POLICY_PTR_PTR(value)
copy_TPMS_TAGGED_POLICY_PTR_PTR = _esys_binding.copy_TPMS_TAGGED_POLICY_PTR_PTR

def delete_TPMS_TAGGED_POLICY_PTR_PTR(obj: 'TPMS_TAGGED_POLICY **') -> "void":
    return _esys_binding.delete_TPMS_TAGGED_POLICY_PTR_PTR(obj)
delete_TPMS_TAGGED_POLICY_PTR_PTR = _esys_binding.delete_TPMS_TAGGED_POLICY_PTR_PTR

def TPMS_TAGGED_POLICY_PTR_PTR_assign(obj: 'TPMS_TAGGED_POLICY **', value: 'TPMS_TAGGED_POLICY') -> "void":
    return _esys_binding.TPMS_TAGGED_POLICY_PTR_PTR_assign(obj, value)
TPMS_TAGGED_POLICY_PTR_PTR_assign = _esys_binding.TPMS_TAGGED_POLICY_PTR_PTR_assign

def TPMS_TAGGED_POLICY_PTR_PTR_value(obj: 'TPMS_TAGGED_POLICY **') -> "TPMS_TAGGED_POLICY *":
    return _esys_binding.TPMS_TAGGED_POLICY_PTR_PTR_value(obj)
TPMS_TAGGED_POLICY_PTR_PTR_value = _esys_binding.TPMS_TAGGED_POLICY_PTR_PTR_value
sizeof_TPML_CC = _esys_binding.sizeof_TPML_CC

def new_TPML_CC_PTR() -> "TPML_CC *":
    return _esys_binding.new_TPML_CC_PTR()
new_TPML_CC_PTR = _esys_binding.new_TPML_CC_PTR

def copy_TPML_CC_PTR(value: 'TPML_CC') -> "TPML_CC *":
    return _esys_binding.copy_TPML_CC_PTR(value)
copy_TPML_CC_PTR = _esys_binding.copy_TPML_CC_PTR

def delete_TPML_CC_PTR(obj: 'TPML_CC') -> "void":
    return _esys_binding.delete_TPML_CC_PTR(obj)
delete_TPML_CC_PTR = _esys_binding.delete_TPML_CC_PTR

def TPML_CC_PTR_assign(obj: 'TPML_CC', value: 'TPML_CC') -> "void":
    return _esys_binding.TPML_CC_PTR_assign(obj, value)
TPML_CC_PTR_assign = _esys_binding.TPML_CC_PTR_assign

def TPML_CC_PTR_value(obj: 'TPML_CC') -> "TPML_CC":
    return _esys_binding.TPML_CC_PTR_value(obj)
TPML_CC_PTR_value = _esys_binding.TPML_CC_PTR_value

def new_TPML_CC_PTR_PTR() -> "TPML_CC **":
    return _esys_binding.new_TPML_CC_PTR_PTR()
new_TPML_CC_PTR_PTR = _esys_binding.new_TPML_CC_PTR_PTR

def copy_TPML_CC_PTR_PTR(value: 'TPML_CC') -> "TPML_CC **":
    return _esys_binding.copy_TPML_CC_PTR_PTR(value)
copy_TPML_CC_PTR_PTR = _esys_binding.copy_TPML_CC_PTR_PTR

def delete_TPML_CC_PTR_PTR(obj: 'TPML_CC **') -> "void":
    return _esys_binding.delete_TPML_CC_PTR_PTR(obj)
delete_TPML_CC_PTR_PTR = _esys_binding.delete_TPML_CC_PTR_PTR

def TPML_CC_PTR_PTR_assign(obj: 'TPML_CC **', value: 'TPML_CC') -> "void":
    return _esys_binding.TPML_CC_PTR_PTR_assign(obj, value)
TPML_CC_PTR_PTR_assign = _esys_binding.TPML_CC_PTR_PTR_assign

def TPML_CC_PTR_PTR_value(obj: 'TPML_CC **') -> "TPML_CC *":
    return _esys_binding.TPML_CC_PTR_PTR_value(obj)
TPML_CC_PTR_PTR_value = _esys_binding.TPML_CC_PTR_PTR_value
sizeof_TPML_CCA = _esys_binding.sizeof_TPML_CCA

def new_TPML_CCA_PTR() -> "TPML_CCA *":
    return _esys_binding.new_TPML_CCA_PTR()
new_TPML_CCA_PTR = _esys_binding.new_TPML_CCA_PTR

def copy_TPML_CCA_PTR(value: 'TPML_CCA') -> "TPML_CCA *":
    return _esys_binding.copy_TPML_CCA_PTR(value)
copy_TPML_CCA_PTR = _esys_binding.copy_TPML_CCA_PTR

def delete_TPML_CCA_PTR(obj: 'TPML_CCA') -> "void":
    return _esys_binding.delete_TPML_CCA_PTR(obj)
delete_TPML_CCA_PTR = _esys_binding.delete_TPML_CCA_PTR

def TPML_CCA_PTR_assign(obj: 'TPML_CCA', value: 'TPML_CCA') -> "void":
    return _esys_binding.TPML_CCA_PTR_assign(obj, value)
TPML_CCA_PTR_assign = _esys_binding.TPML_CCA_PTR_assign

def TPML_CCA_PTR_value(obj: 'TPML_CCA') -> "TPML_CCA":
    return _esys_binding.TPML_CCA_PTR_value(obj)
TPML_CCA_PTR_value = _esys_binding.TPML_CCA_PTR_value

def new_TPML_CCA_PTR_PTR() -> "TPML_CCA **":
    return _esys_binding.new_TPML_CCA_PTR_PTR()
new_TPML_CCA_PTR_PTR = _esys_binding.new_TPML_CCA_PTR_PTR

def copy_TPML_CCA_PTR_PTR(value: 'TPML_CCA') -> "TPML_CCA **":
    return _esys_binding.copy_TPML_CCA_PTR_PTR(value)
copy_TPML_CCA_PTR_PTR = _esys_binding.copy_TPML_CCA_PTR_PTR

def delete_TPML_CCA_PTR_PTR(obj: 'TPML_CCA **') -> "void":
    return _esys_binding.delete_TPML_CCA_PTR_PTR(obj)
delete_TPML_CCA_PTR_PTR = _esys_binding.delete_TPML_CCA_PTR_PTR

def TPML_CCA_PTR_PTR_assign(obj: 'TPML_CCA **', value: 'TPML_CCA') -> "void":
    return _esys_binding.TPML_CCA_PTR_PTR_assign(obj, value)
TPML_CCA_PTR_PTR_assign = _esys_binding.TPML_CCA_PTR_PTR_assign

def TPML_CCA_PTR_PTR_value(obj: 'TPML_CCA **') -> "TPML_CCA *":
    return _esys_binding.TPML_CCA_PTR_PTR_value(obj)
TPML_CCA_PTR_PTR_value = _esys_binding.TPML_CCA_PTR_PTR_value
sizeof_TPML_ALG = _esys_binding.sizeof_TPML_ALG

def new_TPML_ALG_PTR() -> "TPML_ALG *":
    return _esys_binding.new_TPML_ALG_PTR()
new_TPML_ALG_PTR = _esys_binding.new_TPML_ALG_PTR

def copy_TPML_ALG_PTR(value: 'TPML_ALG') -> "TPML_ALG *":
    return _esys_binding.copy_TPML_ALG_PTR(value)
copy_TPML_ALG_PTR = _esys_binding.copy_TPML_ALG_PTR

def delete_TPML_ALG_PTR(obj: 'TPML_ALG') -> "void":
    return _esys_binding.delete_TPML_ALG_PTR(obj)
delete_TPML_ALG_PTR = _esys_binding.delete_TPML_ALG_PTR

def TPML_ALG_PTR_assign(obj: 'TPML_ALG', value: 'TPML_ALG') -> "void":
    return _esys_binding.TPML_ALG_PTR_assign(obj, value)
TPML_ALG_PTR_assign = _esys_binding.TPML_ALG_PTR_assign

def TPML_ALG_PTR_value(obj: 'TPML_ALG') -> "TPML_ALG":
    return _esys_binding.TPML_ALG_PTR_value(obj)
TPML_ALG_PTR_value = _esys_binding.TPML_ALG_PTR_value

def new_TPML_ALG_PTR_PTR() -> "TPML_ALG **":
    return _esys_binding.new_TPML_ALG_PTR_PTR()
new_TPML_ALG_PTR_PTR = _esys_binding.new_TPML_ALG_PTR_PTR

def copy_TPML_ALG_PTR_PTR(value: 'TPML_ALG') -> "TPML_ALG **":
    return _esys_binding.copy_TPML_ALG_PTR_PTR(value)
copy_TPML_ALG_PTR_PTR = _esys_binding.copy_TPML_ALG_PTR_PTR

def delete_TPML_ALG_PTR_PTR(obj: 'TPML_ALG **') -> "void":
    return _esys_binding.delete_TPML_ALG_PTR_PTR(obj)
delete_TPML_ALG_PTR_PTR = _esys_binding.delete_TPML_ALG_PTR_PTR

def TPML_ALG_PTR_PTR_assign(obj: 'TPML_ALG **', value: 'TPML_ALG') -> "void":
    return _esys_binding.TPML_ALG_PTR_PTR_assign(obj, value)
TPML_ALG_PTR_PTR_assign = _esys_binding.TPML_ALG_PTR_PTR_assign

def TPML_ALG_PTR_PTR_value(obj: 'TPML_ALG **') -> "TPML_ALG *":
    return _esys_binding.TPML_ALG_PTR_PTR_value(obj)
TPML_ALG_PTR_PTR_value = _esys_binding.TPML_ALG_PTR_PTR_value
sizeof_TPML_HANDLE = _esys_binding.sizeof_TPML_HANDLE

def new_TPML_HANDLE_PTR() -> "TPML_HANDLE *":
    return _esys_binding.new_TPML_HANDLE_PTR()
new_TPML_HANDLE_PTR = _esys_binding.new_TPML_HANDLE_PTR

def copy_TPML_HANDLE_PTR(value: 'TPML_HANDLE') -> "TPML_HANDLE *":
    return _esys_binding.copy_TPML_HANDLE_PTR(value)
copy_TPML_HANDLE_PTR = _esys_binding.copy_TPML_HANDLE_PTR

def delete_TPML_HANDLE_PTR(obj: 'TPML_HANDLE') -> "void":
    return _esys_binding.delete_TPML_HANDLE_PTR(obj)
delete_TPML_HANDLE_PTR = _esys_binding.delete_TPML_HANDLE_PTR

def TPML_HANDLE_PTR_assign(obj: 'TPML_HANDLE', value: 'TPML_HANDLE') -> "void":
    return _esys_binding.TPML_HANDLE_PTR_assign(obj, value)
TPML_HANDLE_PTR_assign = _esys_binding.TPML_HANDLE_PTR_assign

def TPML_HANDLE_PTR_value(obj: 'TPML_HANDLE') -> "TPML_HANDLE":
    return _esys_binding.TPML_HANDLE_PTR_value(obj)
TPML_HANDLE_PTR_value = _esys_binding.TPML_HANDLE_PTR_value

def new_TPML_HANDLE_PTR_PTR() -> "TPML_HANDLE **":
    return _esys_binding.new_TPML_HANDLE_PTR_PTR()
new_TPML_HANDLE_PTR_PTR = _esys_binding.new_TPML_HANDLE_PTR_PTR

def copy_TPML_HANDLE_PTR_PTR(value: 'TPML_HANDLE') -> "TPML_HANDLE **":
    return _esys_binding.copy_TPML_HANDLE_PTR_PTR(value)
copy_TPML_HANDLE_PTR_PTR = _esys_binding.copy_TPML_HANDLE_PTR_PTR

def delete_TPML_HANDLE_PTR_PTR(obj: 'TPML_HANDLE **') -> "void":
    return _esys_binding.delete_TPML_HANDLE_PTR_PTR(obj)
delete_TPML_HANDLE_PTR_PTR = _esys_binding.delete_TPML_HANDLE_PTR_PTR

def TPML_HANDLE_PTR_PTR_assign(obj: 'TPML_HANDLE **', value: 'TPML_HANDLE') -> "void":
    return _esys_binding.TPML_HANDLE_PTR_PTR_assign(obj, value)
TPML_HANDLE_PTR_PTR_assign = _esys_binding.TPML_HANDLE_PTR_PTR_assign

def TPML_HANDLE_PTR_PTR_value(obj: 'TPML_HANDLE **') -> "TPML_HANDLE *":
    return _esys_binding.TPML_HANDLE_PTR_PTR_value(obj)
TPML_HANDLE_PTR_PTR_value = _esys_binding.TPML_HANDLE_PTR_PTR_value
sizeof_TPML_DIGEST = _esys_binding.sizeof_TPML_DIGEST

def new_TPML_DIGEST_PTR() -> "TPML_DIGEST *":
    return _esys_binding.new_TPML_DIGEST_PTR()
new_TPML_DIGEST_PTR = _esys_binding.new_TPML_DIGEST_PTR

def copy_TPML_DIGEST_PTR(value: 'TPML_DIGEST') -> "TPML_DIGEST *":
    return _esys_binding.copy_TPML_DIGEST_PTR(value)
copy_TPML_DIGEST_PTR = _esys_binding.copy_TPML_DIGEST_PTR

def delete_TPML_DIGEST_PTR(obj: 'TPML_DIGEST') -> "void":
    return _esys_binding.delete_TPML_DIGEST_PTR(obj)
delete_TPML_DIGEST_PTR = _esys_binding.delete_TPML_DIGEST_PTR

def TPML_DIGEST_PTR_assign(obj: 'TPML_DIGEST', value: 'TPML_DIGEST') -> "void":
    return _esys_binding.TPML_DIGEST_PTR_assign(obj, value)
TPML_DIGEST_PTR_assign = _esys_binding.TPML_DIGEST_PTR_assign

def TPML_DIGEST_PTR_value(obj: 'TPML_DIGEST') -> "TPML_DIGEST":
    return _esys_binding.TPML_DIGEST_PTR_value(obj)
TPML_DIGEST_PTR_value = _esys_binding.TPML_DIGEST_PTR_value

def new_TPML_DIGEST_PTR_PTR() -> "TPML_DIGEST **":
    return _esys_binding.new_TPML_DIGEST_PTR_PTR()
new_TPML_DIGEST_PTR_PTR = _esys_binding.new_TPML_DIGEST_PTR_PTR

def copy_TPML_DIGEST_PTR_PTR(value: 'TPML_DIGEST') -> "TPML_DIGEST **":
    return _esys_binding.copy_TPML_DIGEST_PTR_PTR(value)
copy_TPML_DIGEST_PTR_PTR = _esys_binding.copy_TPML_DIGEST_PTR_PTR

def delete_TPML_DIGEST_PTR_PTR(obj: 'TPML_DIGEST **') -> "void":
    return _esys_binding.delete_TPML_DIGEST_PTR_PTR(obj)
delete_TPML_DIGEST_PTR_PTR = _esys_binding.delete_TPML_DIGEST_PTR_PTR

def TPML_DIGEST_PTR_PTR_assign(obj: 'TPML_DIGEST **', value: 'TPML_DIGEST') -> "void":
    return _esys_binding.TPML_DIGEST_PTR_PTR_assign(obj, value)
TPML_DIGEST_PTR_PTR_assign = _esys_binding.TPML_DIGEST_PTR_PTR_assign

def TPML_DIGEST_PTR_PTR_value(obj: 'TPML_DIGEST **') -> "TPML_DIGEST *":
    return _esys_binding.TPML_DIGEST_PTR_PTR_value(obj)
TPML_DIGEST_PTR_PTR_value = _esys_binding.TPML_DIGEST_PTR_PTR_value
sizeof_TPML_DIGEST_VALUES = _esys_binding.sizeof_TPML_DIGEST_VALUES

def new_TPML_DIGEST_VALUES_PTR() -> "TPML_DIGEST_VALUES *":
    return _esys_binding.new_TPML_DIGEST_VALUES_PTR()
new_TPML_DIGEST_VALUES_PTR = _esys_binding.new_TPML_DIGEST_VALUES_PTR

def copy_TPML_DIGEST_VALUES_PTR(value: 'TPML_DIGEST_VALUES') -> "TPML_DIGEST_VALUES *":
    return _esys_binding.copy_TPML_DIGEST_VALUES_PTR(value)
copy_TPML_DIGEST_VALUES_PTR = _esys_binding.copy_TPML_DIGEST_VALUES_PTR

def delete_TPML_DIGEST_VALUES_PTR(obj: 'TPML_DIGEST_VALUES') -> "void":
    return _esys_binding.delete_TPML_DIGEST_VALUES_PTR(obj)
delete_TPML_DIGEST_VALUES_PTR = _esys_binding.delete_TPML_DIGEST_VALUES_PTR

def TPML_DIGEST_VALUES_PTR_assign(obj: 'TPML_DIGEST_VALUES', value: 'TPML_DIGEST_VALUES') -> "void":
    return _esys_binding.TPML_DIGEST_VALUES_PTR_assign(obj, value)
TPML_DIGEST_VALUES_PTR_assign = _esys_binding.TPML_DIGEST_VALUES_PTR_assign

def TPML_DIGEST_VALUES_PTR_value(obj: 'TPML_DIGEST_VALUES') -> "TPML_DIGEST_VALUES":
    return _esys_binding.TPML_DIGEST_VALUES_PTR_value(obj)
TPML_DIGEST_VALUES_PTR_value = _esys_binding.TPML_DIGEST_VALUES_PTR_value

def new_TPML_DIGEST_VALUES_PTR_PTR() -> "TPML_DIGEST_VALUES **":
    return _esys_binding.new_TPML_DIGEST_VALUES_PTR_PTR()
new_TPML_DIGEST_VALUES_PTR_PTR = _esys_binding.new_TPML_DIGEST_VALUES_PTR_PTR

def copy_TPML_DIGEST_VALUES_PTR_PTR(value: 'TPML_DIGEST_VALUES') -> "TPML_DIGEST_VALUES **":
    return _esys_binding.copy_TPML_DIGEST_VALUES_PTR_PTR(value)
copy_TPML_DIGEST_VALUES_PTR_PTR = _esys_binding.copy_TPML_DIGEST_VALUES_PTR_PTR

def delete_TPML_DIGEST_VALUES_PTR_PTR(obj: 'TPML_DIGEST_VALUES **') -> "void":
    return _esys_binding.delete_TPML_DIGEST_VALUES_PTR_PTR(obj)
delete_TPML_DIGEST_VALUES_PTR_PTR = _esys_binding.delete_TPML_DIGEST_VALUES_PTR_PTR

def TPML_DIGEST_VALUES_PTR_PTR_assign(obj: 'TPML_DIGEST_VALUES **', value: 'TPML_DIGEST_VALUES') -> "void":
    return _esys_binding.TPML_DIGEST_VALUES_PTR_PTR_assign(obj, value)
TPML_DIGEST_VALUES_PTR_PTR_assign = _esys_binding.TPML_DIGEST_VALUES_PTR_PTR_assign

def TPML_DIGEST_VALUES_PTR_PTR_value(obj: 'TPML_DIGEST_VALUES **') -> "TPML_DIGEST_VALUES *":
    return _esys_binding.TPML_DIGEST_VALUES_PTR_PTR_value(obj)
TPML_DIGEST_VALUES_PTR_PTR_value = _esys_binding.TPML_DIGEST_VALUES_PTR_PTR_value
sizeof_TPML_PCR_SELECTION = _esys_binding.sizeof_TPML_PCR_SELECTION

def new_TPML_PCR_SELECTION_PTR() -> "TPML_PCR_SELECTION *":
    return _esys_binding.new_TPML_PCR_SELECTION_PTR()
new_TPML_PCR_SELECTION_PTR = _esys_binding.new_TPML_PCR_SELECTION_PTR

def copy_TPML_PCR_SELECTION_PTR(value: 'TPML_PCR_SELECTION') -> "TPML_PCR_SELECTION *":
    return _esys_binding.copy_TPML_PCR_SELECTION_PTR(value)
copy_TPML_PCR_SELECTION_PTR = _esys_binding.copy_TPML_PCR_SELECTION_PTR

def delete_TPML_PCR_SELECTION_PTR(obj: 'TPML_PCR_SELECTION') -> "void":
    return _esys_binding.delete_TPML_PCR_SELECTION_PTR(obj)
delete_TPML_PCR_SELECTION_PTR = _esys_binding.delete_TPML_PCR_SELECTION_PTR

def TPML_PCR_SELECTION_PTR_assign(obj: 'TPML_PCR_SELECTION', value: 'TPML_PCR_SELECTION') -> "void":
    return _esys_binding.TPML_PCR_SELECTION_PTR_assign(obj, value)
TPML_PCR_SELECTION_PTR_assign = _esys_binding.TPML_PCR_SELECTION_PTR_assign

def TPML_PCR_SELECTION_PTR_value(obj: 'TPML_PCR_SELECTION') -> "TPML_PCR_SELECTION":
    return _esys_binding.TPML_PCR_SELECTION_PTR_value(obj)
TPML_PCR_SELECTION_PTR_value = _esys_binding.TPML_PCR_SELECTION_PTR_value

def new_TPML_PCR_SELECTION_PTR_PTR() -> "TPML_PCR_SELECTION **":
    return _esys_binding.new_TPML_PCR_SELECTION_PTR_PTR()
new_TPML_PCR_SELECTION_PTR_PTR = _esys_binding.new_TPML_PCR_SELECTION_PTR_PTR

def copy_TPML_PCR_SELECTION_PTR_PTR(value: 'TPML_PCR_SELECTION') -> "TPML_PCR_SELECTION **":
    return _esys_binding.copy_TPML_PCR_SELECTION_PTR_PTR(value)
copy_TPML_PCR_SELECTION_PTR_PTR = _esys_binding.copy_TPML_PCR_SELECTION_PTR_PTR

def delete_TPML_PCR_SELECTION_PTR_PTR(obj: 'TPML_PCR_SELECTION **') -> "void":
    return _esys_binding.delete_TPML_PCR_SELECTION_PTR_PTR(obj)
delete_TPML_PCR_SELECTION_PTR_PTR = _esys_binding.delete_TPML_PCR_SELECTION_PTR_PTR

def TPML_PCR_SELECTION_PTR_PTR_assign(obj: 'TPML_PCR_SELECTION **', value: 'TPML_PCR_SELECTION') -> "void":
    return _esys_binding.TPML_PCR_SELECTION_PTR_PTR_assign(obj, value)
TPML_PCR_SELECTION_PTR_PTR_assign = _esys_binding.TPML_PCR_SELECTION_PTR_PTR_assign

def TPML_PCR_SELECTION_PTR_PTR_value(obj: 'TPML_PCR_SELECTION **') -> "TPML_PCR_SELECTION *":
    return _esys_binding.TPML_PCR_SELECTION_PTR_PTR_value(obj)
TPML_PCR_SELECTION_PTR_PTR_value = _esys_binding.TPML_PCR_SELECTION_PTR_PTR_value
sizeof_TPML_ALG_PROPERTY = _esys_binding.sizeof_TPML_ALG_PROPERTY

def new_TPML_ALG_PROPERTY_PTR() -> "TPML_ALG_PROPERTY *":
    return _esys_binding.new_TPML_ALG_PROPERTY_PTR()
new_TPML_ALG_PROPERTY_PTR = _esys_binding.new_TPML_ALG_PROPERTY_PTR

def copy_TPML_ALG_PROPERTY_PTR(value: 'TPML_ALG_PROPERTY') -> "TPML_ALG_PROPERTY *":
    return _esys_binding.copy_TPML_ALG_PROPERTY_PTR(value)
copy_TPML_ALG_PROPERTY_PTR = _esys_binding.copy_TPML_ALG_PROPERTY_PTR

def delete_TPML_ALG_PROPERTY_PTR(obj: 'TPML_ALG_PROPERTY') -> "void":
    return _esys_binding.delete_TPML_ALG_PROPERTY_PTR(obj)
delete_TPML_ALG_PROPERTY_PTR = _esys_binding.delete_TPML_ALG_PROPERTY_PTR

def TPML_ALG_PROPERTY_PTR_assign(obj: 'TPML_ALG_PROPERTY', value: 'TPML_ALG_PROPERTY') -> "void":
    return _esys_binding.TPML_ALG_PROPERTY_PTR_assign(obj, value)
TPML_ALG_PROPERTY_PTR_assign = _esys_binding.TPML_ALG_PROPERTY_PTR_assign

def TPML_ALG_PROPERTY_PTR_value(obj: 'TPML_ALG_PROPERTY') -> "TPML_ALG_PROPERTY":
    return _esys_binding.TPML_ALG_PROPERTY_PTR_value(obj)
TPML_ALG_PROPERTY_PTR_value = _esys_binding.TPML_ALG_PROPERTY_PTR_value

def new_TPML_ALG_PROPERTY_PTR_PTR() -> "TPML_ALG_PROPERTY **":
    return _esys_binding.new_TPML_ALG_PROPERTY_PTR_PTR()
new_TPML_ALG_PROPERTY_PTR_PTR = _esys_binding.new_TPML_ALG_PROPERTY_PTR_PTR

def copy_TPML_ALG_PROPERTY_PTR_PTR(value: 'TPML_ALG_PROPERTY') -> "TPML_ALG_PROPERTY **":
    return _esys_binding.copy_TPML_ALG_PROPERTY_PTR_PTR(value)
copy_TPML_ALG_PROPERTY_PTR_PTR = _esys_binding.copy_TPML_ALG_PROPERTY_PTR_PTR

def delete_TPML_ALG_PROPERTY_PTR_PTR(obj: 'TPML_ALG_PROPERTY **') -> "void":
    return _esys_binding.delete_TPML_ALG_PROPERTY_PTR_PTR(obj)
delete_TPML_ALG_PROPERTY_PTR_PTR = _esys_binding.delete_TPML_ALG_PROPERTY_PTR_PTR

def TPML_ALG_PROPERTY_PTR_PTR_assign(obj: 'TPML_ALG_PROPERTY **', value: 'TPML_ALG_PROPERTY') -> "void":
    return _esys_binding.TPML_ALG_PROPERTY_PTR_PTR_assign(obj, value)
TPML_ALG_PROPERTY_PTR_PTR_assign = _esys_binding.TPML_ALG_PROPERTY_PTR_PTR_assign

def TPML_ALG_PROPERTY_PTR_PTR_value(obj: 'TPML_ALG_PROPERTY **') -> "TPML_ALG_PROPERTY *":
    return _esys_binding.TPML_ALG_PROPERTY_PTR_PTR_value(obj)
TPML_ALG_PROPERTY_PTR_PTR_value = _esys_binding.TPML_ALG_PROPERTY_PTR_PTR_value
sizeof_TPML_TAGGED_TPM_PROPERTY = _esys_binding.sizeof_TPML_TAGGED_TPM_PROPERTY

def new_TPML_TAGGED_TPM_PROPERTY_PTR() -> "TPML_TAGGED_TPM_PROPERTY *":
    return _esys_binding.new_TPML_TAGGED_TPM_PROPERTY_PTR()
new_TPML_TAGGED_TPM_PROPERTY_PTR = _esys_binding.new_TPML_TAGGED_TPM_PROPERTY_PTR

def copy_TPML_TAGGED_TPM_PROPERTY_PTR(value: 'TPML_TAGGED_TPM_PROPERTY') -> "TPML_TAGGED_TPM_PROPERTY *":
    return _esys_binding.copy_TPML_TAGGED_TPM_PROPERTY_PTR(value)
copy_TPML_TAGGED_TPM_PROPERTY_PTR = _esys_binding.copy_TPML_TAGGED_TPM_PROPERTY_PTR

def delete_TPML_TAGGED_TPM_PROPERTY_PTR(obj: 'TPML_TAGGED_TPM_PROPERTY') -> "void":
    return _esys_binding.delete_TPML_TAGGED_TPM_PROPERTY_PTR(obj)
delete_TPML_TAGGED_TPM_PROPERTY_PTR = _esys_binding.delete_TPML_TAGGED_TPM_PROPERTY_PTR

def TPML_TAGGED_TPM_PROPERTY_PTR_assign(obj: 'TPML_TAGGED_TPM_PROPERTY', value: 'TPML_TAGGED_TPM_PROPERTY') -> "void":
    return _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_assign(obj, value)
TPML_TAGGED_TPM_PROPERTY_PTR_assign = _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_assign

def TPML_TAGGED_TPM_PROPERTY_PTR_value(obj: 'TPML_TAGGED_TPM_PROPERTY') -> "TPML_TAGGED_TPM_PROPERTY":
    return _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_value(obj)
TPML_TAGGED_TPM_PROPERTY_PTR_value = _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_value

def new_TPML_TAGGED_TPM_PROPERTY_PTR_PTR() -> "TPML_TAGGED_TPM_PROPERTY **":
    return _esys_binding.new_TPML_TAGGED_TPM_PROPERTY_PTR_PTR()
new_TPML_TAGGED_TPM_PROPERTY_PTR_PTR = _esys_binding.new_TPML_TAGGED_TPM_PROPERTY_PTR_PTR

def copy_TPML_TAGGED_TPM_PROPERTY_PTR_PTR(value: 'TPML_TAGGED_TPM_PROPERTY') -> "TPML_TAGGED_TPM_PROPERTY **":
    return _esys_binding.copy_TPML_TAGGED_TPM_PROPERTY_PTR_PTR(value)
copy_TPML_TAGGED_TPM_PROPERTY_PTR_PTR = _esys_binding.copy_TPML_TAGGED_TPM_PROPERTY_PTR_PTR

def delete_TPML_TAGGED_TPM_PROPERTY_PTR_PTR(obj: 'TPML_TAGGED_TPM_PROPERTY **') -> "void":
    return _esys_binding.delete_TPML_TAGGED_TPM_PROPERTY_PTR_PTR(obj)
delete_TPML_TAGGED_TPM_PROPERTY_PTR_PTR = _esys_binding.delete_TPML_TAGGED_TPM_PROPERTY_PTR_PTR

def TPML_TAGGED_TPM_PROPERTY_PTR_PTR_assign(obj: 'TPML_TAGGED_TPM_PROPERTY **', value: 'TPML_TAGGED_TPM_PROPERTY') -> "void":
    return _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_PTR_assign(obj, value)
TPML_TAGGED_TPM_PROPERTY_PTR_PTR_assign = _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_PTR_assign

def TPML_TAGGED_TPM_PROPERTY_PTR_PTR_value(obj: 'TPML_TAGGED_TPM_PROPERTY **') -> "TPML_TAGGED_TPM_PROPERTY *":
    return _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_PTR_value(obj)
TPML_TAGGED_TPM_PROPERTY_PTR_PTR_value = _esys_binding.TPML_TAGGED_TPM_PROPERTY_PTR_PTR_value
sizeof_TPML_TAGGED_PCR_PROPERTY = _esys_binding.sizeof_TPML_TAGGED_PCR_PROPERTY

def new_TPML_TAGGED_PCR_PROPERTY_PTR() -> "TPML_TAGGED_PCR_PROPERTY *":
    return _esys_binding.new_TPML_TAGGED_PCR_PROPERTY_PTR()
new_TPML_TAGGED_PCR_PROPERTY_PTR = _esys_binding.new_TPML_TAGGED_PCR_PROPERTY_PTR

def copy_TPML_TAGGED_PCR_PROPERTY_PTR(value: 'TPML_TAGGED_PCR_PROPERTY') -> "TPML_TAGGED_PCR_PROPERTY *":
    return _esys_binding.copy_TPML_TAGGED_PCR_PROPERTY_PTR(value)
copy_TPML_TAGGED_PCR_PROPERTY_PTR = _esys_binding.copy_TPML_TAGGED_PCR_PROPERTY_PTR

def delete_TPML_TAGGED_PCR_PROPERTY_PTR(obj: 'TPML_TAGGED_PCR_PROPERTY') -> "void":
    return _esys_binding.delete_TPML_TAGGED_PCR_PROPERTY_PTR(obj)
delete_TPML_TAGGED_PCR_PROPERTY_PTR = _esys_binding.delete_TPML_TAGGED_PCR_PROPERTY_PTR

def TPML_TAGGED_PCR_PROPERTY_PTR_assign(obj: 'TPML_TAGGED_PCR_PROPERTY', value: 'TPML_TAGGED_PCR_PROPERTY') -> "void":
    return _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_assign(obj, value)
TPML_TAGGED_PCR_PROPERTY_PTR_assign = _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_assign

def TPML_TAGGED_PCR_PROPERTY_PTR_value(obj: 'TPML_TAGGED_PCR_PROPERTY') -> "TPML_TAGGED_PCR_PROPERTY":
    return _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_value(obj)
TPML_TAGGED_PCR_PROPERTY_PTR_value = _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_value

def new_TPML_TAGGED_PCR_PROPERTY_PTR_PTR() -> "TPML_TAGGED_PCR_PROPERTY **":
    return _esys_binding.new_TPML_TAGGED_PCR_PROPERTY_PTR_PTR()
new_TPML_TAGGED_PCR_PROPERTY_PTR_PTR = _esys_binding.new_TPML_TAGGED_PCR_PROPERTY_PTR_PTR

def copy_TPML_TAGGED_PCR_PROPERTY_PTR_PTR(value: 'TPML_TAGGED_PCR_PROPERTY') -> "TPML_TAGGED_PCR_PROPERTY **":
    return _esys_binding.copy_TPML_TAGGED_PCR_PROPERTY_PTR_PTR(value)
copy_TPML_TAGGED_PCR_PROPERTY_PTR_PTR = _esys_binding.copy_TPML_TAGGED_PCR_PROPERTY_PTR_PTR

def delete_TPML_TAGGED_PCR_PROPERTY_PTR_PTR(obj: 'TPML_TAGGED_PCR_PROPERTY **') -> "void":
    return _esys_binding.delete_TPML_TAGGED_PCR_PROPERTY_PTR_PTR(obj)
delete_TPML_TAGGED_PCR_PROPERTY_PTR_PTR = _esys_binding.delete_TPML_TAGGED_PCR_PROPERTY_PTR_PTR

def TPML_TAGGED_PCR_PROPERTY_PTR_PTR_assign(obj: 'TPML_TAGGED_PCR_PROPERTY **', value: 'TPML_TAGGED_PCR_PROPERTY') -> "void":
    return _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_PTR_assign(obj, value)
TPML_TAGGED_PCR_PROPERTY_PTR_PTR_assign = _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_PTR_assign

def TPML_TAGGED_PCR_PROPERTY_PTR_PTR_value(obj: 'TPML_TAGGED_PCR_PROPERTY **') -> "TPML_TAGGED_PCR_PROPERTY *":
    return _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_PTR_value(obj)
TPML_TAGGED_PCR_PROPERTY_PTR_PTR_value = _esys_binding.TPML_TAGGED_PCR_PROPERTY_PTR_PTR_value
sizeof_TPML_ECC_CURVE = _esys_binding.sizeof_TPML_ECC_CURVE

def new_TPML_ECC_CURVE_PTR() -> "TPML_ECC_CURVE *":
    return _esys_binding.new_TPML_ECC_CURVE_PTR()
new_TPML_ECC_CURVE_PTR = _esys_binding.new_TPML_ECC_CURVE_PTR

def copy_TPML_ECC_CURVE_PTR(value: 'TPML_ECC_CURVE') -> "TPML_ECC_CURVE *":
    return _esys_binding.copy_TPML_ECC_CURVE_PTR(value)
copy_TPML_ECC_CURVE_PTR = _esys_binding.copy_TPML_ECC_CURVE_PTR

def delete_TPML_ECC_CURVE_PTR(obj: 'TPML_ECC_CURVE') -> "void":
    return _esys_binding.delete_TPML_ECC_CURVE_PTR(obj)
delete_TPML_ECC_CURVE_PTR = _esys_binding.delete_TPML_ECC_CURVE_PTR

def TPML_ECC_CURVE_PTR_assign(obj: 'TPML_ECC_CURVE', value: 'TPML_ECC_CURVE') -> "void":
    return _esys_binding.TPML_ECC_CURVE_PTR_assign(obj, value)
TPML_ECC_CURVE_PTR_assign = _esys_binding.TPML_ECC_CURVE_PTR_assign

def TPML_ECC_CURVE_PTR_value(obj: 'TPML_ECC_CURVE') -> "TPML_ECC_CURVE":
    return _esys_binding.TPML_ECC_CURVE_PTR_value(obj)
TPML_ECC_CURVE_PTR_value = _esys_binding.TPML_ECC_CURVE_PTR_value

def new_TPML_ECC_CURVE_PTR_PTR() -> "TPML_ECC_CURVE **":
    return _esys_binding.new_TPML_ECC_CURVE_PTR_PTR()
new_TPML_ECC_CURVE_PTR_PTR = _esys_binding.new_TPML_ECC_CURVE_PTR_PTR

def copy_TPML_ECC_CURVE_PTR_PTR(value: 'TPML_ECC_CURVE') -> "TPML_ECC_CURVE **":
    return _esys_binding.copy_TPML_ECC_CURVE_PTR_PTR(value)
copy_TPML_ECC_CURVE_PTR_PTR = _esys_binding.copy_TPML_ECC_CURVE_PTR_PTR

def delete_TPML_ECC_CURVE_PTR_PTR(obj: 'TPML_ECC_CURVE **') -> "void":
    return _esys_binding.delete_TPML_ECC_CURVE_PTR_PTR(obj)
delete_TPML_ECC_CURVE_PTR_PTR = _esys_binding.delete_TPML_ECC_CURVE_PTR_PTR

def TPML_ECC_CURVE_PTR_PTR_assign(obj: 'TPML_ECC_CURVE **', value: 'TPML_ECC_CURVE') -> "void":
    return _esys_binding.TPML_ECC_CURVE_PTR_PTR_assign(obj, value)
TPML_ECC_CURVE_PTR_PTR_assign = _esys_binding.TPML_ECC_CURVE_PTR_PTR_assign

def TPML_ECC_CURVE_PTR_PTR_value(obj: 'TPML_ECC_CURVE **') -> "TPML_ECC_CURVE *":
    return _esys_binding.TPML_ECC_CURVE_PTR_PTR_value(obj)
TPML_ECC_CURVE_PTR_PTR_value = _esys_binding.TPML_ECC_CURVE_PTR_PTR_value
sizeof_TPML_INTEL_PTT_PROPERTY = _esys_binding.sizeof_TPML_INTEL_PTT_PROPERTY

def new_TPML_INTEL_PTT_PROPERTY_PTR() -> "TPML_INTEL_PTT_PROPERTY *":
    return _esys_binding.new_TPML_INTEL_PTT_PROPERTY_PTR()
new_TPML_INTEL_PTT_PROPERTY_PTR = _esys_binding.new_TPML_INTEL_PTT_PROPERTY_PTR

def copy_TPML_INTEL_PTT_PROPERTY_PTR(value: 'TPML_INTEL_PTT_PROPERTY') -> "TPML_INTEL_PTT_PROPERTY *":
    return _esys_binding.copy_TPML_INTEL_PTT_PROPERTY_PTR(value)
copy_TPML_INTEL_PTT_PROPERTY_PTR = _esys_binding.copy_TPML_INTEL_PTT_PROPERTY_PTR

def delete_TPML_INTEL_PTT_PROPERTY_PTR(obj: 'TPML_INTEL_PTT_PROPERTY') -> "void":
    return _esys_binding.delete_TPML_INTEL_PTT_PROPERTY_PTR(obj)
delete_TPML_INTEL_PTT_PROPERTY_PTR = _esys_binding.delete_TPML_INTEL_PTT_PROPERTY_PTR

def TPML_INTEL_PTT_PROPERTY_PTR_assign(obj: 'TPML_INTEL_PTT_PROPERTY', value: 'TPML_INTEL_PTT_PROPERTY') -> "void":
    return _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_assign(obj, value)
TPML_INTEL_PTT_PROPERTY_PTR_assign = _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_assign

def TPML_INTEL_PTT_PROPERTY_PTR_value(obj: 'TPML_INTEL_PTT_PROPERTY') -> "TPML_INTEL_PTT_PROPERTY":
    return _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_value(obj)
TPML_INTEL_PTT_PROPERTY_PTR_value = _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_value

def new_TPML_INTEL_PTT_PROPERTY_PTR_PTR() -> "TPML_INTEL_PTT_PROPERTY **":
    return _esys_binding.new_TPML_INTEL_PTT_PROPERTY_PTR_PTR()
new_TPML_INTEL_PTT_PROPERTY_PTR_PTR = _esys_binding.new_TPML_INTEL_PTT_PROPERTY_PTR_PTR

def copy_TPML_INTEL_PTT_PROPERTY_PTR_PTR(value: 'TPML_INTEL_PTT_PROPERTY') -> "TPML_INTEL_PTT_PROPERTY **":
    return _esys_binding.copy_TPML_INTEL_PTT_PROPERTY_PTR_PTR(value)
copy_TPML_INTEL_PTT_PROPERTY_PTR_PTR = _esys_binding.copy_TPML_INTEL_PTT_PROPERTY_PTR_PTR

def delete_TPML_INTEL_PTT_PROPERTY_PTR_PTR(obj: 'TPML_INTEL_PTT_PROPERTY **') -> "void":
    return _esys_binding.delete_TPML_INTEL_PTT_PROPERTY_PTR_PTR(obj)
delete_TPML_INTEL_PTT_PROPERTY_PTR_PTR = _esys_binding.delete_TPML_INTEL_PTT_PROPERTY_PTR_PTR

def TPML_INTEL_PTT_PROPERTY_PTR_PTR_assign(obj: 'TPML_INTEL_PTT_PROPERTY **', value: 'TPML_INTEL_PTT_PROPERTY') -> "void":
    return _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_PTR_assign(obj, value)
TPML_INTEL_PTT_PROPERTY_PTR_PTR_assign = _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_PTR_assign

def TPML_INTEL_PTT_PROPERTY_PTR_PTR_value(obj: 'TPML_INTEL_PTT_PROPERTY **') -> "TPML_INTEL_PTT_PROPERTY *":
    return _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_PTR_value(obj)
TPML_INTEL_PTT_PROPERTY_PTR_PTR_value = _esys_binding.TPML_INTEL_PTT_PROPERTY_PTR_PTR_value
sizeof_TPMU_CAPABILITIES = _esys_binding.sizeof_TPMU_CAPABILITIES

def new_TPMU_CAPABILITIES_PTR() -> "TPMU_CAPABILITIES *":
    return _esys_binding.new_TPMU_CAPABILITIES_PTR()
new_TPMU_CAPABILITIES_PTR = _esys_binding.new_TPMU_CAPABILITIES_PTR

def copy_TPMU_CAPABILITIES_PTR(value: 'TPMU_CAPABILITIES') -> "TPMU_CAPABILITIES *":
    return _esys_binding.copy_TPMU_CAPABILITIES_PTR(value)
copy_TPMU_CAPABILITIES_PTR = _esys_binding.copy_TPMU_CAPABILITIES_PTR

def delete_TPMU_CAPABILITIES_PTR(obj: 'TPMU_CAPABILITIES') -> "void":
    return _esys_binding.delete_TPMU_CAPABILITIES_PTR(obj)
delete_TPMU_CAPABILITIES_PTR = _esys_binding.delete_TPMU_CAPABILITIES_PTR

def TPMU_CAPABILITIES_PTR_assign(obj: 'TPMU_CAPABILITIES', value: 'TPMU_CAPABILITIES') -> "void":
    return _esys_binding.TPMU_CAPABILITIES_PTR_assign(obj, value)
TPMU_CAPABILITIES_PTR_assign = _esys_binding.TPMU_CAPABILITIES_PTR_assign

def TPMU_CAPABILITIES_PTR_value(obj: 'TPMU_CAPABILITIES') -> "TPMU_CAPABILITIES":
    return _esys_binding.TPMU_CAPABILITIES_PTR_value(obj)
TPMU_CAPABILITIES_PTR_value = _esys_binding.TPMU_CAPABILITIES_PTR_value

def new_TPMU_CAPABILITIES_PTR_PTR() -> "TPMU_CAPABILITIES **":
    return _esys_binding.new_TPMU_CAPABILITIES_PTR_PTR()
new_TPMU_CAPABILITIES_PTR_PTR = _esys_binding.new_TPMU_CAPABILITIES_PTR_PTR

def copy_TPMU_CAPABILITIES_PTR_PTR(value: 'TPMU_CAPABILITIES') -> "TPMU_CAPABILITIES **":
    return _esys_binding.copy_TPMU_CAPABILITIES_PTR_PTR(value)
copy_TPMU_CAPABILITIES_PTR_PTR = _esys_binding.copy_TPMU_CAPABILITIES_PTR_PTR

def delete_TPMU_CAPABILITIES_PTR_PTR(obj: 'TPMU_CAPABILITIES **') -> "void":
    return _esys_binding.delete_TPMU_CAPABILITIES_PTR_PTR(obj)
delete_TPMU_CAPABILITIES_PTR_PTR = _esys_binding.delete_TPMU_CAPABILITIES_PTR_PTR

def TPMU_CAPABILITIES_PTR_PTR_assign(obj: 'TPMU_CAPABILITIES **', value: 'TPMU_CAPABILITIES') -> "void":
    return _esys_binding.TPMU_CAPABILITIES_PTR_PTR_assign(obj, value)
TPMU_CAPABILITIES_PTR_PTR_assign = _esys_binding.TPMU_CAPABILITIES_PTR_PTR_assign

def TPMU_CAPABILITIES_PTR_PTR_value(obj: 'TPMU_CAPABILITIES **') -> "TPMU_CAPABILITIES *":
    return _esys_binding.TPMU_CAPABILITIES_PTR_PTR_value(obj)
TPMU_CAPABILITIES_PTR_PTR_value = _esys_binding.TPMU_CAPABILITIES_PTR_PTR_value
sizeof_TPMS_CAPABILITY_DATA = _esys_binding.sizeof_TPMS_CAPABILITY_DATA

def new_TPMS_CAPABILITY_DATA_PTR() -> "TPMS_CAPABILITY_DATA *":
    return _esys_binding.new_TPMS_CAPABILITY_DATA_PTR()
new_TPMS_CAPABILITY_DATA_PTR = _esys_binding.new_TPMS_CAPABILITY_DATA_PTR

def copy_TPMS_CAPABILITY_DATA_PTR(value: 'TPMS_CAPABILITY_DATA') -> "TPMS_CAPABILITY_DATA *":
    return _esys_binding.copy_TPMS_CAPABILITY_DATA_PTR(value)
copy_TPMS_CAPABILITY_DATA_PTR = _esys_binding.copy_TPMS_CAPABILITY_DATA_PTR

def delete_TPMS_CAPABILITY_DATA_PTR(obj: 'TPMS_CAPABILITY_DATA') -> "void":
    return _esys_binding.delete_TPMS_CAPABILITY_DATA_PTR(obj)
delete_TPMS_CAPABILITY_DATA_PTR = _esys_binding.delete_TPMS_CAPABILITY_DATA_PTR

def TPMS_CAPABILITY_DATA_PTR_assign(obj: 'TPMS_CAPABILITY_DATA', value: 'TPMS_CAPABILITY_DATA') -> "void":
    return _esys_binding.TPMS_CAPABILITY_DATA_PTR_assign(obj, value)
TPMS_CAPABILITY_DATA_PTR_assign = _esys_binding.TPMS_CAPABILITY_DATA_PTR_assign

def TPMS_CAPABILITY_DATA_PTR_value(obj: 'TPMS_CAPABILITY_DATA') -> "TPMS_CAPABILITY_DATA":
    return _esys_binding.TPMS_CAPABILITY_DATA_PTR_value(obj)
TPMS_CAPABILITY_DATA_PTR_value = _esys_binding.TPMS_CAPABILITY_DATA_PTR_value

def new_TPMS_CAPABILITY_DATA_PTR_PTR() -> "TPMS_CAPABILITY_DATA **":
    return _esys_binding.new_TPMS_CAPABILITY_DATA_PTR_PTR()
new_TPMS_CAPABILITY_DATA_PTR_PTR = _esys_binding.new_TPMS_CAPABILITY_DATA_PTR_PTR

def copy_TPMS_CAPABILITY_DATA_PTR_PTR(value: 'TPMS_CAPABILITY_DATA') -> "TPMS_CAPABILITY_DATA **":
    return _esys_binding.copy_TPMS_CAPABILITY_DATA_PTR_PTR(value)
copy_TPMS_CAPABILITY_DATA_PTR_PTR = _esys_binding.copy_TPMS_CAPABILITY_DATA_PTR_PTR

def delete_TPMS_CAPABILITY_DATA_PTR_PTR(obj: 'TPMS_CAPABILITY_DATA **') -> "void":
    return _esys_binding.delete_TPMS_CAPABILITY_DATA_PTR_PTR(obj)
delete_TPMS_CAPABILITY_DATA_PTR_PTR = _esys_binding.delete_TPMS_CAPABILITY_DATA_PTR_PTR

def TPMS_CAPABILITY_DATA_PTR_PTR_assign(obj: 'TPMS_CAPABILITY_DATA **', value: 'TPMS_CAPABILITY_DATA') -> "void":
    return _esys_binding.TPMS_CAPABILITY_DATA_PTR_PTR_assign(obj, value)
TPMS_CAPABILITY_DATA_PTR_PTR_assign = _esys_binding.TPMS_CAPABILITY_DATA_PTR_PTR_assign

def TPMS_CAPABILITY_DATA_PTR_PTR_value(obj: 'TPMS_CAPABILITY_DATA **') -> "TPMS_CAPABILITY_DATA *":
    return _esys_binding.TPMS_CAPABILITY_DATA_PTR_PTR_value(obj)
TPMS_CAPABILITY_DATA_PTR_PTR_value = _esys_binding.TPMS_CAPABILITY_DATA_PTR_PTR_value
sizeof_TPMS_CLOCK_INFO = _esys_binding.sizeof_TPMS_CLOCK_INFO

def new_TPMS_CLOCK_INFO_PTR() -> "TPMS_CLOCK_INFO *":
    return _esys_binding.new_TPMS_CLOCK_INFO_PTR()
new_TPMS_CLOCK_INFO_PTR = _esys_binding.new_TPMS_CLOCK_INFO_PTR

def copy_TPMS_CLOCK_INFO_PTR(value: 'TPMS_CLOCK_INFO') -> "TPMS_CLOCK_INFO *":
    return _esys_binding.copy_TPMS_CLOCK_INFO_PTR(value)
copy_TPMS_CLOCK_INFO_PTR = _esys_binding.copy_TPMS_CLOCK_INFO_PTR

def delete_TPMS_CLOCK_INFO_PTR(obj: 'TPMS_CLOCK_INFO') -> "void":
    return _esys_binding.delete_TPMS_CLOCK_INFO_PTR(obj)
delete_TPMS_CLOCK_INFO_PTR = _esys_binding.delete_TPMS_CLOCK_INFO_PTR

def TPMS_CLOCK_INFO_PTR_assign(obj: 'TPMS_CLOCK_INFO', value: 'TPMS_CLOCK_INFO') -> "void":
    return _esys_binding.TPMS_CLOCK_INFO_PTR_assign(obj, value)
TPMS_CLOCK_INFO_PTR_assign = _esys_binding.TPMS_CLOCK_INFO_PTR_assign

def TPMS_CLOCK_INFO_PTR_value(obj: 'TPMS_CLOCK_INFO') -> "TPMS_CLOCK_INFO":
    return _esys_binding.TPMS_CLOCK_INFO_PTR_value(obj)
TPMS_CLOCK_INFO_PTR_value = _esys_binding.TPMS_CLOCK_INFO_PTR_value

def new_TPMS_CLOCK_INFO_PTR_PTR() -> "TPMS_CLOCK_INFO **":
    return _esys_binding.new_TPMS_CLOCK_INFO_PTR_PTR()
new_TPMS_CLOCK_INFO_PTR_PTR = _esys_binding.new_TPMS_CLOCK_INFO_PTR_PTR

def copy_TPMS_CLOCK_INFO_PTR_PTR(value: 'TPMS_CLOCK_INFO') -> "TPMS_CLOCK_INFO **":
    return _esys_binding.copy_TPMS_CLOCK_INFO_PTR_PTR(value)
copy_TPMS_CLOCK_INFO_PTR_PTR = _esys_binding.copy_TPMS_CLOCK_INFO_PTR_PTR

def delete_TPMS_CLOCK_INFO_PTR_PTR(obj: 'TPMS_CLOCK_INFO **') -> "void":
    return _esys_binding.delete_TPMS_CLOCK_INFO_PTR_PTR(obj)
delete_TPMS_CLOCK_INFO_PTR_PTR = _esys_binding.delete_TPMS_CLOCK_INFO_PTR_PTR

def TPMS_CLOCK_INFO_PTR_PTR_assign(obj: 'TPMS_CLOCK_INFO **', value: 'TPMS_CLOCK_INFO') -> "void":
    return _esys_binding.TPMS_CLOCK_INFO_PTR_PTR_assign(obj, value)
TPMS_CLOCK_INFO_PTR_PTR_assign = _esys_binding.TPMS_CLOCK_INFO_PTR_PTR_assign

def TPMS_CLOCK_INFO_PTR_PTR_value(obj: 'TPMS_CLOCK_INFO **') -> "TPMS_CLOCK_INFO *":
    return _esys_binding.TPMS_CLOCK_INFO_PTR_PTR_value(obj)
TPMS_CLOCK_INFO_PTR_PTR_value = _esys_binding.TPMS_CLOCK_INFO_PTR_PTR_value
sizeof_TPMS_TIME_INFO = _esys_binding.sizeof_TPMS_TIME_INFO

def new_TPMS_TIME_INFO_PTR() -> "TPMS_TIME_INFO *":
    return _esys_binding.new_TPMS_TIME_INFO_PTR()
new_TPMS_TIME_INFO_PTR = _esys_binding.new_TPMS_TIME_INFO_PTR

def copy_TPMS_TIME_INFO_PTR(value: 'TPMS_TIME_INFO') -> "TPMS_TIME_INFO *":
    return _esys_binding.copy_TPMS_TIME_INFO_PTR(value)
copy_TPMS_TIME_INFO_PTR = _esys_binding.copy_TPMS_TIME_INFO_PTR

def delete_TPMS_TIME_INFO_PTR(obj: 'TPMS_TIME_INFO') -> "void":
    return _esys_binding.delete_TPMS_TIME_INFO_PTR(obj)
delete_TPMS_TIME_INFO_PTR = _esys_binding.delete_TPMS_TIME_INFO_PTR

def TPMS_TIME_INFO_PTR_assign(obj: 'TPMS_TIME_INFO', value: 'TPMS_TIME_INFO') -> "void":
    return _esys_binding.TPMS_TIME_INFO_PTR_assign(obj, value)
TPMS_TIME_INFO_PTR_assign = _esys_binding.TPMS_TIME_INFO_PTR_assign

def TPMS_TIME_INFO_PTR_value(obj: 'TPMS_TIME_INFO') -> "TPMS_TIME_INFO":
    return _esys_binding.TPMS_TIME_INFO_PTR_value(obj)
TPMS_TIME_INFO_PTR_value = _esys_binding.TPMS_TIME_INFO_PTR_value

def new_TPMS_TIME_INFO_PTR_PTR() -> "TPMS_TIME_INFO **":
    return _esys_binding.new_TPMS_TIME_INFO_PTR_PTR()
new_TPMS_TIME_INFO_PTR_PTR = _esys_binding.new_TPMS_TIME_INFO_PTR_PTR

def copy_TPMS_TIME_INFO_PTR_PTR(value: 'TPMS_TIME_INFO') -> "TPMS_TIME_INFO **":
    return _esys_binding.copy_TPMS_TIME_INFO_PTR_PTR(value)
copy_TPMS_TIME_INFO_PTR_PTR = _esys_binding.copy_TPMS_TIME_INFO_PTR_PTR

def delete_TPMS_TIME_INFO_PTR_PTR(obj: 'TPMS_TIME_INFO **') -> "void":
    return _esys_binding.delete_TPMS_TIME_INFO_PTR_PTR(obj)
delete_TPMS_TIME_INFO_PTR_PTR = _esys_binding.delete_TPMS_TIME_INFO_PTR_PTR

def TPMS_TIME_INFO_PTR_PTR_assign(obj: 'TPMS_TIME_INFO **', value: 'TPMS_TIME_INFO') -> "void":
    return _esys_binding.TPMS_TIME_INFO_PTR_PTR_assign(obj, value)
TPMS_TIME_INFO_PTR_PTR_assign = _esys_binding.TPMS_TIME_INFO_PTR_PTR_assign

def TPMS_TIME_INFO_PTR_PTR_value(obj: 'TPMS_TIME_INFO **') -> "TPMS_TIME_INFO *":
    return _esys_binding.TPMS_TIME_INFO_PTR_PTR_value(obj)
TPMS_TIME_INFO_PTR_PTR_value = _esys_binding.TPMS_TIME_INFO_PTR_PTR_value
sizeof_TPMS_TIME_ATTEST_INFO = _esys_binding.sizeof_TPMS_TIME_ATTEST_INFO

def new_TPMS_TIME_ATTEST_INFO_PTR() -> "TPMS_TIME_ATTEST_INFO *":
    return _esys_binding.new_TPMS_TIME_ATTEST_INFO_PTR()
new_TPMS_TIME_ATTEST_INFO_PTR = _esys_binding.new_TPMS_TIME_ATTEST_INFO_PTR

def copy_TPMS_TIME_ATTEST_INFO_PTR(value: 'TPMS_TIME_ATTEST_INFO') -> "TPMS_TIME_ATTEST_INFO *":
    return _esys_binding.copy_TPMS_TIME_ATTEST_INFO_PTR(value)
copy_TPMS_TIME_ATTEST_INFO_PTR = _esys_binding.copy_TPMS_TIME_ATTEST_INFO_PTR

def delete_TPMS_TIME_ATTEST_INFO_PTR(obj: 'TPMS_TIME_ATTEST_INFO') -> "void":
    return _esys_binding.delete_TPMS_TIME_ATTEST_INFO_PTR(obj)
delete_TPMS_TIME_ATTEST_INFO_PTR = _esys_binding.delete_TPMS_TIME_ATTEST_INFO_PTR

def TPMS_TIME_ATTEST_INFO_PTR_assign(obj: 'TPMS_TIME_ATTEST_INFO', value: 'TPMS_TIME_ATTEST_INFO') -> "void":
    return _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_assign(obj, value)
TPMS_TIME_ATTEST_INFO_PTR_assign = _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_assign

def TPMS_TIME_ATTEST_INFO_PTR_value(obj: 'TPMS_TIME_ATTEST_INFO') -> "TPMS_TIME_ATTEST_INFO":
    return _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_value(obj)
TPMS_TIME_ATTEST_INFO_PTR_value = _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_value

def new_TPMS_TIME_ATTEST_INFO_PTR_PTR() -> "TPMS_TIME_ATTEST_INFO **":
    return _esys_binding.new_TPMS_TIME_ATTEST_INFO_PTR_PTR()
new_TPMS_TIME_ATTEST_INFO_PTR_PTR = _esys_binding.new_TPMS_TIME_ATTEST_INFO_PTR_PTR

def copy_TPMS_TIME_ATTEST_INFO_PTR_PTR(value: 'TPMS_TIME_ATTEST_INFO') -> "TPMS_TIME_ATTEST_INFO **":
    return _esys_binding.copy_TPMS_TIME_ATTEST_INFO_PTR_PTR(value)
copy_TPMS_TIME_ATTEST_INFO_PTR_PTR = _esys_binding.copy_TPMS_TIME_ATTEST_INFO_PTR_PTR

def delete_TPMS_TIME_ATTEST_INFO_PTR_PTR(obj: 'TPMS_TIME_ATTEST_INFO **') -> "void":
    return _esys_binding.delete_TPMS_TIME_ATTEST_INFO_PTR_PTR(obj)
delete_TPMS_TIME_ATTEST_INFO_PTR_PTR = _esys_binding.delete_TPMS_TIME_ATTEST_INFO_PTR_PTR

def TPMS_TIME_ATTEST_INFO_PTR_PTR_assign(obj: 'TPMS_TIME_ATTEST_INFO **', value: 'TPMS_TIME_ATTEST_INFO') -> "void":
    return _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_PTR_assign(obj, value)
TPMS_TIME_ATTEST_INFO_PTR_PTR_assign = _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_PTR_assign

def TPMS_TIME_ATTEST_INFO_PTR_PTR_value(obj: 'TPMS_TIME_ATTEST_INFO **') -> "TPMS_TIME_ATTEST_INFO *":
    return _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_PTR_value(obj)
TPMS_TIME_ATTEST_INFO_PTR_PTR_value = _esys_binding.TPMS_TIME_ATTEST_INFO_PTR_PTR_value
sizeof_TPMS_CERTIFY_INFO = _esys_binding.sizeof_TPMS_CERTIFY_INFO

def new_TPMS_CERTIFY_INFO_PTR() -> "TPMS_CERTIFY_INFO *":
    return _esys_binding.new_TPMS_CERTIFY_INFO_PTR()
new_TPMS_CERTIFY_INFO_PTR = _esys_binding.new_TPMS_CERTIFY_INFO_PTR

def copy_TPMS_CERTIFY_INFO_PTR(value: 'TPMS_CERTIFY_INFO') -> "TPMS_CERTIFY_INFO *":
    return _esys_binding.copy_TPMS_CERTIFY_INFO_PTR(value)
copy_TPMS_CERTIFY_INFO_PTR = _esys_binding.copy_TPMS_CERTIFY_INFO_PTR

def delete_TPMS_CERTIFY_INFO_PTR(obj: 'TPMS_CERTIFY_INFO') -> "void":
    return _esys_binding.delete_TPMS_CERTIFY_INFO_PTR(obj)
delete_TPMS_CERTIFY_INFO_PTR = _esys_binding.delete_TPMS_CERTIFY_INFO_PTR

def TPMS_CERTIFY_INFO_PTR_assign(obj: 'TPMS_CERTIFY_INFO', value: 'TPMS_CERTIFY_INFO') -> "void":
    return _esys_binding.TPMS_CERTIFY_INFO_PTR_assign(obj, value)
TPMS_CERTIFY_INFO_PTR_assign = _esys_binding.TPMS_CERTIFY_INFO_PTR_assign

def TPMS_CERTIFY_INFO_PTR_value(obj: 'TPMS_CERTIFY_INFO') -> "TPMS_CERTIFY_INFO":
    return _esys_binding.TPMS_CERTIFY_INFO_PTR_value(obj)
TPMS_CERTIFY_INFO_PTR_value = _esys_binding.TPMS_CERTIFY_INFO_PTR_value

def new_TPMS_CERTIFY_INFO_PTR_PTR() -> "TPMS_CERTIFY_INFO **":
    return _esys_binding.new_TPMS_CERTIFY_INFO_PTR_PTR()
new_TPMS_CERTIFY_INFO_PTR_PTR = _esys_binding.new_TPMS_CERTIFY_INFO_PTR_PTR

def copy_TPMS_CERTIFY_INFO_PTR_PTR(value: 'TPMS_CERTIFY_INFO') -> "TPMS_CERTIFY_INFO **":
    return _esys_binding.copy_TPMS_CERTIFY_INFO_PTR_PTR(value)
copy_TPMS_CERTIFY_INFO_PTR_PTR = _esys_binding.copy_TPMS_CERTIFY_INFO_PTR_PTR

def delete_TPMS_CERTIFY_INFO_PTR_PTR(obj: 'TPMS_CERTIFY_INFO **') -> "void":
    return _esys_binding.delete_TPMS_CERTIFY_INFO_PTR_PTR(obj)
delete_TPMS_CERTIFY_INFO_PTR_PTR = _esys_binding.delete_TPMS_CERTIFY_INFO_PTR_PTR

def TPMS_CERTIFY_INFO_PTR_PTR_assign(obj: 'TPMS_CERTIFY_INFO **', value: 'TPMS_CERTIFY_INFO') -> "void":
    return _esys_binding.TPMS_CERTIFY_INFO_PTR_PTR_assign(obj, value)
TPMS_CERTIFY_INFO_PTR_PTR_assign = _esys_binding.TPMS_CERTIFY_INFO_PTR_PTR_assign

def TPMS_CERTIFY_INFO_PTR_PTR_value(obj: 'TPMS_CERTIFY_INFO **') -> "TPMS_CERTIFY_INFO *":
    return _esys_binding.TPMS_CERTIFY_INFO_PTR_PTR_value(obj)
TPMS_CERTIFY_INFO_PTR_PTR_value = _esys_binding.TPMS_CERTIFY_INFO_PTR_PTR_value
sizeof_TPMS_QUOTE_INFO = _esys_binding.sizeof_TPMS_QUOTE_INFO

def new_TPMS_QUOTE_INFO_PTR() -> "TPMS_QUOTE_INFO *":
    return _esys_binding.new_TPMS_QUOTE_INFO_PTR()
new_TPMS_QUOTE_INFO_PTR = _esys_binding.new_TPMS_QUOTE_INFO_PTR

def copy_TPMS_QUOTE_INFO_PTR(value: 'TPMS_QUOTE_INFO') -> "TPMS_QUOTE_INFO *":
    return _esys_binding.copy_TPMS_QUOTE_INFO_PTR(value)
copy_TPMS_QUOTE_INFO_PTR = _esys_binding.copy_TPMS_QUOTE_INFO_PTR

def delete_TPMS_QUOTE_INFO_PTR(obj: 'TPMS_QUOTE_INFO') -> "void":
    return _esys_binding.delete_TPMS_QUOTE_INFO_PTR(obj)
delete_TPMS_QUOTE_INFO_PTR = _esys_binding.delete_TPMS_QUOTE_INFO_PTR

def TPMS_QUOTE_INFO_PTR_assign(obj: 'TPMS_QUOTE_INFO', value: 'TPMS_QUOTE_INFO') -> "void":
    return _esys_binding.TPMS_QUOTE_INFO_PTR_assign(obj, value)
TPMS_QUOTE_INFO_PTR_assign = _esys_binding.TPMS_QUOTE_INFO_PTR_assign

def TPMS_QUOTE_INFO_PTR_value(obj: 'TPMS_QUOTE_INFO') -> "TPMS_QUOTE_INFO":
    return _esys_binding.TPMS_QUOTE_INFO_PTR_value(obj)
TPMS_QUOTE_INFO_PTR_value = _esys_binding.TPMS_QUOTE_INFO_PTR_value

def new_TPMS_QUOTE_INFO_PTR_PTR() -> "TPMS_QUOTE_INFO **":
    return _esys_binding.new_TPMS_QUOTE_INFO_PTR_PTR()
new_TPMS_QUOTE_INFO_PTR_PTR = _esys_binding.new_TPMS_QUOTE_INFO_PTR_PTR

def copy_TPMS_QUOTE_INFO_PTR_PTR(value: 'TPMS_QUOTE_INFO') -> "TPMS_QUOTE_INFO **":
    return _esys_binding.copy_TPMS_QUOTE_INFO_PTR_PTR(value)
copy_TPMS_QUOTE_INFO_PTR_PTR = _esys_binding.copy_TPMS_QUOTE_INFO_PTR_PTR

def delete_TPMS_QUOTE_INFO_PTR_PTR(obj: 'TPMS_QUOTE_INFO **') -> "void":
    return _esys_binding.delete_TPMS_QUOTE_INFO_PTR_PTR(obj)
delete_TPMS_QUOTE_INFO_PTR_PTR = _esys_binding.delete_TPMS_QUOTE_INFO_PTR_PTR

def TPMS_QUOTE_INFO_PTR_PTR_assign(obj: 'TPMS_QUOTE_INFO **', value: 'TPMS_QUOTE_INFO') -> "void":
    return _esys_binding.TPMS_QUOTE_INFO_PTR_PTR_assign(obj, value)
TPMS_QUOTE_INFO_PTR_PTR_assign = _esys_binding.TPMS_QUOTE_INFO_PTR_PTR_assign

def TPMS_QUOTE_INFO_PTR_PTR_value(obj: 'TPMS_QUOTE_INFO **') -> "TPMS_QUOTE_INFO *":
    return _esys_binding.TPMS_QUOTE_INFO_PTR_PTR_value(obj)
TPMS_QUOTE_INFO_PTR_PTR_value = _esys_binding.TPMS_QUOTE_INFO_PTR_PTR_value
sizeof_TPMS_COMMAND_AUDIT_INFO = _esys_binding.sizeof_TPMS_COMMAND_AUDIT_INFO

def new_TPMS_COMMAND_AUDIT_INFO_PTR() -> "TPMS_COMMAND_AUDIT_INFO *":
    return _esys_binding.new_TPMS_COMMAND_AUDIT_INFO_PTR()
new_TPMS_COMMAND_AUDIT_INFO_PTR = _esys_binding.new_TPMS_COMMAND_AUDIT_INFO_PTR

def copy_TPMS_COMMAND_AUDIT_INFO_PTR(value: 'TPMS_COMMAND_AUDIT_INFO') -> "TPMS_COMMAND_AUDIT_INFO *":
    return _esys_binding.copy_TPMS_COMMAND_AUDIT_INFO_PTR(value)
copy_TPMS_COMMAND_AUDIT_INFO_PTR = _esys_binding.copy_TPMS_COMMAND_AUDIT_INFO_PTR

def delete_TPMS_COMMAND_AUDIT_INFO_PTR(obj: 'TPMS_COMMAND_AUDIT_INFO') -> "void":
    return _esys_binding.delete_TPMS_COMMAND_AUDIT_INFO_PTR(obj)
delete_TPMS_COMMAND_AUDIT_INFO_PTR = _esys_binding.delete_TPMS_COMMAND_AUDIT_INFO_PTR

def TPMS_COMMAND_AUDIT_INFO_PTR_assign(obj: 'TPMS_COMMAND_AUDIT_INFO', value: 'TPMS_COMMAND_AUDIT_INFO') -> "void":
    return _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_assign(obj, value)
TPMS_COMMAND_AUDIT_INFO_PTR_assign = _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_assign

def TPMS_COMMAND_AUDIT_INFO_PTR_value(obj: 'TPMS_COMMAND_AUDIT_INFO') -> "TPMS_COMMAND_AUDIT_INFO":
    return _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_value(obj)
TPMS_COMMAND_AUDIT_INFO_PTR_value = _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_value

def new_TPMS_COMMAND_AUDIT_INFO_PTR_PTR() -> "TPMS_COMMAND_AUDIT_INFO **":
    return _esys_binding.new_TPMS_COMMAND_AUDIT_INFO_PTR_PTR()
new_TPMS_COMMAND_AUDIT_INFO_PTR_PTR = _esys_binding.new_TPMS_COMMAND_AUDIT_INFO_PTR_PTR

def copy_TPMS_COMMAND_AUDIT_INFO_PTR_PTR(value: 'TPMS_COMMAND_AUDIT_INFO') -> "TPMS_COMMAND_AUDIT_INFO **":
    return _esys_binding.copy_TPMS_COMMAND_AUDIT_INFO_PTR_PTR(value)
copy_TPMS_COMMAND_AUDIT_INFO_PTR_PTR = _esys_binding.copy_TPMS_COMMAND_AUDIT_INFO_PTR_PTR

def delete_TPMS_COMMAND_AUDIT_INFO_PTR_PTR(obj: 'TPMS_COMMAND_AUDIT_INFO **') -> "void":
    return _esys_binding.delete_TPMS_COMMAND_AUDIT_INFO_PTR_PTR(obj)
delete_TPMS_COMMAND_AUDIT_INFO_PTR_PTR = _esys_binding.delete_TPMS_COMMAND_AUDIT_INFO_PTR_PTR

def TPMS_COMMAND_AUDIT_INFO_PTR_PTR_assign(obj: 'TPMS_COMMAND_AUDIT_INFO **', value: 'TPMS_COMMAND_AUDIT_INFO') -> "void":
    return _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_PTR_assign(obj, value)
TPMS_COMMAND_AUDIT_INFO_PTR_PTR_assign = _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_PTR_assign

def TPMS_COMMAND_AUDIT_INFO_PTR_PTR_value(obj: 'TPMS_COMMAND_AUDIT_INFO **') -> "TPMS_COMMAND_AUDIT_INFO *":
    return _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_PTR_value(obj)
TPMS_COMMAND_AUDIT_INFO_PTR_PTR_value = _esys_binding.TPMS_COMMAND_AUDIT_INFO_PTR_PTR_value
sizeof_TPMS_SESSION_AUDIT_INFO = _esys_binding.sizeof_TPMS_SESSION_AUDIT_INFO

def new_TPMS_SESSION_AUDIT_INFO_PTR() -> "TPMS_SESSION_AUDIT_INFO *":
    return _esys_binding.new_TPMS_SESSION_AUDIT_INFO_PTR()
new_TPMS_SESSION_AUDIT_INFO_PTR = _esys_binding.new_TPMS_SESSION_AUDIT_INFO_PTR

def copy_TPMS_SESSION_AUDIT_INFO_PTR(value: 'TPMS_SESSION_AUDIT_INFO') -> "TPMS_SESSION_AUDIT_INFO *":
    return _esys_binding.copy_TPMS_SESSION_AUDIT_INFO_PTR(value)
copy_TPMS_SESSION_AUDIT_INFO_PTR = _esys_binding.copy_TPMS_SESSION_AUDIT_INFO_PTR

def delete_TPMS_SESSION_AUDIT_INFO_PTR(obj: 'TPMS_SESSION_AUDIT_INFO') -> "void":
    return _esys_binding.delete_TPMS_SESSION_AUDIT_INFO_PTR(obj)
delete_TPMS_SESSION_AUDIT_INFO_PTR = _esys_binding.delete_TPMS_SESSION_AUDIT_INFO_PTR

def TPMS_SESSION_AUDIT_INFO_PTR_assign(obj: 'TPMS_SESSION_AUDIT_INFO', value: 'TPMS_SESSION_AUDIT_INFO') -> "void":
    return _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_assign(obj, value)
TPMS_SESSION_AUDIT_INFO_PTR_assign = _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_assign

def TPMS_SESSION_AUDIT_INFO_PTR_value(obj: 'TPMS_SESSION_AUDIT_INFO') -> "TPMS_SESSION_AUDIT_INFO":
    return _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_value(obj)
TPMS_SESSION_AUDIT_INFO_PTR_value = _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_value

def new_TPMS_SESSION_AUDIT_INFO_PTR_PTR() -> "TPMS_SESSION_AUDIT_INFO **":
    return _esys_binding.new_TPMS_SESSION_AUDIT_INFO_PTR_PTR()
new_TPMS_SESSION_AUDIT_INFO_PTR_PTR = _esys_binding.new_TPMS_SESSION_AUDIT_INFO_PTR_PTR

def copy_TPMS_SESSION_AUDIT_INFO_PTR_PTR(value: 'TPMS_SESSION_AUDIT_INFO') -> "TPMS_SESSION_AUDIT_INFO **":
    return _esys_binding.copy_TPMS_SESSION_AUDIT_INFO_PTR_PTR(value)
copy_TPMS_SESSION_AUDIT_INFO_PTR_PTR = _esys_binding.copy_TPMS_SESSION_AUDIT_INFO_PTR_PTR

def delete_TPMS_SESSION_AUDIT_INFO_PTR_PTR(obj: 'TPMS_SESSION_AUDIT_INFO **') -> "void":
    return _esys_binding.delete_TPMS_SESSION_AUDIT_INFO_PTR_PTR(obj)
delete_TPMS_SESSION_AUDIT_INFO_PTR_PTR = _esys_binding.delete_TPMS_SESSION_AUDIT_INFO_PTR_PTR

def TPMS_SESSION_AUDIT_INFO_PTR_PTR_assign(obj: 'TPMS_SESSION_AUDIT_INFO **', value: 'TPMS_SESSION_AUDIT_INFO') -> "void":
    return _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_PTR_assign(obj, value)
TPMS_SESSION_AUDIT_INFO_PTR_PTR_assign = _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_PTR_assign

def TPMS_SESSION_AUDIT_INFO_PTR_PTR_value(obj: 'TPMS_SESSION_AUDIT_INFO **') -> "TPMS_SESSION_AUDIT_INFO *":
    return _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_PTR_value(obj)
TPMS_SESSION_AUDIT_INFO_PTR_PTR_value = _esys_binding.TPMS_SESSION_AUDIT_INFO_PTR_PTR_value
sizeof_TPMS_CREATION_INFO = _esys_binding.sizeof_TPMS_CREATION_INFO

def new_TPMS_CREATION_INFO_PTR() -> "TPMS_CREATION_INFO *":
    return _esys_binding.new_TPMS_CREATION_INFO_PTR()
new_TPMS_CREATION_INFO_PTR = _esys_binding.new_TPMS_CREATION_INFO_PTR

def copy_TPMS_CREATION_INFO_PTR(value: 'TPMS_CREATION_INFO') -> "TPMS_CREATION_INFO *":
    return _esys_binding.copy_TPMS_CREATION_INFO_PTR(value)
copy_TPMS_CREATION_INFO_PTR = _esys_binding.copy_TPMS_CREATION_INFO_PTR

def delete_TPMS_CREATION_INFO_PTR(obj: 'TPMS_CREATION_INFO') -> "void":
    return _esys_binding.delete_TPMS_CREATION_INFO_PTR(obj)
delete_TPMS_CREATION_INFO_PTR = _esys_binding.delete_TPMS_CREATION_INFO_PTR

def TPMS_CREATION_INFO_PTR_assign(obj: 'TPMS_CREATION_INFO', value: 'TPMS_CREATION_INFO') -> "void":
    return _esys_binding.TPMS_CREATION_INFO_PTR_assign(obj, value)
TPMS_CREATION_INFO_PTR_assign = _esys_binding.TPMS_CREATION_INFO_PTR_assign

def TPMS_CREATION_INFO_PTR_value(obj: 'TPMS_CREATION_INFO') -> "TPMS_CREATION_INFO":
    return _esys_binding.TPMS_CREATION_INFO_PTR_value(obj)
TPMS_CREATION_INFO_PTR_value = _esys_binding.TPMS_CREATION_INFO_PTR_value

def new_TPMS_CREATION_INFO_PTR_PTR() -> "TPMS_CREATION_INFO **":
    return _esys_binding.new_TPMS_CREATION_INFO_PTR_PTR()
new_TPMS_CREATION_INFO_PTR_PTR = _esys_binding.new_TPMS_CREATION_INFO_PTR_PTR

def copy_TPMS_CREATION_INFO_PTR_PTR(value: 'TPMS_CREATION_INFO') -> "TPMS_CREATION_INFO **":
    return _esys_binding.copy_TPMS_CREATION_INFO_PTR_PTR(value)
copy_TPMS_CREATION_INFO_PTR_PTR = _esys_binding.copy_TPMS_CREATION_INFO_PTR_PTR

def delete_TPMS_CREATION_INFO_PTR_PTR(obj: 'TPMS_CREATION_INFO **') -> "void":
    return _esys_binding.delete_TPMS_CREATION_INFO_PTR_PTR(obj)
delete_TPMS_CREATION_INFO_PTR_PTR = _esys_binding.delete_TPMS_CREATION_INFO_PTR_PTR

def TPMS_CREATION_INFO_PTR_PTR_assign(obj: 'TPMS_CREATION_INFO **', value: 'TPMS_CREATION_INFO') -> "void":
    return _esys_binding.TPMS_CREATION_INFO_PTR_PTR_assign(obj, value)
TPMS_CREATION_INFO_PTR_PTR_assign = _esys_binding.TPMS_CREATION_INFO_PTR_PTR_assign

def TPMS_CREATION_INFO_PTR_PTR_value(obj: 'TPMS_CREATION_INFO **') -> "TPMS_CREATION_INFO *":
    return _esys_binding.TPMS_CREATION_INFO_PTR_PTR_value(obj)
TPMS_CREATION_INFO_PTR_PTR_value = _esys_binding.TPMS_CREATION_INFO_PTR_PTR_value
sizeof_TPMS_NV_CERTIFY_INFO = _esys_binding.sizeof_TPMS_NV_CERTIFY_INFO

def new_TPMS_NV_CERTIFY_INFO_PTR() -> "TPMS_NV_CERTIFY_INFO *":
    return _esys_binding.new_TPMS_NV_CERTIFY_INFO_PTR()
new_TPMS_NV_CERTIFY_INFO_PTR = _esys_binding.new_TPMS_NV_CERTIFY_INFO_PTR

def copy_TPMS_NV_CERTIFY_INFO_PTR(value: 'TPMS_NV_CERTIFY_INFO') -> "TPMS_NV_CERTIFY_INFO *":
    return _esys_binding.copy_TPMS_NV_CERTIFY_INFO_PTR(value)
copy_TPMS_NV_CERTIFY_INFO_PTR = _esys_binding.copy_TPMS_NV_CERTIFY_INFO_PTR

def delete_TPMS_NV_CERTIFY_INFO_PTR(obj: 'TPMS_NV_CERTIFY_INFO') -> "void":
    return _esys_binding.delete_TPMS_NV_CERTIFY_INFO_PTR(obj)
delete_TPMS_NV_CERTIFY_INFO_PTR = _esys_binding.delete_TPMS_NV_CERTIFY_INFO_PTR

def TPMS_NV_CERTIFY_INFO_PTR_assign(obj: 'TPMS_NV_CERTIFY_INFO', value: 'TPMS_NV_CERTIFY_INFO') -> "void":
    return _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_assign(obj, value)
TPMS_NV_CERTIFY_INFO_PTR_assign = _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_assign

def TPMS_NV_CERTIFY_INFO_PTR_value(obj: 'TPMS_NV_CERTIFY_INFO') -> "TPMS_NV_CERTIFY_INFO":
    return _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_value(obj)
TPMS_NV_CERTIFY_INFO_PTR_value = _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_value

def new_TPMS_NV_CERTIFY_INFO_PTR_PTR() -> "TPMS_NV_CERTIFY_INFO **":
    return _esys_binding.new_TPMS_NV_CERTIFY_INFO_PTR_PTR()
new_TPMS_NV_CERTIFY_INFO_PTR_PTR = _esys_binding.new_TPMS_NV_CERTIFY_INFO_PTR_PTR

def copy_TPMS_NV_CERTIFY_INFO_PTR_PTR(value: 'TPMS_NV_CERTIFY_INFO') -> "TPMS_NV_CERTIFY_INFO **":
    return _esys_binding.copy_TPMS_NV_CERTIFY_INFO_PTR_PTR(value)
copy_TPMS_NV_CERTIFY_INFO_PTR_PTR = _esys_binding.copy_TPMS_NV_CERTIFY_INFO_PTR_PTR

def delete_TPMS_NV_CERTIFY_INFO_PTR_PTR(obj: 'TPMS_NV_CERTIFY_INFO **') -> "void":
    return _esys_binding.delete_TPMS_NV_CERTIFY_INFO_PTR_PTR(obj)
delete_TPMS_NV_CERTIFY_INFO_PTR_PTR = _esys_binding.delete_TPMS_NV_CERTIFY_INFO_PTR_PTR

def TPMS_NV_CERTIFY_INFO_PTR_PTR_assign(obj: 'TPMS_NV_CERTIFY_INFO **', value: 'TPMS_NV_CERTIFY_INFO') -> "void":
    return _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_PTR_assign(obj, value)
TPMS_NV_CERTIFY_INFO_PTR_PTR_assign = _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_PTR_assign

def TPMS_NV_CERTIFY_INFO_PTR_PTR_value(obj: 'TPMS_NV_CERTIFY_INFO **') -> "TPMS_NV_CERTIFY_INFO *":
    return _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_PTR_value(obj)
TPMS_NV_CERTIFY_INFO_PTR_PTR_value = _esys_binding.TPMS_NV_CERTIFY_INFO_PTR_PTR_value
sizeof_TPMU_ATTEST = _esys_binding.sizeof_TPMU_ATTEST

def new_TPMU_ATTEST_PTR() -> "TPMU_ATTEST *":
    return _esys_binding.new_TPMU_ATTEST_PTR()
new_TPMU_ATTEST_PTR = _esys_binding.new_TPMU_ATTEST_PTR

def copy_TPMU_ATTEST_PTR(value: 'TPMU_ATTEST') -> "TPMU_ATTEST *":
    return _esys_binding.copy_TPMU_ATTEST_PTR(value)
copy_TPMU_ATTEST_PTR = _esys_binding.copy_TPMU_ATTEST_PTR

def delete_TPMU_ATTEST_PTR(obj: 'TPMU_ATTEST') -> "void":
    return _esys_binding.delete_TPMU_ATTEST_PTR(obj)
delete_TPMU_ATTEST_PTR = _esys_binding.delete_TPMU_ATTEST_PTR

def TPMU_ATTEST_PTR_assign(obj: 'TPMU_ATTEST', value: 'TPMU_ATTEST') -> "void":
    return _esys_binding.TPMU_ATTEST_PTR_assign(obj, value)
TPMU_ATTEST_PTR_assign = _esys_binding.TPMU_ATTEST_PTR_assign

def TPMU_ATTEST_PTR_value(obj: 'TPMU_ATTEST') -> "TPMU_ATTEST":
    return _esys_binding.TPMU_ATTEST_PTR_value(obj)
TPMU_ATTEST_PTR_value = _esys_binding.TPMU_ATTEST_PTR_value

def new_TPMU_ATTEST_PTR_PTR() -> "TPMU_ATTEST **":
    return _esys_binding.new_TPMU_ATTEST_PTR_PTR()
new_TPMU_ATTEST_PTR_PTR = _esys_binding.new_TPMU_ATTEST_PTR_PTR

def copy_TPMU_ATTEST_PTR_PTR(value: 'TPMU_ATTEST') -> "TPMU_ATTEST **":
    return _esys_binding.copy_TPMU_ATTEST_PTR_PTR(value)
copy_TPMU_ATTEST_PTR_PTR = _esys_binding.copy_TPMU_ATTEST_PTR_PTR

def delete_TPMU_ATTEST_PTR_PTR(obj: 'TPMU_ATTEST **') -> "void":
    return _esys_binding.delete_TPMU_ATTEST_PTR_PTR(obj)
delete_TPMU_ATTEST_PTR_PTR = _esys_binding.delete_TPMU_ATTEST_PTR_PTR

def TPMU_ATTEST_PTR_PTR_assign(obj: 'TPMU_ATTEST **', value: 'TPMU_ATTEST') -> "void":
    return _esys_binding.TPMU_ATTEST_PTR_PTR_assign(obj, value)
TPMU_ATTEST_PTR_PTR_assign = _esys_binding.TPMU_ATTEST_PTR_PTR_assign

def TPMU_ATTEST_PTR_PTR_value(obj: 'TPMU_ATTEST **') -> "TPMU_ATTEST *":
    return _esys_binding.TPMU_ATTEST_PTR_PTR_value(obj)
TPMU_ATTEST_PTR_PTR_value = _esys_binding.TPMU_ATTEST_PTR_PTR_value
sizeof_TPMS_ATTEST = _esys_binding.sizeof_TPMS_ATTEST

def new_TPMS_ATTEST_PTR() -> "TPMS_ATTEST *":
    return _esys_binding.new_TPMS_ATTEST_PTR()
new_TPMS_ATTEST_PTR = _esys_binding.new_TPMS_ATTEST_PTR

def copy_TPMS_ATTEST_PTR(value: 'TPMS_ATTEST') -> "TPMS_ATTEST *":
    return _esys_binding.copy_TPMS_ATTEST_PTR(value)
copy_TPMS_ATTEST_PTR = _esys_binding.copy_TPMS_ATTEST_PTR

def delete_TPMS_ATTEST_PTR(obj: 'TPMS_ATTEST') -> "void":
    return _esys_binding.delete_TPMS_ATTEST_PTR(obj)
delete_TPMS_ATTEST_PTR = _esys_binding.delete_TPMS_ATTEST_PTR

def TPMS_ATTEST_PTR_assign(obj: 'TPMS_ATTEST', value: 'TPMS_ATTEST') -> "void":
    return _esys_binding.TPMS_ATTEST_PTR_assign(obj, value)
TPMS_ATTEST_PTR_assign = _esys_binding.TPMS_ATTEST_PTR_assign

def TPMS_ATTEST_PTR_value(obj: 'TPMS_ATTEST') -> "TPMS_ATTEST":
    return _esys_binding.TPMS_ATTEST_PTR_value(obj)
TPMS_ATTEST_PTR_value = _esys_binding.TPMS_ATTEST_PTR_value

def new_TPMS_ATTEST_PTR_PTR() -> "TPMS_ATTEST **":
    return _esys_binding.new_TPMS_ATTEST_PTR_PTR()
new_TPMS_ATTEST_PTR_PTR = _esys_binding.new_TPMS_ATTEST_PTR_PTR

def copy_TPMS_ATTEST_PTR_PTR(value: 'TPMS_ATTEST') -> "TPMS_ATTEST **":
    return _esys_binding.copy_TPMS_ATTEST_PTR_PTR(value)
copy_TPMS_ATTEST_PTR_PTR = _esys_binding.copy_TPMS_ATTEST_PTR_PTR

def delete_TPMS_ATTEST_PTR_PTR(obj: 'TPMS_ATTEST **') -> "void":
    return _esys_binding.delete_TPMS_ATTEST_PTR_PTR(obj)
delete_TPMS_ATTEST_PTR_PTR = _esys_binding.delete_TPMS_ATTEST_PTR_PTR

def TPMS_ATTEST_PTR_PTR_assign(obj: 'TPMS_ATTEST **', value: 'TPMS_ATTEST') -> "void":
    return _esys_binding.TPMS_ATTEST_PTR_PTR_assign(obj, value)
TPMS_ATTEST_PTR_PTR_assign = _esys_binding.TPMS_ATTEST_PTR_PTR_assign

def TPMS_ATTEST_PTR_PTR_value(obj: 'TPMS_ATTEST **') -> "TPMS_ATTEST *":
    return _esys_binding.TPMS_ATTEST_PTR_PTR_value(obj)
TPMS_ATTEST_PTR_PTR_value = _esys_binding.TPMS_ATTEST_PTR_PTR_value
sizeof_TPM2B_ATTEST = _esys_binding.sizeof_TPM2B_ATTEST

def new_TPM2B_ATTEST_PTR() -> "TPM2B_ATTEST *":
    return _esys_binding.new_TPM2B_ATTEST_PTR()
new_TPM2B_ATTEST_PTR = _esys_binding.new_TPM2B_ATTEST_PTR

def copy_TPM2B_ATTEST_PTR(value: 'TPM2B_ATTEST') -> "TPM2B_ATTEST *":
    return _esys_binding.copy_TPM2B_ATTEST_PTR(value)
copy_TPM2B_ATTEST_PTR = _esys_binding.copy_TPM2B_ATTEST_PTR

def delete_TPM2B_ATTEST_PTR(obj: 'TPM2B_ATTEST') -> "void":
    return _esys_binding.delete_TPM2B_ATTEST_PTR(obj)
delete_TPM2B_ATTEST_PTR = _esys_binding.delete_TPM2B_ATTEST_PTR

def TPM2B_ATTEST_PTR_assign(obj: 'TPM2B_ATTEST', value: 'TPM2B_ATTEST') -> "void":
    return _esys_binding.TPM2B_ATTEST_PTR_assign(obj, value)
TPM2B_ATTEST_PTR_assign = _esys_binding.TPM2B_ATTEST_PTR_assign

def TPM2B_ATTEST_PTR_value(obj: 'TPM2B_ATTEST') -> "TPM2B_ATTEST":
    return _esys_binding.TPM2B_ATTEST_PTR_value(obj)
TPM2B_ATTEST_PTR_value = _esys_binding.TPM2B_ATTEST_PTR_value

def new_TPM2B_ATTEST_PTR_PTR() -> "TPM2B_ATTEST **":
    return _esys_binding.new_TPM2B_ATTEST_PTR_PTR()
new_TPM2B_ATTEST_PTR_PTR = _esys_binding.new_TPM2B_ATTEST_PTR_PTR

def copy_TPM2B_ATTEST_PTR_PTR(value: 'TPM2B_ATTEST') -> "TPM2B_ATTEST **":
    return _esys_binding.copy_TPM2B_ATTEST_PTR_PTR(value)
copy_TPM2B_ATTEST_PTR_PTR = _esys_binding.copy_TPM2B_ATTEST_PTR_PTR

def delete_TPM2B_ATTEST_PTR_PTR(obj: 'TPM2B_ATTEST **') -> "void":
    return _esys_binding.delete_TPM2B_ATTEST_PTR_PTR(obj)
delete_TPM2B_ATTEST_PTR_PTR = _esys_binding.delete_TPM2B_ATTEST_PTR_PTR

def TPM2B_ATTEST_PTR_PTR_assign(obj: 'TPM2B_ATTEST **', value: 'TPM2B_ATTEST') -> "void":
    return _esys_binding.TPM2B_ATTEST_PTR_PTR_assign(obj, value)
TPM2B_ATTEST_PTR_PTR_assign = _esys_binding.TPM2B_ATTEST_PTR_PTR_assign

def TPM2B_ATTEST_PTR_PTR_value(obj: 'TPM2B_ATTEST **') -> "TPM2B_ATTEST *":
    return _esys_binding.TPM2B_ATTEST_PTR_PTR_value(obj)
TPM2B_ATTEST_PTR_PTR_value = _esys_binding.TPM2B_ATTEST_PTR_PTR_value
sizeof_TPMS_AUTH_COMMAND = _esys_binding.sizeof_TPMS_AUTH_COMMAND

def new_TPMS_AUTH_COMMAND_PTR() -> "TPMS_AUTH_COMMAND *":
    return _esys_binding.new_TPMS_AUTH_COMMAND_PTR()
new_TPMS_AUTH_COMMAND_PTR = _esys_binding.new_TPMS_AUTH_COMMAND_PTR

def copy_TPMS_AUTH_COMMAND_PTR(value: 'TPMS_AUTH_COMMAND') -> "TPMS_AUTH_COMMAND *":
    return _esys_binding.copy_TPMS_AUTH_COMMAND_PTR(value)
copy_TPMS_AUTH_COMMAND_PTR = _esys_binding.copy_TPMS_AUTH_COMMAND_PTR

def delete_TPMS_AUTH_COMMAND_PTR(obj: 'TPMS_AUTH_COMMAND') -> "void":
    return _esys_binding.delete_TPMS_AUTH_COMMAND_PTR(obj)
delete_TPMS_AUTH_COMMAND_PTR = _esys_binding.delete_TPMS_AUTH_COMMAND_PTR

def TPMS_AUTH_COMMAND_PTR_assign(obj: 'TPMS_AUTH_COMMAND', value: 'TPMS_AUTH_COMMAND') -> "void":
    return _esys_binding.TPMS_AUTH_COMMAND_PTR_assign(obj, value)
TPMS_AUTH_COMMAND_PTR_assign = _esys_binding.TPMS_AUTH_COMMAND_PTR_assign

def TPMS_AUTH_COMMAND_PTR_value(obj: 'TPMS_AUTH_COMMAND') -> "TPMS_AUTH_COMMAND":
    return _esys_binding.TPMS_AUTH_COMMAND_PTR_value(obj)
TPMS_AUTH_COMMAND_PTR_value = _esys_binding.TPMS_AUTH_COMMAND_PTR_value

def new_TPMS_AUTH_COMMAND_PTR_PTR() -> "TPMS_AUTH_COMMAND **":
    return _esys_binding.new_TPMS_AUTH_COMMAND_PTR_PTR()
new_TPMS_AUTH_COMMAND_PTR_PTR = _esys_binding.new_TPMS_AUTH_COMMAND_PTR_PTR

def copy_TPMS_AUTH_COMMAND_PTR_PTR(value: 'TPMS_AUTH_COMMAND') -> "TPMS_AUTH_COMMAND **":
    return _esys_binding.copy_TPMS_AUTH_COMMAND_PTR_PTR(value)
copy_TPMS_AUTH_COMMAND_PTR_PTR = _esys_binding.copy_TPMS_AUTH_COMMAND_PTR_PTR

def delete_TPMS_AUTH_COMMAND_PTR_PTR(obj: 'TPMS_AUTH_COMMAND **') -> "void":
    return _esys_binding.delete_TPMS_AUTH_COMMAND_PTR_PTR(obj)
delete_TPMS_AUTH_COMMAND_PTR_PTR = _esys_binding.delete_TPMS_AUTH_COMMAND_PTR_PTR

def TPMS_AUTH_COMMAND_PTR_PTR_assign(obj: 'TPMS_AUTH_COMMAND **', value: 'TPMS_AUTH_COMMAND') -> "void":
    return _esys_binding.TPMS_AUTH_COMMAND_PTR_PTR_assign(obj, value)
TPMS_AUTH_COMMAND_PTR_PTR_assign = _esys_binding.TPMS_AUTH_COMMAND_PTR_PTR_assign

def TPMS_AUTH_COMMAND_PTR_PTR_value(obj: 'TPMS_AUTH_COMMAND **') -> "TPMS_AUTH_COMMAND *":
    return _esys_binding.TPMS_AUTH_COMMAND_PTR_PTR_value(obj)
TPMS_AUTH_COMMAND_PTR_PTR_value = _esys_binding.TPMS_AUTH_COMMAND_PTR_PTR_value
sizeof_TPMS_AUTH_RESPONSE = _esys_binding.sizeof_TPMS_AUTH_RESPONSE

def new_TPMS_AUTH_RESPONSE_PTR() -> "TPMS_AUTH_RESPONSE *":
    return _esys_binding.new_TPMS_AUTH_RESPONSE_PTR()
new_TPMS_AUTH_RESPONSE_PTR = _esys_binding.new_TPMS_AUTH_RESPONSE_PTR

def copy_TPMS_AUTH_RESPONSE_PTR(value: 'TPMS_AUTH_RESPONSE') -> "TPMS_AUTH_RESPONSE *":
    return _esys_binding.copy_TPMS_AUTH_RESPONSE_PTR(value)
copy_TPMS_AUTH_RESPONSE_PTR = _esys_binding.copy_TPMS_AUTH_RESPONSE_PTR

def delete_TPMS_AUTH_RESPONSE_PTR(obj: 'TPMS_AUTH_RESPONSE') -> "void":
    return _esys_binding.delete_TPMS_AUTH_RESPONSE_PTR(obj)
delete_TPMS_AUTH_RESPONSE_PTR = _esys_binding.delete_TPMS_AUTH_RESPONSE_PTR

def TPMS_AUTH_RESPONSE_PTR_assign(obj: 'TPMS_AUTH_RESPONSE', value: 'TPMS_AUTH_RESPONSE') -> "void":
    return _esys_binding.TPMS_AUTH_RESPONSE_PTR_assign(obj, value)
TPMS_AUTH_RESPONSE_PTR_assign = _esys_binding.TPMS_AUTH_RESPONSE_PTR_assign

def TPMS_AUTH_RESPONSE_PTR_value(obj: 'TPMS_AUTH_RESPONSE') -> "TPMS_AUTH_RESPONSE":
    return _esys_binding.TPMS_AUTH_RESPONSE_PTR_value(obj)
TPMS_AUTH_RESPONSE_PTR_value = _esys_binding.TPMS_AUTH_RESPONSE_PTR_value

def new_TPMS_AUTH_RESPONSE_PTR_PTR() -> "TPMS_AUTH_RESPONSE **":
    return _esys_binding.new_TPMS_AUTH_RESPONSE_PTR_PTR()
new_TPMS_AUTH_RESPONSE_PTR_PTR = _esys_binding.new_TPMS_AUTH_RESPONSE_PTR_PTR

def copy_TPMS_AUTH_RESPONSE_PTR_PTR(value: 'TPMS_AUTH_RESPONSE') -> "TPMS_AUTH_RESPONSE **":
    return _esys_binding.copy_TPMS_AUTH_RESPONSE_PTR_PTR(value)
copy_TPMS_AUTH_RESPONSE_PTR_PTR = _esys_binding.copy_TPMS_AUTH_RESPONSE_PTR_PTR

def delete_TPMS_AUTH_RESPONSE_PTR_PTR(obj: 'TPMS_AUTH_RESPONSE **') -> "void":
    return _esys_binding.delete_TPMS_AUTH_RESPONSE_PTR_PTR(obj)
delete_TPMS_AUTH_RESPONSE_PTR_PTR = _esys_binding.delete_TPMS_AUTH_RESPONSE_PTR_PTR

def TPMS_AUTH_RESPONSE_PTR_PTR_assign(obj: 'TPMS_AUTH_RESPONSE **', value: 'TPMS_AUTH_RESPONSE') -> "void":
    return _esys_binding.TPMS_AUTH_RESPONSE_PTR_PTR_assign(obj, value)
TPMS_AUTH_RESPONSE_PTR_PTR_assign = _esys_binding.TPMS_AUTH_RESPONSE_PTR_PTR_assign

def TPMS_AUTH_RESPONSE_PTR_PTR_value(obj: 'TPMS_AUTH_RESPONSE **') -> "TPMS_AUTH_RESPONSE *":
    return _esys_binding.TPMS_AUTH_RESPONSE_PTR_PTR_value(obj)
TPMS_AUTH_RESPONSE_PTR_PTR_value = _esys_binding.TPMS_AUTH_RESPONSE_PTR_PTR_value
sizeof_TPMU_SYM_KEY_BITS = _esys_binding.sizeof_TPMU_SYM_KEY_BITS

def new_TPMU_SYM_KEY_BITS_PTR() -> "TPMU_SYM_KEY_BITS *":
    return _esys_binding.new_TPMU_SYM_KEY_BITS_PTR()
new_TPMU_SYM_KEY_BITS_PTR = _esys_binding.new_TPMU_SYM_KEY_BITS_PTR

def copy_TPMU_SYM_KEY_BITS_PTR(value: 'TPMU_SYM_KEY_BITS') -> "TPMU_SYM_KEY_BITS *":
    return _esys_binding.copy_TPMU_SYM_KEY_BITS_PTR(value)
copy_TPMU_SYM_KEY_BITS_PTR = _esys_binding.copy_TPMU_SYM_KEY_BITS_PTR

def delete_TPMU_SYM_KEY_BITS_PTR(obj: 'TPMU_SYM_KEY_BITS') -> "void":
    return _esys_binding.delete_TPMU_SYM_KEY_BITS_PTR(obj)
delete_TPMU_SYM_KEY_BITS_PTR = _esys_binding.delete_TPMU_SYM_KEY_BITS_PTR

def TPMU_SYM_KEY_BITS_PTR_assign(obj: 'TPMU_SYM_KEY_BITS', value: 'TPMU_SYM_KEY_BITS') -> "void":
    return _esys_binding.TPMU_SYM_KEY_BITS_PTR_assign(obj, value)
TPMU_SYM_KEY_BITS_PTR_assign = _esys_binding.TPMU_SYM_KEY_BITS_PTR_assign

def TPMU_SYM_KEY_BITS_PTR_value(obj: 'TPMU_SYM_KEY_BITS') -> "TPMU_SYM_KEY_BITS":
    return _esys_binding.TPMU_SYM_KEY_BITS_PTR_value(obj)
TPMU_SYM_KEY_BITS_PTR_value = _esys_binding.TPMU_SYM_KEY_BITS_PTR_value

def new_TPMU_SYM_KEY_BITS_PTR_PTR() -> "TPMU_SYM_KEY_BITS **":
    return _esys_binding.new_TPMU_SYM_KEY_BITS_PTR_PTR()
new_TPMU_SYM_KEY_BITS_PTR_PTR = _esys_binding.new_TPMU_SYM_KEY_BITS_PTR_PTR

def copy_TPMU_SYM_KEY_BITS_PTR_PTR(value: 'TPMU_SYM_KEY_BITS') -> "TPMU_SYM_KEY_BITS **":
    return _esys_binding.copy_TPMU_SYM_KEY_BITS_PTR_PTR(value)
copy_TPMU_SYM_KEY_BITS_PTR_PTR = _esys_binding.copy_TPMU_SYM_KEY_BITS_PTR_PTR

def delete_TPMU_SYM_KEY_BITS_PTR_PTR(obj: 'TPMU_SYM_KEY_BITS **') -> "void":
    return _esys_binding.delete_TPMU_SYM_KEY_BITS_PTR_PTR(obj)
delete_TPMU_SYM_KEY_BITS_PTR_PTR = _esys_binding.delete_TPMU_SYM_KEY_BITS_PTR_PTR

def TPMU_SYM_KEY_BITS_PTR_PTR_assign(obj: 'TPMU_SYM_KEY_BITS **', value: 'TPMU_SYM_KEY_BITS') -> "void":
    return _esys_binding.TPMU_SYM_KEY_BITS_PTR_PTR_assign(obj, value)
TPMU_SYM_KEY_BITS_PTR_PTR_assign = _esys_binding.TPMU_SYM_KEY_BITS_PTR_PTR_assign

def TPMU_SYM_KEY_BITS_PTR_PTR_value(obj: 'TPMU_SYM_KEY_BITS **') -> "TPMU_SYM_KEY_BITS *":
    return _esys_binding.TPMU_SYM_KEY_BITS_PTR_PTR_value(obj)
TPMU_SYM_KEY_BITS_PTR_PTR_value = _esys_binding.TPMU_SYM_KEY_BITS_PTR_PTR_value
sizeof_TPMU_SYM_MODE = _esys_binding.sizeof_TPMU_SYM_MODE

def new_TPMU_SYM_MODE_PTR() -> "TPMU_SYM_MODE *":
    return _esys_binding.new_TPMU_SYM_MODE_PTR()
new_TPMU_SYM_MODE_PTR = _esys_binding.new_TPMU_SYM_MODE_PTR

def copy_TPMU_SYM_MODE_PTR(value: 'TPMU_SYM_MODE') -> "TPMU_SYM_MODE *":
    return _esys_binding.copy_TPMU_SYM_MODE_PTR(value)
copy_TPMU_SYM_MODE_PTR = _esys_binding.copy_TPMU_SYM_MODE_PTR

def delete_TPMU_SYM_MODE_PTR(obj: 'TPMU_SYM_MODE') -> "void":
    return _esys_binding.delete_TPMU_SYM_MODE_PTR(obj)
delete_TPMU_SYM_MODE_PTR = _esys_binding.delete_TPMU_SYM_MODE_PTR

def TPMU_SYM_MODE_PTR_assign(obj: 'TPMU_SYM_MODE', value: 'TPMU_SYM_MODE') -> "void":
    return _esys_binding.TPMU_SYM_MODE_PTR_assign(obj, value)
TPMU_SYM_MODE_PTR_assign = _esys_binding.TPMU_SYM_MODE_PTR_assign

def TPMU_SYM_MODE_PTR_value(obj: 'TPMU_SYM_MODE') -> "TPMU_SYM_MODE":
    return _esys_binding.TPMU_SYM_MODE_PTR_value(obj)
TPMU_SYM_MODE_PTR_value = _esys_binding.TPMU_SYM_MODE_PTR_value

def new_TPMU_SYM_MODE_PTR_PTR() -> "TPMU_SYM_MODE **":
    return _esys_binding.new_TPMU_SYM_MODE_PTR_PTR()
new_TPMU_SYM_MODE_PTR_PTR = _esys_binding.new_TPMU_SYM_MODE_PTR_PTR

def copy_TPMU_SYM_MODE_PTR_PTR(value: 'TPMU_SYM_MODE') -> "TPMU_SYM_MODE **":
    return _esys_binding.copy_TPMU_SYM_MODE_PTR_PTR(value)
copy_TPMU_SYM_MODE_PTR_PTR = _esys_binding.copy_TPMU_SYM_MODE_PTR_PTR

def delete_TPMU_SYM_MODE_PTR_PTR(obj: 'TPMU_SYM_MODE **') -> "void":
    return _esys_binding.delete_TPMU_SYM_MODE_PTR_PTR(obj)
delete_TPMU_SYM_MODE_PTR_PTR = _esys_binding.delete_TPMU_SYM_MODE_PTR_PTR

def TPMU_SYM_MODE_PTR_PTR_assign(obj: 'TPMU_SYM_MODE **', value: 'TPMU_SYM_MODE') -> "void":
    return _esys_binding.TPMU_SYM_MODE_PTR_PTR_assign(obj, value)
TPMU_SYM_MODE_PTR_PTR_assign = _esys_binding.TPMU_SYM_MODE_PTR_PTR_assign

def TPMU_SYM_MODE_PTR_PTR_value(obj: 'TPMU_SYM_MODE **') -> "TPMU_SYM_MODE *":
    return _esys_binding.TPMU_SYM_MODE_PTR_PTR_value(obj)
TPMU_SYM_MODE_PTR_PTR_value = _esys_binding.TPMU_SYM_MODE_PTR_PTR_value
sizeof_TPMT_SYM_DEF = _esys_binding.sizeof_TPMT_SYM_DEF

def new_TPMT_SYM_DEF_PTR() -> "TPMT_SYM_DEF *":
    return _esys_binding.new_TPMT_SYM_DEF_PTR()
new_TPMT_SYM_DEF_PTR = _esys_binding.new_TPMT_SYM_DEF_PTR

def copy_TPMT_SYM_DEF_PTR(value: 'TPMT_SYM_DEF') -> "TPMT_SYM_DEF *":
    return _esys_binding.copy_TPMT_SYM_DEF_PTR(value)
copy_TPMT_SYM_DEF_PTR = _esys_binding.copy_TPMT_SYM_DEF_PTR

def delete_TPMT_SYM_DEF_PTR(obj: 'TPMT_SYM_DEF') -> "void":
    return _esys_binding.delete_TPMT_SYM_DEF_PTR(obj)
delete_TPMT_SYM_DEF_PTR = _esys_binding.delete_TPMT_SYM_DEF_PTR

def TPMT_SYM_DEF_PTR_assign(obj: 'TPMT_SYM_DEF', value: 'TPMT_SYM_DEF') -> "void":
    return _esys_binding.TPMT_SYM_DEF_PTR_assign(obj, value)
TPMT_SYM_DEF_PTR_assign = _esys_binding.TPMT_SYM_DEF_PTR_assign

def TPMT_SYM_DEF_PTR_value(obj: 'TPMT_SYM_DEF') -> "TPMT_SYM_DEF":
    return _esys_binding.TPMT_SYM_DEF_PTR_value(obj)
TPMT_SYM_DEF_PTR_value = _esys_binding.TPMT_SYM_DEF_PTR_value

def new_TPMT_SYM_DEF_PTR_PTR() -> "TPMT_SYM_DEF **":
    return _esys_binding.new_TPMT_SYM_DEF_PTR_PTR()
new_TPMT_SYM_DEF_PTR_PTR = _esys_binding.new_TPMT_SYM_DEF_PTR_PTR

def copy_TPMT_SYM_DEF_PTR_PTR(value: 'TPMT_SYM_DEF') -> "TPMT_SYM_DEF **":
    return _esys_binding.copy_TPMT_SYM_DEF_PTR_PTR(value)
copy_TPMT_SYM_DEF_PTR_PTR = _esys_binding.copy_TPMT_SYM_DEF_PTR_PTR

def delete_TPMT_SYM_DEF_PTR_PTR(obj: 'TPMT_SYM_DEF **') -> "void":
    return _esys_binding.delete_TPMT_SYM_DEF_PTR_PTR(obj)
delete_TPMT_SYM_DEF_PTR_PTR = _esys_binding.delete_TPMT_SYM_DEF_PTR_PTR

def TPMT_SYM_DEF_PTR_PTR_assign(obj: 'TPMT_SYM_DEF **', value: 'TPMT_SYM_DEF') -> "void":
    return _esys_binding.TPMT_SYM_DEF_PTR_PTR_assign(obj, value)
TPMT_SYM_DEF_PTR_PTR_assign = _esys_binding.TPMT_SYM_DEF_PTR_PTR_assign

def TPMT_SYM_DEF_PTR_PTR_value(obj: 'TPMT_SYM_DEF **') -> "TPMT_SYM_DEF *":
    return _esys_binding.TPMT_SYM_DEF_PTR_PTR_value(obj)
TPMT_SYM_DEF_PTR_PTR_value = _esys_binding.TPMT_SYM_DEF_PTR_PTR_value
sizeof_TPMT_SYM_DEF_OBJECT = _esys_binding.sizeof_TPMT_SYM_DEF_OBJECT

def new_TPMT_SYM_DEF_OBJECT_PTR() -> "TPMT_SYM_DEF_OBJECT *":
    return _esys_binding.new_TPMT_SYM_DEF_OBJECT_PTR()
new_TPMT_SYM_DEF_OBJECT_PTR = _esys_binding.new_TPMT_SYM_DEF_OBJECT_PTR

def copy_TPMT_SYM_DEF_OBJECT_PTR(value: 'TPMT_SYM_DEF_OBJECT') -> "TPMT_SYM_DEF_OBJECT *":
    return _esys_binding.copy_TPMT_SYM_DEF_OBJECT_PTR(value)
copy_TPMT_SYM_DEF_OBJECT_PTR = _esys_binding.copy_TPMT_SYM_DEF_OBJECT_PTR

def delete_TPMT_SYM_DEF_OBJECT_PTR(obj: 'TPMT_SYM_DEF_OBJECT') -> "void":
    return _esys_binding.delete_TPMT_SYM_DEF_OBJECT_PTR(obj)
delete_TPMT_SYM_DEF_OBJECT_PTR = _esys_binding.delete_TPMT_SYM_DEF_OBJECT_PTR

def TPMT_SYM_DEF_OBJECT_PTR_assign(obj: 'TPMT_SYM_DEF_OBJECT', value: 'TPMT_SYM_DEF_OBJECT') -> "void":
    return _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_assign(obj, value)
TPMT_SYM_DEF_OBJECT_PTR_assign = _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_assign

def TPMT_SYM_DEF_OBJECT_PTR_value(obj: 'TPMT_SYM_DEF_OBJECT') -> "TPMT_SYM_DEF_OBJECT":
    return _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_value(obj)
TPMT_SYM_DEF_OBJECT_PTR_value = _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_value

def new_TPMT_SYM_DEF_OBJECT_PTR_PTR() -> "TPMT_SYM_DEF_OBJECT **":
    return _esys_binding.new_TPMT_SYM_DEF_OBJECT_PTR_PTR()
new_TPMT_SYM_DEF_OBJECT_PTR_PTR = _esys_binding.new_TPMT_SYM_DEF_OBJECT_PTR_PTR

def copy_TPMT_SYM_DEF_OBJECT_PTR_PTR(value: 'TPMT_SYM_DEF_OBJECT') -> "TPMT_SYM_DEF_OBJECT **":
    return _esys_binding.copy_TPMT_SYM_DEF_OBJECT_PTR_PTR(value)
copy_TPMT_SYM_DEF_OBJECT_PTR_PTR = _esys_binding.copy_TPMT_SYM_DEF_OBJECT_PTR_PTR

def delete_TPMT_SYM_DEF_OBJECT_PTR_PTR(obj: 'TPMT_SYM_DEF_OBJECT **') -> "void":
    return _esys_binding.delete_TPMT_SYM_DEF_OBJECT_PTR_PTR(obj)
delete_TPMT_SYM_DEF_OBJECT_PTR_PTR = _esys_binding.delete_TPMT_SYM_DEF_OBJECT_PTR_PTR

def TPMT_SYM_DEF_OBJECT_PTR_PTR_assign(obj: 'TPMT_SYM_DEF_OBJECT **', value: 'TPMT_SYM_DEF_OBJECT') -> "void":
    return _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_PTR_assign(obj, value)
TPMT_SYM_DEF_OBJECT_PTR_PTR_assign = _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_PTR_assign

def TPMT_SYM_DEF_OBJECT_PTR_PTR_value(obj: 'TPMT_SYM_DEF_OBJECT **') -> "TPMT_SYM_DEF_OBJECT *":
    return _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_PTR_value(obj)
TPMT_SYM_DEF_OBJECT_PTR_PTR_value = _esys_binding.TPMT_SYM_DEF_OBJECT_PTR_PTR_value
sizeof_TPM2B_SYM_KEY = _esys_binding.sizeof_TPM2B_SYM_KEY

def new_TPM2B_SYM_KEY_PTR() -> "TPM2B_SYM_KEY *":
    return _esys_binding.new_TPM2B_SYM_KEY_PTR()
new_TPM2B_SYM_KEY_PTR = _esys_binding.new_TPM2B_SYM_KEY_PTR

def copy_TPM2B_SYM_KEY_PTR(value: 'TPM2B_SYM_KEY') -> "TPM2B_SYM_KEY *":
    return _esys_binding.copy_TPM2B_SYM_KEY_PTR(value)
copy_TPM2B_SYM_KEY_PTR = _esys_binding.copy_TPM2B_SYM_KEY_PTR

def delete_TPM2B_SYM_KEY_PTR(obj: 'TPM2B_SYM_KEY') -> "void":
    return _esys_binding.delete_TPM2B_SYM_KEY_PTR(obj)
delete_TPM2B_SYM_KEY_PTR = _esys_binding.delete_TPM2B_SYM_KEY_PTR

def TPM2B_SYM_KEY_PTR_assign(obj: 'TPM2B_SYM_KEY', value: 'TPM2B_SYM_KEY') -> "void":
    return _esys_binding.TPM2B_SYM_KEY_PTR_assign(obj, value)
TPM2B_SYM_KEY_PTR_assign = _esys_binding.TPM2B_SYM_KEY_PTR_assign

def TPM2B_SYM_KEY_PTR_value(obj: 'TPM2B_SYM_KEY') -> "TPM2B_SYM_KEY":
    return _esys_binding.TPM2B_SYM_KEY_PTR_value(obj)
TPM2B_SYM_KEY_PTR_value = _esys_binding.TPM2B_SYM_KEY_PTR_value

def new_TPM2B_SYM_KEY_PTR_PTR() -> "TPM2B_SYM_KEY **":
    return _esys_binding.new_TPM2B_SYM_KEY_PTR_PTR()
new_TPM2B_SYM_KEY_PTR_PTR = _esys_binding.new_TPM2B_SYM_KEY_PTR_PTR

def copy_TPM2B_SYM_KEY_PTR_PTR(value: 'TPM2B_SYM_KEY') -> "TPM2B_SYM_KEY **":
    return _esys_binding.copy_TPM2B_SYM_KEY_PTR_PTR(value)
copy_TPM2B_SYM_KEY_PTR_PTR = _esys_binding.copy_TPM2B_SYM_KEY_PTR_PTR

def delete_TPM2B_SYM_KEY_PTR_PTR(obj: 'TPM2B_SYM_KEY **') -> "void":
    return _esys_binding.delete_TPM2B_SYM_KEY_PTR_PTR(obj)
delete_TPM2B_SYM_KEY_PTR_PTR = _esys_binding.delete_TPM2B_SYM_KEY_PTR_PTR

def TPM2B_SYM_KEY_PTR_PTR_assign(obj: 'TPM2B_SYM_KEY **', value: 'TPM2B_SYM_KEY') -> "void":
    return _esys_binding.TPM2B_SYM_KEY_PTR_PTR_assign(obj, value)
TPM2B_SYM_KEY_PTR_PTR_assign = _esys_binding.TPM2B_SYM_KEY_PTR_PTR_assign

def TPM2B_SYM_KEY_PTR_PTR_value(obj: 'TPM2B_SYM_KEY **') -> "TPM2B_SYM_KEY *":
    return _esys_binding.TPM2B_SYM_KEY_PTR_PTR_value(obj)
TPM2B_SYM_KEY_PTR_PTR_value = _esys_binding.TPM2B_SYM_KEY_PTR_PTR_value
sizeof_TPMS_SYMCIPHER_PARMS = _esys_binding.sizeof_TPMS_SYMCIPHER_PARMS

def new_TPMS_SYMCIPHER_PARMS_PTR() -> "TPMS_SYMCIPHER_PARMS *":
    return _esys_binding.new_TPMS_SYMCIPHER_PARMS_PTR()
new_TPMS_SYMCIPHER_PARMS_PTR = _esys_binding.new_TPMS_SYMCIPHER_PARMS_PTR

def copy_TPMS_SYMCIPHER_PARMS_PTR(value: 'TPMS_SYMCIPHER_PARMS') -> "TPMS_SYMCIPHER_PARMS *":
    return _esys_binding.copy_TPMS_SYMCIPHER_PARMS_PTR(value)
copy_TPMS_SYMCIPHER_PARMS_PTR = _esys_binding.copy_TPMS_SYMCIPHER_PARMS_PTR

def delete_TPMS_SYMCIPHER_PARMS_PTR(obj: 'TPMS_SYMCIPHER_PARMS') -> "void":
    return _esys_binding.delete_TPMS_SYMCIPHER_PARMS_PTR(obj)
delete_TPMS_SYMCIPHER_PARMS_PTR = _esys_binding.delete_TPMS_SYMCIPHER_PARMS_PTR

def TPMS_SYMCIPHER_PARMS_PTR_assign(obj: 'TPMS_SYMCIPHER_PARMS', value: 'TPMS_SYMCIPHER_PARMS') -> "void":
    return _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_assign(obj, value)
TPMS_SYMCIPHER_PARMS_PTR_assign = _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_assign

def TPMS_SYMCIPHER_PARMS_PTR_value(obj: 'TPMS_SYMCIPHER_PARMS') -> "TPMS_SYMCIPHER_PARMS":
    return _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_value(obj)
TPMS_SYMCIPHER_PARMS_PTR_value = _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_value

def new_TPMS_SYMCIPHER_PARMS_PTR_PTR() -> "TPMS_SYMCIPHER_PARMS **":
    return _esys_binding.new_TPMS_SYMCIPHER_PARMS_PTR_PTR()
new_TPMS_SYMCIPHER_PARMS_PTR_PTR = _esys_binding.new_TPMS_SYMCIPHER_PARMS_PTR_PTR

def copy_TPMS_SYMCIPHER_PARMS_PTR_PTR(value: 'TPMS_SYMCIPHER_PARMS') -> "TPMS_SYMCIPHER_PARMS **":
    return _esys_binding.copy_TPMS_SYMCIPHER_PARMS_PTR_PTR(value)
copy_TPMS_SYMCIPHER_PARMS_PTR_PTR = _esys_binding.copy_TPMS_SYMCIPHER_PARMS_PTR_PTR

def delete_TPMS_SYMCIPHER_PARMS_PTR_PTR(obj: 'TPMS_SYMCIPHER_PARMS **') -> "void":
    return _esys_binding.delete_TPMS_SYMCIPHER_PARMS_PTR_PTR(obj)
delete_TPMS_SYMCIPHER_PARMS_PTR_PTR = _esys_binding.delete_TPMS_SYMCIPHER_PARMS_PTR_PTR

def TPMS_SYMCIPHER_PARMS_PTR_PTR_assign(obj: 'TPMS_SYMCIPHER_PARMS **', value: 'TPMS_SYMCIPHER_PARMS') -> "void":
    return _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_PTR_assign(obj, value)
TPMS_SYMCIPHER_PARMS_PTR_PTR_assign = _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_PTR_assign

def TPMS_SYMCIPHER_PARMS_PTR_PTR_value(obj: 'TPMS_SYMCIPHER_PARMS **') -> "TPMS_SYMCIPHER_PARMS *":
    return _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_PTR_value(obj)
TPMS_SYMCIPHER_PARMS_PTR_PTR_value = _esys_binding.TPMS_SYMCIPHER_PARMS_PTR_PTR_value
sizeof_TPM2B_SENSITIVE_DATA = _esys_binding.sizeof_TPM2B_SENSITIVE_DATA

def new_TPM2B_SENSITIVE_DATA_PTR() -> "TPM2B_SENSITIVE_DATA *":
    return _esys_binding.new_TPM2B_SENSITIVE_DATA_PTR()
new_TPM2B_SENSITIVE_DATA_PTR = _esys_binding.new_TPM2B_SENSITIVE_DATA_PTR

def copy_TPM2B_SENSITIVE_DATA_PTR(value: 'TPM2B_SENSITIVE_DATA') -> "TPM2B_SENSITIVE_DATA *":
    return _esys_binding.copy_TPM2B_SENSITIVE_DATA_PTR(value)
copy_TPM2B_SENSITIVE_DATA_PTR = _esys_binding.copy_TPM2B_SENSITIVE_DATA_PTR

def delete_TPM2B_SENSITIVE_DATA_PTR(obj: 'TPM2B_SENSITIVE_DATA') -> "void":
    return _esys_binding.delete_TPM2B_SENSITIVE_DATA_PTR(obj)
delete_TPM2B_SENSITIVE_DATA_PTR = _esys_binding.delete_TPM2B_SENSITIVE_DATA_PTR

def TPM2B_SENSITIVE_DATA_PTR_assign(obj: 'TPM2B_SENSITIVE_DATA', value: 'TPM2B_SENSITIVE_DATA') -> "void":
    return _esys_binding.TPM2B_SENSITIVE_DATA_PTR_assign(obj, value)
TPM2B_SENSITIVE_DATA_PTR_assign = _esys_binding.TPM2B_SENSITIVE_DATA_PTR_assign

def TPM2B_SENSITIVE_DATA_PTR_value(obj: 'TPM2B_SENSITIVE_DATA') -> "TPM2B_SENSITIVE_DATA":
    return _esys_binding.TPM2B_SENSITIVE_DATA_PTR_value(obj)
TPM2B_SENSITIVE_DATA_PTR_value = _esys_binding.TPM2B_SENSITIVE_DATA_PTR_value

def new_TPM2B_SENSITIVE_DATA_PTR_PTR() -> "TPM2B_SENSITIVE_DATA **":
    return _esys_binding.new_TPM2B_SENSITIVE_DATA_PTR_PTR()
new_TPM2B_SENSITIVE_DATA_PTR_PTR = _esys_binding.new_TPM2B_SENSITIVE_DATA_PTR_PTR

def copy_TPM2B_SENSITIVE_DATA_PTR_PTR(value: 'TPM2B_SENSITIVE_DATA') -> "TPM2B_SENSITIVE_DATA **":
    return _esys_binding.copy_TPM2B_SENSITIVE_DATA_PTR_PTR(value)
copy_TPM2B_SENSITIVE_DATA_PTR_PTR = _esys_binding.copy_TPM2B_SENSITIVE_DATA_PTR_PTR

def delete_TPM2B_SENSITIVE_DATA_PTR_PTR(obj: 'TPM2B_SENSITIVE_DATA **') -> "void":
    return _esys_binding.delete_TPM2B_SENSITIVE_DATA_PTR_PTR(obj)
delete_TPM2B_SENSITIVE_DATA_PTR_PTR = _esys_binding.delete_TPM2B_SENSITIVE_DATA_PTR_PTR

def TPM2B_SENSITIVE_DATA_PTR_PTR_assign(obj: 'TPM2B_SENSITIVE_DATA **', value: 'TPM2B_SENSITIVE_DATA') -> "void":
    return _esys_binding.TPM2B_SENSITIVE_DATA_PTR_PTR_assign(obj, value)
TPM2B_SENSITIVE_DATA_PTR_PTR_assign = _esys_binding.TPM2B_SENSITIVE_DATA_PTR_PTR_assign

def TPM2B_SENSITIVE_DATA_PTR_PTR_value(obj: 'TPM2B_SENSITIVE_DATA **') -> "TPM2B_SENSITIVE_DATA *":
    return _esys_binding.TPM2B_SENSITIVE_DATA_PTR_PTR_value(obj)
TPM2B_SENSITIVE_DATA_PTR_PTR_value = _esys_binding.TPM2B_SENSITIVE_DATA_PTR_PTR_value
sizeof_TPMS_SENSITIVE_CREATE = _esys_binding.sizeof_TPMS_SENSITIVE_CREATE

def new_TPMS_SENSITIVE_CREATE_PTR() -> "TPMS_SENSITIVE_CREATE *":
    return _esys_binding.new_TPMS_SENSITIVE_CREATE_PTR()
new_TPMS_SENSITIVE_CREATE_PTR = _esys_binding.new_TPMS_SENSITIVE_CREATE_PTR

def copy_TPMS_SENSITIVE_CREATE_PTR(value: 'TPMS_SENSITIVE_CREATE') -> "TPMS_SENSITIVE_CREATE *":
    return _esys_binding.copy_TPMS_SENSITIVE_CREATE_PTR(value)
copy_TPMS_SENSITIVE_CREATE_PTR = _esys_binding.copy_TPMS_SENSITIVE_CREATE_PTR

def delete_TPMS_SENSITIVE_CREATE_PTR(obj: 'TPMS_SENSITIVE_CREATE') -> "void":
    return _esys_binding.delete_TPMS_SENSITIVE_CREATE_PTR(obj)
delete_TPMS_SENSITIVE_CREATE_PTR = _esys_binding.delete_TPMS_SENSITIVE_CREATE_PTR

def TPMS_SENSITIVE_CREATE_PTR_assign(obj: 'TPMS_SENSITIVE_CREATE', value: 'TPMS_SENSITIVE_CREATE') -> "void":
    return _esys_binding.TPMS_SENSITIVE_CREATE_PTR_assign(obj, value)
TPMS_SENSITIVE_CREATE_PTR_assign = _esys_binding.TPMS_SENSITIVE_CREATE_PTR_assign

def TPMS_SENSITIVE_CREATE_PTR_value(obj: 'TPMS_SENSITIVE_CREATE') -> "TPMS_SENSITIVE_CREATE":
    return _esys_binding.TPMS_SENSITIVE_CREATE_PTR_value(obj)
TPMS_SENSITIVE_CREATE_PTR_value = _esys_binding.TPMS_SENSITIVE_CREATE_PTR_value

def new_TPMS_SENSITIVE_CREATE_PTR_PTR() -> "TPMS_SENSITIVE_CREATE **":
    return _esys_binding.new_TPMS_SENSITIVE_CREATE_PTR_PTR()
new_TPMS_SENSITIVE_CREATE_PTR_PTR = _esys_binding.new_TPMS_SENSITIVE_CREATE_PTR_PTR

def copy_TPMS_SENSITIVE_CREATE_PTR_PTR(value: 'TPMS_SENSITIVE_CREATE') -> "TPMS_SENSITIVE_CREATE **":
    return _esys_binding.copy_TPMS_SENSITIVE_CREATE_PTR_PTR(value)
copy_TPMS_SENSITIVE_CREATE_PTR_PTR = _esys_binding.copy_TPMS_SENSITIVE_CREATE_PTR_PTR

def delete_TPMS_SENSITIVE_CREATE_PTR_PTR(obj: 'TPMS_SENSITIVE_CREATE **') -> "void":
    return _esys_binding.delete_TPMS_SENSITIVE_CREATE_PTR_PTR(obj)
delete_TPMS_SENSITIVE_CREATE_PTR_PTR = _esys_binding.delete_TPMS_SENSITIVE_CREATE_PTR_PTR

def TPMS_SENSITIVE_CREATE_PTR_PTR_assign(obj: 'TPMS_SENSITIVE_CREATE **', value: 'TPMS_SENSITIVE_CREATE') -> "void":
    return _esys_binding.TPMS_SENSITIVE_CREATE_PTR_PTR_assign(obj, value)
TPMS_SENSITIVE_CREATE_PTR_PTR_assign = _esys_binding.TPMS_SENSITIVE_CREATE_PTR_PTR_assign

def TPMS_SENSITIVE_CREATE_PTR_PTR_value(obj: 'TPMS_SENSITIVE_CREATE **') -> "TPMS_SENSITIVE_CREATE *":
    return _esys_binding.TPMS_SENSITIVE_CREATE_PTR_PTR_value(obj)
TPMS_SENSITIVE_CREATE_PTR_PTR_value = _esys_binding.TPMS_SENSITIVE_CREATE_PTR_PTR_value
sizeof_TPM2B_SENSITIVE_CREATE = _esys_binding.sizeof_TPM2B_SENSITIVE_CREATE

def new_TPM2B_SENSITIVE_CREATE_PTR() -> "TPM2B_SENSITIVE_CREATE *":
    return _esys_binding.new_TPM2B_SENSITIVE_CREATE_PTR()
new_TPM2B_SENSITIVE_CREATE_PTR = _esys_binding.new_TPM2B_SENSITIVE_CREATE_PTR

def copy_TPM2B_SENSITIVE_CREATE_PTR(value: 'TPM2B_SENSITIVE_CREATE') -> "TPM2B_SENSITIVE_CREATE *":
    return _esys_binding.copy_TPM2B_SENSITIVE_CREATE_PTR(value)
copy_TPM2B_SENSITIVE_CREATE_PTR = _esys_binding.copy_TPM2B_SENSITIVE_CREATE_PTR

def delete_TPM2B_SENSITIVE_CREATE_PTR(obj: 'TPM2B_SENSITIVE_CREATE') -> "void":
    return _esys_binding.delete_TPM2B_SENSITIVE_CREATE_PTR(obj)
delete_TPM2B_SENSITIVE_CREATE_PTR = _esys_binding.delete_TPM2B_SENSITIVE_CREATE_PTR

def TPM2B_SENSITIVE_CREATE_PTR_assign(obj: 'TPM2B_SENSITIVE_CREATE', value: 'TPM2B_SENSITIVE_CREATE') -> "void":
    return _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_assign(obj, value)
TPM2B_SENSITIVE_CREATE_PTR_assign = _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_assign

def TPM2B_SENSITIVE_CREATE_PTR_value(obj: 'TPM2B_SENSITIVE_CREATE') -> "TPM2B_SENSITIVE_CREATE":
    return _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_value(obj)
TPM2B_SENSITIVE_CREATE_PTR_value = _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_value

def new_TPM2B_SENSITIVE_CREATE_PTR_PTR() -> "TPM2B_SENSITIVE_CREATE **":
    return _esys_binding.new_TPM2B_SENSITIVE_CREATE_PTR_PTR()
new_TPM2B_SENSITIVE_CREATE_PTR_PTR = _esys_binding.new_TPM2B_SENSITIVE_CREATE_PTR_PTR

def copy_TPM2B_SENSITIVE_CREATE_PTR_PTR(value: 'TPM2B_SENSITIVE_CREATE') -> "TPM2B_SENSITIVE_CREATE **":
    return _esys_binding.copy_TPM2B_SENSITIVE_CREATE_PTR_PTR(value)
copy_TPM2B_SENSITIVE_CREATE_PTR_PTR = _esys_binding.copy_TPM2B_SENSITIVE_CREATE_PTR_PTR

def delete_TPM2B_SENSITIVE_CREATE_PTR_PTR(obj: 'TPM2B_SENSITIVE_CREATE **') -> "void":
    return _esys_binding.delete_TPM2B_SENSITIVE_CREATE_PTR_PTR(obj)
delete_TPM2B_SENSITIVE_CREATE_PTR_PTR = _esys_binding.delete_TPM2B_SENSITIVE_CREATE_PTR_PTR

def TPM2B_SENSITIVE_CREATE_PTR_PTR_assign(obj: 'TPM2B_SENSITIVE_CREATE **', value: 'TPM2B_SENSITIVE_CREATE') -> "void":
    return _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_PTR_assign(obj, value)
TPM2B_SENSITIVE_CREATE_PTR_PTR_assign = _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_PTR_assign

def TPM2B_SENSITIVE_CREATE_PTR_PTR_value(obj: 'TPM2B_SENSITIVE_CREATE **') -> "TPM2B_SENSITIVE_CREATE *":
    return _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_PTR_value(obj)
TPM2B_SENSITIVE_CREATE_PTR_PTR_value = _esys_binding.TPM2B_SENSITIVE_CREATE_PTR_PTR_value
sizeof_TPMS_SCHEME_HASH = _esys_binding.sizeof_TPMS_SCHEME_HASH

def new_TPMS_SCHEME_HASH_PTR() -> "TPMS_SCHEME_HASH *":
    return _esys_binding.new_TPMS_SCHEME_HASH_PTR()
new_TPMS_SCHEME_HASH_PTR = _esys_binding.new_TPMS_SCHEME_HASH_PTR

def copy_TPMS_SCHEME_HASH_PTR(value: 'TPMS_SCHEME_HASH') -> "TPMS_SCHEME_HASH *":
    return _esys_binding.copy_TPMS_SCHEME_HASH_PTR(value)
copy_TPMS_SCHEME_HASH_PTR = _esys_binding.copy_TPMS_SCHEME_HASH_PTR

def delete_TPMS_SCHEME_HASH_PTR(obj: 'TPMS_SCHEME_HASH') -> "void":
    return _esys_binding.delete_TPMS_SCHEME_HASH_PTR(obj)
delete_TPMS_SCHEME_HASH_PTR = _esys_binding.delete_TPMS_SCHEME_HASH_PTR

def TPMS_SCHEME_HASH_PTR_assign(obj: 'TPMS_SCHEME_HASH', value: 'TPMS_SCHEME_HASH') -> "void":
    return _esys_binding.TPMS_SCHEME_HASH_PTR_assign(obj, value)
TPMS_SCHEME_HASH_PTR_assign = _esys_binding.TPMS_SCHEME_HASH_PTR_assign

def TPMS_SCHEME_HASH_PTR_value(obj: 'TPMS_SCHEME_HASH') -> "TPMS_SCHEME_HASH":
    return _esys_binding.TPMS_SCHEME_HASH_PTR_value(obj)
TPMS_SCHEME_HASH_PTR_value = _esys_binding.TPMS_SCHEME_HASH_PTR_value

def new_TPMS_SCHEME_HASH_PTR_PTR() -> "TPMS_SCHEME_HASH **":
    return _esys_binding.new_TPMS_SCHEME_HASH_PTR_PTR()
new_TPMS_SCHEME_HASH_PTR_PTR = _esys_binding.new_TPMS_SCHEME_HASH_PTR_PTR

def copy_TPMS_SCHEME_HASH_PTR_PTR(value: 'TPMS_SCHEME_HASH') -> "TPMS_SCHEME_HASH **":
    return _esys_binding.copy_TPMS_SCHEME_HASH_PTR_PTR(value)
copy_TPMS_SCHEME_HASH_PTR_PTR = _esys_binding.copy_TPMS_SCHEME_HASH_PTR_PTR

def delete_TPMS_SCHEME_HASH_PTR_PTR(obj: 'TPMS_SCHEME_HASH **') -> "void":
    return _esys_binding.delete_TPMS_SCHEME_HASH_PTR_PTR(obj)
delete_TPMS_SCHEME_HASH_PTR_PTR = _esys_binding.delete_TPMS_SCHEME_HASH_PTR_PTR

def TPMS_SCHEME_HASH_PTR_PTR_assign(obj: 'TPMS_SCHEME_HASH **', value: 'TPMS_SCHEME_HASH') -> "void":
    return _esys_binding.TPMS_SCHEME_HASH_PTR_PTR_assign(obj, value)
TPMS_SCHEME_HASH_PTR_PTR_assign = _esys_binding.TPMS_SCHEME_HASH_PTR_PTR_assign

def TPMS_SCHEME_HASH_PTR_PTR_value(obj: 'TPMS_SCHEME_HASH **') -> "TPMS_SCHEME_HASH *":
    return _esys_binding.TPMS_SCHEME_HASH_PTR_PTR_value(obj)
TPMS_SCHEME_HASH_PTR_PTR_value = _esys_binding.TPMS_SCHEME_HASH_PTR_PTR_value
sizeof_TPMS_SCHEME_ECDAA = _esys_binding.sizeof_TPMS_SCHEME_ECDAA

def new_TPMS_SCHEME_ECDAA_PTR() -> "TPMS_SCHEME_ECDAA *":
    return _esys_binding.new_TPMS_SCHEME_ECDAA_PTR()
new_TPMS_SCHEME_ECDAA_PTR = _esys_binding.new_TPMS_SCHEME_ECDAA_PTR

def copy_TPMS_SCHEME_ECDAA_PTR(value: 'TPMS_SCHEME_ECDAA') -> "TPMS_SCHEME_ECDAA *":
    return _esys_binding.copy_TPMS_SCHEME_ECDAA_PTR(value)
copy_TPMS_SCHEME_ECDAA_PTR = _esys_binding.copy_TPMS_SCHEME_ECDAA_PTR

def delete_TPMS_SCHEME_ECDAA_PTR(obj: 'TPMS_SCHEME_ECDAA') -> "void":
    return _esys_binding.delete_TPMS_SCHEME_ECDAA_PTR(obj)
delete_TPMS_SCHEME_ECDAA_PTR = _esys_binding.delete_TPMS_SCHEME_ECDAA_PTR

def TPMS_SCHEME_ECDAA_PTR_assign(obj: 'TPMS_SCHEME_ECDAA', value: 'TPMS_SCHEME_ECDAA') -> "void":
    return _esys_binding.TPMS_SCHEME_ECDAA_PTR_assign(obj, value)
TPMS_SCHEME_ECDAA_PTR_assign = _esys_binding.TPMS_SCHEME_ECDAA_PTR_assign

def TPMS_SCHEME_ECDAA_PTR_value(obj: 'TPMS_SCHEME_ECDAA') -> "TPMS_SCHEME_ECDAA":
    return _esys_binding.TPMS_SCHEME_ECDAA_PTR_value(obj)
TPMS_SCHEME_ECDAA_PTR_value = _esys_binding.TPMS_SCHEME_ECDAA_PTR_value

def new_TPMS_SCHEME_ECDAA_PTR_PTR() -> "TPMS_SCHEME_ECDAA **":
    return _esys_binding.new_TPMS_SCHEME_ECDAA_PTR_PTR()
new_TPMS_SCHEME_ECDAA_PTR_PTR = _esys_binding.new_TPMS_SCHEME_ECDAA_PTR_PTR

def copy_TPMS_SCHEME_ECDAA_PTR_PTR(value: 'TPMS_SCHEME_ECDAA') -> "TPMS_SCHEME_ECDAA **":
    return _esys_binding.copy_TPMS_SCHEME_ECDAA_PTR_PTR(value)
copy_TPMS_SCHEME_ECDAA_PTR_PTR = _esys_binding.copy_TPMS_SCHEME_ECDAA_PTR_PTR

def delete_TPMS_SCHEME_ECDAA_PTR_PTR(obj: 'TPMS_SCHEME_ECDAA **') -> "void":
    return _esys_binding.delete_TPMS_SCHEME_ECDAA_PTR_PTR(obj)
delete_TPMS_SCHEME_ECDAA_PTR_PTR = _esys_binding.delete_TPMS_SCHEME_ECDAA_PTR_PTR

def TPMS_SCHEME_ECDAA_PTR_PTR_assign(obj: 'TPMS_SCHEME_ECDAA **', value: 'TPMS_SCHEME_ECDAA') -> "void":
    return _esys_binding.TPMS_SCHEME_ECDAA_PTR_PTR_assign(obj, value)
TPMS_SCHEME_ECDAA_PTR_PTR_assign = _esys_binding.TPMS_SCHEME_ECDAA_PTR_PTR_assign

def TPMS_SCHEME_ECDAA_PTR_PTR_value(obj: 'TPMS_SCHEME_ECDAA **') -> "TPMS_SCHEME_ECDAA *":
    return _esys_binding.TPMS_SCHEME_ECDAA_PTR_PTR_value(obj)
TPMS_SCHEME_ECDAA_PTR_PTR_value = _esys_binding.TPMS_SCHEME_ECDAA_PTR_PTR_value
sizeof_TPMS_SCHEME_XOR = _esys_binding.sizeof_TPMS_SCHEME_XOR

def new_TPMS_SCHEME_XOR_PTR() -> "TPMS_SCHEME_XOR *":
    return _esys_binding.new_TPMS_SCHEME_XOR_PTR()
new_TPMS_SCHEME_XOR_PTR = _esys_binding.new_TPMS_SCHEME_XOR_PTR

def copy_TPMS_SCHEME_XOR_PTR(value: 'TPMS_SCHEME_XOR') -> "TPMS_SCHEME_XOR *":
    return _esys_binding.copy_TPMS_SCHEME_XOR_PTR(value)
copy_TPMS_SCHEME_XOR_PTR = _esys_binding.copy_TPMS_SCHEME_XOR_PTR

def delete_TPMS_SCHEME_XOR_PTR(obj: 'TPMS_SCHEME_XOR') -> "void":
    return _esys_binding.delete_TPMS_SCHEME_XOR_PTR(obj)
delete_TPMS_SCHEME_XOR_PTR = _esys_binding.delete_TPMS_SCHEME_XOR_PTR

def TPMS_SCHEME_XOR_PTR_assign(obj: 'TPMS_SCHEME_XOR', value: 'TPMS_SCHEME_XOR') -> "void":
    return _esys_binding.TPMS_SCHEME_XOR_PTR_assign(obj, value)
TPMS_SCHEME_XOR_PTR_assign = _esys_binding.TPMS_SCHEME_XOR_PTR_assign

def TPMS_SCHEME_XOR_PTR_value(obj: 'TPMS_SCHEME_XOR') -> "TPMS_SCHEME_XOR":
    return _esys_binding.TPMS_SCHEME_XOR_PTR_value(obj)
TPMS_SCHEME_XOR_PTR_value = _esys_binding.TPMS_SCHEME_XOR_PTR_value

def new_TPMS_SCHEME_XOR_PTR_PTR() -> "TPMS_SCHEME_XOR **":
    return _esys_binding.new_TPMS_SCHEME_XOR_PTR_PTR()
new_TPMS_SCHEME_XOR_PTR_PTR = _esys_binding.new_TPMS_SCHEME_XOR_PTR_PTR

def copy_TPMS_SCHEME_XOR_PTR_PTR(value: 'TPMS_SCHEME_XOR') -> "TPMS_SCHEME_XOR **":
    return _esys_binding.copy_TPMS_SCHEME_XOR_PTR_PTR(value)
copy_TPMS_SCHEME_XOR_PTR_PTR = _esys_binding.copy_TPMS_SCHEME_XOR_PTR_PTR

def delete_TPMS_SCHEME_XOR_PTR_PTR(obj: 'TPMS_SCHEME_XOR **') -> "void":
    return _esys_binding.delete_TPMS_SCHEME_XOR_PTR_PTR(obj)
delete_TPMS_SCHEME_XOR_PTR_PTR = _esys_binding.delete_TPMS_SCHEME_XOR_PTR_PTR

def TPMS_SCHEME_XOR_PTR_PTR_assign(obj: 'TPMS_SCHEME_XOR **', value: 'TPMS_SCHEME_XOR') -> "void":
    return _esys_binding.TPMS_SCHEME_XOR_PTR_PTR_assign(obj, value)
TPMS_SCHEME_XOR_PTR_PTR_assign = _esys_binding.TPMS_SCHEME_XOR_PTR_PTR_assign

def TPMS_SCHEME_XOR_PTR_PTR_value(obj: 'TPMS_SCHEME_XOR **') -> "TPMS_SCHEME_XOR *":
    return _esys_binding.TPMS_SCHEME_XOR_PTR_PTR_value(obj)
TPMS_SCHEME_XOR_PTR_PTR_value = _esys_binding.TPMS_SCHEME_XOR_PTR_PTR_value
sizeof_TPMU_SCHEME_KEYEDHASH = _esys_binding.sizeof_TPMU_SCHEME_KEYEDHASH

def new_TPMU_SCHEME_KEYEDHASH_PTR() -> "TPMU_SCHEME_KEYEDHASH *":
    return _esys_binding.new_TPMU_SCHEME_KEYEDHASH_PTR()
new_TPMU_SCHEME_KEYEDHASH_PTR = _esys_binding.new_TPMU_SCHEME_KEYEDHASH_PTR

def copy_TPMU_SCHEME_KEYEDHASH_PTR(value: 'TPMU_SCHEME_KEYEDHASH') -> "TPMU_SCHEME_KEYEDHASH *":
    return _esys_binding.copy_TPMU_SCHEME_KEYEDHASH_PTR(value)
copy_TPMU_SCHEME_KEYEDHASH_PTR = _esys_binding.copy_TPMU_SCHEME_KEYEDHASH_PTR

def delete_TPMU_SCHEME_KEYEDHASH_PTR(obj: 'TPMU_SCHEME_KEYEDHASH') -> "void":
    return _esys_binding.delete_TPMU_SCHEME_KEYEDHASH_PTR(obj)
delete_TPMU_SCHEME_KEYEDHASH_PTR = _esys_binding.delete_TPMU_SCHEME_KEYEDHASH_PTR

def TPMU_SCHEME_KEYEDHASH_PTR_assign(obj: 'TPMU_SCHEME_KEYEDHASH', value: 'TPMU_SCHEME_KEYEDHASH') -> "void":
    return _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_assign(obj, value)
TPMU_SCHEME_KEYEDHASH_PTR_assign = _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_assign

def TPMU_SCHEME_KEYEDHASH_PTR_value(obj: 'TPMU_SCHEME_KEYEDHASH') -> "TPMU_SCHEME_KEYEDHASH":
    return _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_value(obj)
TPMU_SCHEME_KEYEDHASH_PTR_value = _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_value

def new_TPMU_SCHEME_KEYEDHASH_PTR_PTR() -> "TPMU_SCHEME_KEYEDHASH **":
    return _esys_binding.new_TPMU_SCHEME_KEYEDHASH_PTR_PTR()
new_TPMU_SCHEME_KEYEDHASH_PTR_PTR = _esys_binding.new_TPMU_SCHEME_KEYEDHASH_PTR_PTR

def copy_TPMU_SCHEME_KEYEDHASH_PTR_PTR(value: 'TPMU_SCHEME_KEYEDHASH') -> "TPMU_SCHEME_KEYEDHASH **":
    return _esys_binding.copy_TPMU_SCHEME_KEYEDHASH_PTR_PTR(value)
copy_TPMU_SCHEME_KEYEDHASH_PTR_PTR = _esys_binding.copy_TPMU_SCHEME_KEYEDHASH_PTR_PTR

def delete_TPMU_SCHEME_KEYEDHASH_PTR_PTR(obj: 'TPMU_SCHEME_KEYEDHASH **') -> "void":
    return _esys_binding.delete_TPMU_SCHEME_KEYEDHASH_PTR_PTR(obj)
delete_TPMU_SCHEME_KEYEDHASH_PTR_PTR = _esys_binding.delete_TPMU_SCHEME_KEYEDHASH_PTR_PTR

def TPMU_SCHEME_KEYEDHASH_PTR_PTR_assign(obj: 'TPMU_SCHEME_KEYEDHASH **', value: 'TPMU_SCHEME_KEYEDHASH') -> "void":
    return _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_PTR_assign(obj, value)
TPMU_SCHEME_KEYEDHASH_PTR_PTR_assign = _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_PTR_assign

def TPMU_SCHEME_KEYEDHASH_PTR_PTR_value(obj: 'TPMU_SCHEME_KEYEDHASH **') -> "TPMU_SCHEME_KEYEDHASH *":
    return _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_PTR_value(obj)
TPMU_SCHEME_KEYEDHASH_PTR_PTR_value = _esys_binding.TPMU_SCHEME_KEYEDHASH_PTR_PTR_value
sizeof_TPMT_KEYEDHASH_SCHEME = _esys_binding.sizeof_TPMT_KEYEDHASH_SCHEME

def new_TPMT_KEYEDHASH_SCHEME_PTR() -> "TPMT_KEYEDHASH_SCHEME *":
    return _esys_binding.new_TPMT_KEYEDHASH_SCHEME_PTR()
new_TPMT_KEYEDHASH_SCHEME_PTR = _esys_binding.new_TPMT_KEYEDHASH_SCHEME_PTR

def copy_TPMT_KEYEDHASH_SCHEME_PTR(value: 'TPMT_KEYEDHASH_SCHEME') -> "TPMT_KEYEDHASH_SCHEME *":
    return _esys_binding.copy_TPMT_KEYEDHASH_SCHEME_PTR(value)
copy_TPMT_KEYEDHASH_SCHEME_PTR = _esys_binding.copy_TPMT_KEYEDHASH_SCHEME_PTR

def delete_TPMT_KEYEDHASH_SCHEME_PTR(obj: 'TPMT_KEYEDHASH_SCHEME') -> "void":
    return _esys_binding.delete_TPMT_KEYEDHASH_SCHEME_PTR(obj)
delete_TPMT_KEYEDHASH_SCHEME_PTR = _esys_binding.delete_TPMT_KEYEDHASH_SCHEME_PTR

def TPMT_KEYEDHASH_SCHEME_PTR_assign(obj: 'TPMT_KEYEDHASH_SCHEME', value: 'TPMT_KEYEDHASH_SCHEME') -> "void":
    return _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_assign(obj, value)
TPMT_KEYEDHASH_SCHEME_PTR_assign = _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_assign

def TPMT_KEYEDHASH_SCHEME_PTR_value(obj: 'TPMT_KEYEDHASH_SCHEME') -> "TPMT_KEYEDHASH_SCHEME":
    return _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_value(obj)
TPMT_KEYEDHASH_SCHEME_PTR_value = _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_value

def new_TPMT_KEYEDHASH_SCHEME_PTR_PTR() -> "TPMT_KEYEDHASH_SCHEME **":
    return _esys_binding.new_TPMT_KEYEDHASH_SCHEME_PTR_PTR()
new_TPMT_KEYEDHASH_SCHEME_PTR_PTR = _esys_binding.new_TPMT_KEYEDHASH_SCHEME_PTR_PTR

def copy_TPMT_KEYEDHASH_SCHEME_PTR_PTR(value: 'TPMT_KEYEDHASH_SCHEME') -> "TPMT_KEYEDHASH_SCHEME **":
    return _esys_binding.copy_TPMT_KEYEDHASH_SCHEME_PTR_PTR(value)
copy_TPMT_KEYEDHASH_SCHEME_PTR_PTR = _esys_binding.copy_TPMT_KEYEDHASH_SCHEME_PTR_PTR

def delete_TPMT_KEYEDHASH_SCHEME_PTR_PTR(obj: 'TPMT_KEYEDHASH_SCHEME **') -> "void":
    return _esys_binding.delete_TPMT_KEYEDHASH_SCHEME_PTR_PTR(obj)
delete_TPMT_KEYEDHASH_SCHEME_PTR_PTR = _esys_binding.delete_TPMT_KEYEDHASH_SCHEME_PTR_PTR

def TPMT_KEYEDHASH_SCHEME_PTR_PTR_assign(obj: 'TPMT_KEYEDHASH_SCHEME **', value: 'TPMT_KEYEDHASH_SCHEME') -> "void":
    return _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_PTR_assign(obj, value)
TPMT_KEYEDHASH_SCHEME_PTR_PTR_assign = _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_PTR_assign

def TPMT_KEYEDHASH_SCHEME_PTR_PTR_value(obj: 'TPMT_KEYEDHASH_SCHEME **') -> "TPMT_KEYEDHASH_SCHEME *":
    return _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_PTR_value(obj)
TPMT_KEYEDHASH_SCHEME_PTR_PTR_value = _esys_binding.TPMT_KEYEDHASH_SCHEME_PTR_PTR_value
sizeof_TPMU_SIG_SCHEME = _esys_binding.sizeof_TPMU_SIG_SCHEME

def new_TPMU_SIG_SCHEME_PTR() -> "TPMU_SIG_SCHEME *":
    return _esys_binding.new_TPMU_SIG_SCHEME_PTR()
new_TPMU_SIG_SCHEME_PTR = _esys_binding.new_TPMU_SIG_SCHEME_PTR

def copy_TPMU_SIG_SCHEME_PTR(value: 'TPMU_SIG_SCHEME') -> "TPMU_SIG_SCHEME *":
    return _esys_binding.copy_TPMU_SIG_SCHEME_PTR(value)
copy_TPMU_SIG_SCHEME_PTR = _esys_binding.copy_TPMU_SIG_SCHEME_PTR

def delete_TPMU_SIG_SCHEME_PTR(obj: 'TPMU_SIG_SCHEME') -> "void":
    return _esys_binding.delete_TPMU_SIG_SCHEME_PTR(obj)
delete_TPMU_SIG_SCHEME_PTR = _esys_binding.delete_TPMU_SIG_SCHEME_PTR

def TPMU_SIG_SCHEME_PTR_assign(obj: 'TPMU_SIG_SCHEME', value: 'TPMU_SIG_SCHEME') -> "void":
    return _esys_binding.TPMU_SIG_SCHEME_PTR_assign(obj, value)
TPMU_SIG_SCHEME_PTR_assign = _esys_binding.TPMU_SIG_SCHEME_PTR_assign

def TPMU_SIG_SCHEME_PTR_value(obj: 'TPMU_SIG_SCHEME') -> "TPMU_SIG_SCHEME":
    return _esys_binding.TPMU_SIG_SCHEME_PTR_value(obj)
TPMU_SIG_SCHEME_PTR_value = _esys_binding.TPMU_SIG_SCHEME_PTR_value

def new_TPMU_SIG_SCHEME_PTR_PTR() -> "TPMU_SIG_SCHEME **":
    return _esys_binding.new_TPMU_SIG_SCHEME_PTR_PTR()
new_TPMU_SIG_SCHEME_PTR_PTR = _esys_binding.new_TPMU_SIG_SCHEME_PTR_PTR

def copy_TPMU_SIG_SCHEME_PTR_PTR(value: 'TPMU_SIG_SCHEME') -> "TPMU_SIG_SCHEME **":
    return _esys_binding.copy_TPMU_SIG_SCHEME_PTR_PTR(value)
copy_TPMU_SIG_SCHEME_PTR_PTR = _esys_binding.copy_TPMU_SIG_SCHEME_PTR_PTR

def delete_TPMU_SIG_SCHEME_PTR_PTR(obj: 'TPMU_SIG_SCHEME **') -> "void":
    return _esys_binding.delete_TPMU_SIG_SCHEME_PTR_PTR(obj)
delete_TPMU_SIG_SCHEME_PTR_PTR = _esys_binding.delete_TPMU_SIG_SCHEME_PTR_PTR

def TPMU_SIG_SCHEME_PTR_PTR_assign(obj: 'TPMU_SIG_SCHEME **', value: 'TPMU_SIG_SCHEME') -> "void":
    return _esys_binding.TPMU_SIG_SCHEME_PTR_PTR_assign(obj, value)
TPMU_SIG_SCHEME_PTR_PTR_assign = _esys_binding.TPMU_SIG_SCHEME_PTR_PTR_assign

def TPMU_SIG_SCHEME_PTR_PTR_value(obj: 'TPMU_SIG_SCHEME **') -> "TPMU_SIG_SCHEME *":
    return _esys_binding.TPMU_SIG_SCHEME_PTR_PTR_value(obj)
TPMU_SIG_SCHEME_PTR_PTR_value = _esys_binding.TPMU_SIG_SCHEME_PTR_PTR_value
sizeof_TPMT_SIG_SCHEME = _esys_binding.sizeof_TPMT_SIG_SCHEME

def new_TPMT_SIG_SCHEME_PTR() -> "TPMT_SIG_SCHEME *":
    return _esys_binding.new_TPMT_SIG_SCHEME_PTR()
new_TPMT_SIG_SCHEME_PTR = _esys_binding.new_TPMT_SIG_SCHEME_PTR

def copy_TPMT_SIG_SCHEME_PTR(value: 'TPMT_SIG_SCHEME') -> "TPMT_SIG_SCHEME *":
    return _esys_binding.copy_TPMT_SIG_SCHEME_PTR(value)
copy_TPMT_SIG_SCHEME_PTR = _esys_binding.copy_TPMT_SIG_SCHEME_PTR

def delete_TPMT_SIG_SCHEME_PTR(obj: 'TPMT_SIG_SCHEME') -> "void":
    return _esys_binding.delete_TPMT_SIG_SCHEME_PTR(obj)
delete_TPMT_SIG_SCHEME_PTR = _esys_binding.delete_TPMT_SIG_SCHEME_PTR

def TPMT_SIG_SCHEME_PTR_assign(obj: 'TPMT_SIG_SCHEME', value: 'TPMT_SIG_SCHEME') -> "void":
    return _esys_binding.TPMT_SIG_SCHEME_PTR_assign(obj, value)
TPMT_SIG_SCHEME_PTR_assign = _esys_binding.TPMT_SIG_SCHEME_PTR_assign

def TPMT_SIG_SCHEME_PTR_value(obj: 'TPMT_SIG_SCHEME') -> "TPMT_SIG_SCHEME":
    return _esys_binding.TPMT_SIG_SCHEME_PTR_value(obj)
TPMT_SIG_SCHEME_PTR_value = _esys_binding.TPMT_SIG_SCHEME_PTR_value

def new_TPMT_SIG_SCHEME_PTR_PTR() -> "TPMT_SIG_SCHEME **":
    return _esys_binding.new_TPMT_SIG_SCHEME_PTR_PTR()
new_TPMT_SIG_SCHEME_PTR_PTR = _esys_binding.new_TPMT_SIG_SCHEME_PTR_PTR

def copy_TPMT_SIG_SCHEME_PTR_PTR(value: 'TPMT_SIG_SCHEME') -> "TPMT_SIG_SCHEME **":
    return _esys_binding.copy_TPMT_SIG_SCHEME_PTR_PTR(value)
copy_TPMT_SIG_SCHEME_PTR_PTR = _esys_binding.copy_TPMT_SIG_SCHEME_PTR_PTR

def delete_TPMT_SIG_SCHEME_PTR_PTR(obj: 'TPMT_SIG_SCHEME **') -> "void":
    return _esys_binding.delete_TPMT_SIG_SCHEME_PTR_PTR(obj)
delete_TPMT_SIG_SCHEME_PTR_PTR = _esys_binding.delete_TPMT_SIG_SCHEME_PTR_PTR

def TPMT_SIG_SCHEME_PTR_PTR_assign(obj: 'TPMT_SIG_SCHEME **', value: 'TPMT_SIG_SCHEME') -> "void":
    return _esys_binding.TPMT_SIG_SCHEME_PTR_PTR_assign(obj, value)
TPMT_SIG_SCHEME_PTR_PTR_assign = _esys_binding.TPMT_SIG_SCHEME_PTR_PTR_assign

def TPMT_SIG_SCHEME_PTR_PTR_value(obj: 'TPMT_SIG_SCHEME **') -> "TPMT_SIG_SCHEME *":
    return _esys_binding.TPMT_SIG_SCHEME_PTR_PTR_value(obj)
TPMT_SIG_SCHEME_PTR_PTR_value = _esys_binding.TPMT_SIG_SCHEME_PTR_PTR_value
sizeof_TPMU_KDF_SCHEME = _esys_binding.sizeof_TPMU_KDF_SCHEME

def new_TPMU_KDF_SCHEME_PTR() -> "TPMU_KDF_SCHEME *":
    return _esys_binding.new_TPMU_KDF_SCHEME_PTR()
new_TPMU_KDF_SCHEME_PTR = _esys_binding.new_TPMU_KDF_SCHEME_PTR

def copy_TPMU_KDF_SCHEME_PTR(value: 'TPMU_KDF_SCHEME') -> "TPMU_KDF_SCHEME *":
    return _esys_binding.copy_TPMU_KDF_SCHEME_PTR(value)
copy_TPMU_KDF_SCHEME_PTR = _esys_binding.copy_TPMU_KDF_SCHEME_PTR

def delete_TPMU_KDF_SCHEME_PTR(obj: 'TPMU_KDF_SCHEME') -> "void":
    return _esys_binding.delete_TPMU_KDF_SCHEME_PTR(obj)
delete_TPMU_KDF_SCHEME_PTR = _esys_binding.delete_TPMU_KDF_SCHEME_PTR

def TPMU_KDF_SCHEME_PTR_assign(obj: 'TPMU_KDF_SCHEME', value: 'TPMU_KDF_SCHEME') -> "void":
    return _esys_binding.TPMU_KDF_SCHEME_PTR_assign(obj, value)
TPMU_KDF_SCHEME_PTR_assign = _esys_binding.TPMU_KDF_SCHEME_PTR_assign

def TPMU_KDF_SCHEME_PTR_value(obj: 'TPMU_KDF_SCHEME') -> "TPMU_KDF_SCHEME":
    return _esys_binding.TPMU_KDF_SCHEME_PTR_value(obj)
TPMU_KDF_SCHEME_PTR_value = _esys_binding.TPMU_KDF_SCHEME_PTR_value

def new_TPMU_KDF_SCHEME_PTR_PTR() -> "TPMU_KDF_SCHEME **":
    return _esys_binding.new_TPMU_KDF_SCHEME_PTR_PTR()
new_TPMU_KDF_SCHEME_PTR_PTR = _esys_binding.new_TPMU_KDF_SCHEME_PTR_PTR

def copy_TPMU_KDF_SCHEME_PTR_PTR(value: 'TPMU_KDF_SCHEME') -> "TPMU_KDF_SCHEME **":
    return _esys_binding.copy_TPMU_KDF_SCHEME_PTR_PTR(value)
copy_TPMU_KDF_SCHEME_PTR_PTR = _esys_binding.copy_TPMU_KDF_SCHEME_PTR_PTR

def delete_TPMU_KDF_SCHEME_PTR_PTR(obj: 'TPMU_KDF_SCHEME **') -> "void":
    return _esys_binding.delete_TPMU_KDF_SCHEME_PTR_PTR(obj)
delete_TPMU_KDF_SCHEME_PTR_PTR = _esys_binding.delete_TPMU_KDF_SCHEME_PTR_PTR

def TPMU_KDF_SCHEME_PTR_PTR_assign(obj: 'TPMU_KDF_SCHEME **', value: 'TPMU_KDF_SCHEME') -> "void":
    return _esys_binding.TPMU_KDF_SCHEME_PTR_PTR_assign(obj, value)
TPMU_KDF_SCHEME_PTR_PTR_assign = _esys_binding.TPMU_KDF_SCHEME_PTR_PTR_assign

def TPMU_KDF_SCHEME_PTR_PTR_value(obj: 'TPMU_KDF_SCHEME **') -> "TPMU_KDF_SCHEME *":
    return _esys_binding.TPMU_KDF_SCHEME_PTR_PTR_value(obj)
TPMU_KDF_SCHEME_PTR_PTR_value = _esys_binding.TPMU_KDF_SCHEME_PTR_PTR_value
sizeof_TPMT_KDF_SCHEME = _esys_binding.sizeof_TPMT_KDF_SCHEME

def new_TPMT_KDF_SCHEME_PTR() -> "TPMT_KDF_SCHEME *":
    return _esys_binding.new_TPMT_KDF_SCHEME_PTR()
new_TPMT_KDF_SCHEME_PTR = _esys_binding.new_TPMT_KDF_SCHEME_PTR

def copy_TPMT_KDF_SCHEME_PTR(value: 'TPMT_KDF_SCHEME') -> "TPMT_KDF_SCHEME *":
    return _esys_binding.copy_TPMT_KDF_SCHEME_PTR(value)
copy_TPMT_KDF_SCHEME_PTR = _esys_binding.copy_TPMT_KDF_SCHEME_PTR

def delete_TPMT_KDF_SCHEME_PTR(obj: 'TPMT_KDF_SCHEME') -> "void":
    return _esys_binding.delete_TPMT_KDF_SCHEME_PTR(obj)
delete_TPMT_KDF_SCHEME_PTR = _esys_binding.delete_TPMT_KDF_SCHEME_PTR

def TPMT_KDF_SCHEME_PTR_assign(obj: 'TPMT_KDF_SCHEME', value: 'TPMT_KDF_SCHEME') -> "void":
    return _esys_binding.TPMT_KDF_SCHEME_PTR_assign(obj, value)
TPMT_KDF_SCHEME_PTR_assign = _esys_binding.TPMT_KDF_SCHEME_PTR_assign

def TPMT_KDF_SCHEME_PTR_value(obj: 'TPMT_KDF_SCHEME') -> "TPMT_KDF_SCHEME":
    return _esys_binding.TPMT_KDF_SCHEME_PTR_value(obj)
TPMT_KDF_SCHEME_PTR_value = _esys_binding.TPMT_KDF_SCHEME_PTR_value

def new_TPMT_KDF_SCHEME_PTR_PTR() -> "TPMT_KDF_SCHEME **":
    return _esys_binding.new_TPMT_KDF_SCHEME_PTR_PTR()
new_TPMT_KDF_SCHEME_PTR_PTR = _esys_binding.new_TPMT_KDF_SCHEME_PTR_PTR

def copy_TPMT_KDF_SCHEME_PTR_PTR(value: 'TPMT_KDF_SCHEME') -> "TPMT_KDF_SCHEME **":
    return _esys_binding.copy_TPMT_KDF_SCHEME_PTR_PTR(value)
copy_TPMT_KDF_SCHEME_PTR_PTR = _esys_binding.copy_TPMT_KDF_SCHEME_PTR_PTR

def delete_TPMT_KDF_SCHEME_PTR_PTR(obj: 'TPMT_KDF_SCHEME **') -> "void":
    return _esys_binding.delete_TPMT_KDF_SCHEME_PTR_PTR(obj)
delete_TPMT_KDF_SCHEME_PTR_PTR = _esys_binding.delete_TPMT_KDF_SCHEME_PTR_PTR

def TPMT_KDF_SCHEME_PTR_PTR_assign(obj: 'TPMT_KDF_SCHEME **', value: 'TPMT_KDF_SCHEME') -> "void":
    return _esys_binding.TPMT_KDF_SCHEME_PTR_PTR_assign(obj, value)
TPMT_KDF_SCHEME_PTR_PTR_assign = _esys_binding.TPMT_KDF_SCHEME_PTR_PTR_assign

def TPMT_KDF_SCHEME_PTR_PTR_value(obj: 'TPMT_KDF_SCHEME **') -> "TPMT_KDF_SCHEME *":
    return _esys_binding.TPMT_KDF_SCHEME_PTR_PTR_value(obj)
TPMT_KDF_SCHEME_PTR_PTR_value = _esys_binding.TPMT_KDF_SCHEME_PTR_PTR_value
sizeof_TPMU_ASYM_SCHEME = _esys_binding.sizeof_TPMU_ASYM_SCHEME

def new_TPMU_ASYM_SCHEME_PTR() -> "TPMU_ASYM_SCHEME *":
    return _esys_binding.new_TPMU_ASYM_SCHEME_PTR()
new_TPMU_ASYM_SCHEME_PTR = _esys_binding.new_TPMU_ASYM_SCHEME_PTR

def copy_TPMU_ASYM_SCHEME_PTR(value: 'TPMU_ASYM_SCHEME') -> "TPMU_ASYM_SCHEME *":
    return _esys_binding.copy_TPMU_ASYM_SCHEME_PTR(value)
copy_TPMU_ASYM_SCHEME_PTR = _esys_binding.copy_TPMU_ASYM_SCHEME_PTR

def delete_TPMU_ASYM_SCHEME_PTR(obj: 'TPMU_ASYM_SCHEME') -> "void":
    return _esys_binding.delete_TPMU_ASYM_SCHEME_PTR(obj)
delete_TPMU_ASYM_SCHEME_PTR = _esys_binding.delete_TPMU_ASYM_SCHEME_PTR

def TPMU_ASYM_SCHEME_PTR_assign(obj: 'TPMU_ASYM_SCHEME', value: 'TPMU_ASYM_SCHEME') -> "void":
    return _esys_binding.TPMU_ASYM_SCHEME_PTR_assign(obj, value)
TPMU_ASYM_SCHEME_PTR_assign = _esys_binding.TPMU_ASYM_SCHEME_PTR_assign

def TPMU_ASYM_SCHEME_PTR_value(obj: 'TPMU_ASYM_SCHEME') -> "TPMU_ASYM_SCHEME":
    return _esys_binding.TPMU_ASYM_SCHEME_PTR_value(obj)
TPMU_ASYM_SCHEME_PTR_value = _esys_binding.TPMU_ASYM_SCHEME_PTR_value

def new_TPMU_ASYM_SCHEME_PTR_PTR() -> "TPMU_ASYM_SCHEME **":
    return _esys_binding.new_TPMU_ASYM_SCHEME_PTR_PTR()
new_TPMU_ASYM_SCHEME_PTR_PTR = _esys_binding.new_TPMU_ASYM_SCHEME_PTR_PTR

def copy_TPMU_ASYM_SCHEME_PTR_PTR(value: 'TPMU_ASYM_SCHEME') -> "TPMU_ASYM_SCHEME **":
    return _esys_binding.copy_TPMU_ASYM_SCHEME_PTR_PTR(value)
copy_TPMU_ASYM_SCHEME_PTR_PTR = _esys_binding.copy_TPMU_ASYM_SCHEME_PTR_PTR

def delete_TPMU_ASYM_SCHEME_PTR_PTR(obj: 'TPMU_ASYM_SCHEME **') -> "void":
    return _esys_binding.delete_TPMU_ASYM_SCHEME_PTR_PTR(obj)
delete_TPMU_ASYM_SCHEME_PTR_PTR = _esys_binding.delete_TPMU_ASYM_SCHEME_PTR_PTR

def TPMU_ASYM_SCHEME_PTR_PTR_assign(obj: 'TPMU_ASYM_SCHEME **', value: 'TPMU_ASYM_SCHEME') -> "void":
    return _esys_binding.TPMU_ASYM_SCHEME_PTR_PTR_assign(obj, value)
TPMU_ASYM_SCHEME_PTR_PTR_assign = _esys_binding.TPMU_ASYM_SCHEME_PTR_PTR_assign

def TPMU_ASYM_SCHEME_PTR_PTR_value(obj: 'TPMU_ASYM_SCHEME **') -> "TPMU_ASYM_SCHEME *":
    return _esys_binding.TPMU_ASYM_SCHEME_PTR_PTR_value(obj)
TPMU_ASYM_SCHEME_PTR_PTR_value = _esys_binding.TPMU_ASYM_SCHEME_PTR_PTR_value
sizeof_TPMT_ASYM_SCHEME = _esys_binding.sizeof_TPMT_ASYM_SCHEME

def new_TPMT_ASYM_SCHEME_PTR() -> "TPMT_ASYM_SCHEME *":
    return _esys_binding.new_TPMT_ASYM_SCHEME_PTR()
new_TPMT_ASYM_SCHEME_PTR = _esys_binding.new_TPMT_ASYM_SCHEME_PTR

def copy_TPMT_ASYM_SCHEME_PTR(value: 'TPMT_ASYM_SCHEME') -> "TPMT_ASYM_SCHEME *":
    return _esys_binding.copy_TPMT_ASYM_SCHEME_PTR(value)
copy_TPMT_ASYM_SCHEME_PTR = _esys_binding.copy_TPMT_ASYM_SCHEME_PTR

def delete_TPMT_ASYM_SCHEME_PTR(obj: 'TPMT_ASYM_SCHEME') -> "void":
    return _esys_binding.delete_TPMT_ASYM_SCHEME_PTR(obj)
delete_TPMT_ASYM_SCHEME_PTR = _esys_binding.delete_TPMT_ASYM_SCHEME_PTR

def TPMT_ASYM_SCHEME_PTR_assign(obj: 'TPMT_ASYM_SCHEME', value: 'TPMT_ASYM_SCHEME') -> "void":
    return _esys_binding.TPMT_ASYM_SCHEME_PTR_assign(obj, value)
TPMT_ASYM_SCHEME_PTR_assign = _esys_binding.TPMT_ASYM_SCHEME_PTR_assign

def TPMT_ASYM_SCHEME_PTR_value(obj: 'TPMT_ASYM_SCHEME') -> "TPMT_ASYM_SCHEME":
    return _esys_binding.TPMT_ASYM_SCHEME_PTR_value(obj)
TPMT_ASYM_SCHEME_PTR_value = _esys_binding.TPMT_ASYM_SCHEME_PTR_value

def new_TPMT_ASYM_SCHEME_PTR_PTR() -> "TPMT_ASYM_SCHEME **":
    return _esys_binding.new_TPMT_ASYM_SCHEME_PTR_PTR()
new_TPMT_ASYM_SCHEME_PTR_PTR = _esys_binding.new_TPMT_ASYM_SCHEME_PTR_PTR

def copy_TPMT_ASYM_SCHEME_PTR_PTR(value: 'TPMT_ASYM_SCHEME') -> "TPMT_ASYM_SCHEME **":
    return _esys_binding.copy_TPMT_ASYM_SCHEME_PTR_PTR(value)
copy_TPMT_ASYM_SCHEME_PTR_PTR = _esys_binding.copy_TPMT_ASYM_SCHEME_PTR_PTR

def delete_TPMT_ASYM_SCHEME_PTR_PTR(obj: 'TPMT_ASYM_SCHEME **') -> "void":
    return _esys_binding.delete_TPMT_ASYM_SCHEME_PTR_PTR(obj)
delete_TPMT_ASYM_SCHEME_PTR_PTR = _esys_binding.delete_TPMT_ASYM_SCHEME_PTR_PTR

def TPMT_ASYM_SCHEME_PTR_PTR_assign(obj: 'TPMT_ASYM_SCHEME **', value: 'TPMT_ASYM_SCHEME') -> "void":
    return _esys_binding.TPMT_ASYM_SCHEME_PTR_PTR_assign(obj, value)
TPMT_ASYM_SCHEME_PTR_PTR_assign = _esys_binding.TPMT_ASYM_SCHEME_PTR_PTR_assign

def TPMT_ASYM_SCHEME_PTR_PTR_value(obj: 'TPMT_ASYM_SCHEME **') -> "TPMT_ASYM_SCHEME *":
    return _esys_binding.TPMT_ASYM_SCHEME_PTR_PTR_value(obj)
TPMT_ASYM_SCHEME_PTR_PTR_value = _esys_binding.TPMT_ASYM_SCHEME_PTR_PTR_value
sizeof_TPMT_RSA_SCHEME = _esys_binding.sizeof_TPMT_RSA_SCHEME

def new_TPMT_RSA_SCHEME_PTR() -> "TPMT_RSA_SCHEME *":
    return _esys_binding.new_TPMT_RSA_SCHEME_PTR()
new_TPMT_RSA_SCHEME_PTR = _esys_binding.new_TPMT_RSA_SCHEME_PTR

def copy_TPMT_RSA_SCHEME_PTR(value: 'TPMT_RSA_SCHEME') -> "TPMT_RSA_SCHEME *":
    return _esys_binding.copy_TPMT_RSA_SCHEME_PTR(value)
copy_TPMT_RSA_SCHEME_PTR = _esys_binding.copy_TPMT_RSA_SCHEME_PTR

def delete_TPMT_RSA_SCHEME_PTR(obj: 'TPMT_RSA_SCHEME') -> "void":
    return _esys_binding.delete_TPMT_RSA_SCHEME_PTR(obj)
delete_TPMT_RSA_SCHEME_PTR = _esys_binding.delete_TPMT_RSA_SCHEME_PTR

def TPMT_RSA_SCHEME_PTR_assign(obj: 'TPMT_RSA_SCHEME', value: 'TPMT_RSA_SCHEME') -> "void":
    return _esys_binding.TPMT_RSA_SCHEME_PTR_assign(obj, value)
TPMT_RSA_SCHEME_PTR_assign = _esys_binding.TPMT_RSA_SCHEME_PTR_assign

def TPMT_RSA_SCHEME_PTR_value(obj: 'TPMT_RSA_SCHEME') -> "TPMT_RSA_SCHEME":
    return _esys_binding.TPMT_RSA_SCHEME_PTR_value(obj)
TPMT_RSA_SCHEME_PTR_value = _esys_binding.TPMT_RSA_SCHEME_PTR_value

def new_TPMT_RSA_SCHEME_PTR_PTR() -> "TPMT_RSA_SCHEME **":
    return _esys_binding.new_TPMT_RSA_SCHEME_PTR_PTR()
new_TPMT_RSA_SCHEME_PTR_PTR = _esys_binding.new_TPMT_RSA_SCHEME_PTR_PTR

def copy_TPMT_RSA_SCHEME_PTR_PTR(value: 'TPMT_RSA_SCHEME') -> "TPMT_RSA_SCHEME **":
    return _esys_binding.copy_TPMT_RSA_SCHEME_PTR_PTR(value)
copy_TPMT_RSA_SCHEME_PTR_PTR = _esys_binding.copy_TPMT_RSA_SCHEME_PTR_PTR

def delete_TPMT_RSA_SCHEME_PTR_PTR(obj: 'TPMT_RSA_SCHEME **') -> "void":
    return _esys_binding.delete_TPMT_RSA_SCHEME_PTR_PTR(obj)
delete_TPMT_RSA_SCHEME_PTR_PTR = _esys_binding.delete_TPMT_RSA_SCHEME_PTR_PTR

def TPMT_RSA_SCHEME_PTR_PTR_assign(obj: 'TPMT_RSA_SCHEME **', value: 'TPMT_RSA_SCHEME') -> "void":
    return _esys_binding.TPMT_RSA_SCHEME_PTR_PTR_assign(obj, value)
TPMT_RSA_SCHEME_PTR_PTR_assign = _esys_binding.TPMT_RSA_SCHEME_PTR_PTR_assign

def TPMT_RSA_SCHEME_PTR_PTR_value(obj: 'TPMT_RSA_SCHEME **') -> "TPMT_RSA_SCHEME *":
    return _esys_binding.TPMT_RSA_SCHEME_PTR_PTR_value(obj)
TPMT_RSA_SCHEME_PTR_PTR_value = _esys_binding.TPMT_RSA_SCHEME_PTR_PTR_value
sizeof_TPMT_RSA_DECRYPT = _esys_binding.sizeof_TPMT_RSA_DECRYPT

def new_TPMT_RSA_DECRYPT_PTR() -> "TPMT_RSA_DECRYPT *":
    return _esys_binding.new_TPMT_RSA_DECRYPT_PTR()
new_TPMT_RSA_DECRYPT_PTR = _esys_binding.new_TPMT_RSA_DECRYPT_PTR

def copy_TPMT_RSA_DECRYPT_PTR(value: 'TPMT_RSA_DECRYPT') -> "TPMT_RSA_DECRYPT *":
    return _esys_binding.copy_TPMT_RSA_DECRYPT_PTR(value)
copy_TPMT_RSA_DECRYPT_PTR = _esys_binding.copy_TPMT_RSA_DECRYPT_PTR

def delete_TPMT_RSA_DECRYPT_PTR(obj: 'TPMT_RSA_DECRYPT') -> "void":
    return _esys_binding.delete_TPMT_RSA_DECRYPT_PTR(obj)
delete_TPMT_RSA_DECRYPT_PTR = _esys_binding.delete_TPMT_RSA_DECRYPT_PTR

def TPMT_RSA_DECRYPT_PTR_assign(obj: 'TPMT_RSA_DECRYPT', value: 'TPMT_RSA_DECRYPT') -> "void":
    return _esys_binding.TPMT_RSA_DECRYPT_PTR_assign(obj, value)
TPMT_RSA_DECRYPT_PTR_assign = _esys_binding.TPMT_RSA_DECRYPT_PTR_assign

def TPMT_RSA_DECRYPT_PTR_value(obj: 'TPMT_RSA_DECRYPT') -> "TPMT_RSA_DECRYPT":
    return _esys_binding.TPMT_RSA_DECRYPT_PTR_value(obj)
TPMT_RSA_DECRYPT_PTR_value = _esys_binding.TPMT_RSA_DECRYPT_PTR_value

def new_TPMT_RSA_DECRYPT_PTR_PTR() -> "TPMT_RSA_DECRYPT **":
    return _esys_binding.new_TPMT_RSA_DECRYPT_PTR_PTR()
new_TPMT_RSA_DECRYPT_PTR_PTR = _esys_binding.new_TPMT_RSA_DECRYPT_PTR_PTR

def copy_TPMT_RSA_DECRYPT_PTR_PTR(value: 'TPMT_RSA_DECRYPT') -> "TPMT_RSA_DECRYPT **":
    return _esys_binding.copy_TPMT_RSA_DECRYPT_PTR_PTR(value)
copy_TPMT_RSA_DECRYPT_PTR_PTR = _esys_binding.copy_TPMT_RSA_DECRYPT_PTR_PTR

def delete_TPMT_RSA_DECRYPT_PTR_PTR(obj: 'TPMT_RSA_DECRYPT **') -> "void":
    return _esys_binding.delete_TPMT_RSA_DECRYPT_PTR_PTR(obj)
delete_TPMT_RSA_DECRYPT_PTR_PTR = _esys_binding.delete_TPMT_RSA_DECRYPT_PTR_PTR

def TPMT_RSA_DECRYPT_PTR_PTR_assign(obj: 'TPMT_RSA_DECRYPT **', value: 'TPMT_RSA_DECRYPT') -> "void":
    return _esys_binding.TPMT_RSA_DECRYPT_PTR_PTR_assign(obj, value)
TPMT_RSA_DECRYPT_PTR_PTR_assign = _esys_binding.TPMT_RSA_DECRYPT_PTR_PTR_assign

def TPMT_RSA_DECRYPT_PTR_PTR_value(obj: 'TPMT_RSA_DECRYPT **') -> "TPMT_RSA_DECRYPT *":
    return _esys_binding.TPMT_RSA_DECRYPT_PTR_PTR_value(obj)
TPMT_RSA_DECRYPT_PTR_PTR_value = _esys_binding.TPMT_RSA_DECRYPT_PTR_PTR_value
sizeof_TPM2B_PUBLIC_KEY_RSA = _esys_binding.sizeof_TPM2B_PUBLIC_KEY_RSA

def new_TPM2B_PUBLIC_KEY_RSA_PTR() -> "TPM2B_PUBLIC_KEY_RSA *":
    return _esys_binding.new_TPM2B_PUBLIC_KEY_RSA_PTR()
new_TPM2B_PUBLIC_KEY_RSA_PTR = _esys_binding.new_TPM2B_PUBLIC_KEY_RSA_PTR

def copy_TPM2B_PUBLIC_KEY_RSA_PTR(value: 'TPM2B_PUBLIC_KEY_RSA') -> "TPM2B_PUBLIC_KEY_RSA *":
    return _esys_binding.copy_TPM2B_PUBLIC_KEY_RSA_PTR(value)
copy_TPM2B_PUBLIC_KEY_RSA_PTR = _esys_binding.copy_TPM2B_PUBLIC_KEY_RSA_PTR

def delete_TPM2B_PUBLIC_KEY_RSA_PTR(obj: 'TPM2B_PUBLIC_KEY_RSA') -> "void":
    return _esys_binding.delete_TPM2B_PUBLIC_KEY_RSA_PTR(obj)
delete_TPM2B_PUBLIC_KEY_RSA_PTR = _esys_binding.delete_TPM2B_PUBLIC_KEY_RSA_PTR

def TPM2B_PUBLIC_KEY_RSA_PTR_assign(obj: 'TPM2B_PUBLIC_KEY_RSA', value: 'TPM2B_PUBLIC_KEY_RSA') -> "void":
    return _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_assign(obj, value)
TPM2B_PUBLIC_KEY_RSA_PTR_assign = _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_assign

def TPM2B_PUBLIC_KEY_RSA_PTR_value(obj: 'TPM2B_PUBLIC_KEY_RSA') -> "TPM2B_PUBLIC_KEY_RSA":
    return _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_value(obj)
TPM2B_PUBLIC_KEY_RSA_PTR_value = _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_value

def new_TPM2B_PUBLIC_KEY_RSA_PTR_PTR() -> "TPM2B_PUBLIC_KEY_RSA **":
    return _esys_binding.new_TPM2B_PUBLIC_KEY_RSA_PTR_PTR()
new_TPM2B_PUBLIC_KEY_RSA_PTR_PTR = _esys_binding.new_TPM2B_PUBLIC_KEY_RSA_PTR_PTR

def copy_TPM2B_PUBLIC_KEY_RSA_PTR_PTR(value: 'TPM2B_PUBLIC_KEY_RSA') -> "TPM2B_PUBLIC_KEY_RSA **":
    return _esys_binding.copy_TPM2B_PUBLIC_KEY_RSA_PTR_PTR(value)
copy_TPM2B_PUBLIC_KEY_RSA_PTR_PTR = _esys_binding.copy_TPM2B_PUBLIC_KEY_RSA_PTR_PTR

def delete_TPM2B_PUBLIC_KEY_RSA_PTR_PTR(obj: 'TPM2B_PUBLIC_KEY_RSA **') -> "void":
    return _esys_binding.delete_TPM2B_PUBLIC_KEY_RSA_PTR_PTR(obj)
delete_TPM2B_PUBLIC_KEY_RSA_PTR_PTR = _esys_binding.delete_TPM2B_PUBLIC_KEY_RSA_PTR_PTR

def TPM2B_PUBLIC_KEY_RSA_PTR_PTR_assign(obj: 'TPM2B_PUBLIC_KEY_RSA **', value: 'TPM2B_PUBLIC_KEY_RSA') -> "void":
    return _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_PTR_assign(obj, value)
TPM2B_PUBLIC_KEY_RSA_PTR_PTR_assign = _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_PTR_assign

def TPM2B_PUBLIC_KEY_RSA_PTR_PTR_value(obj: 'TPM2B_PUBLIC_KEY_RSA **') -> "TPM2B_PUBLIC_KEY_RSA *":
    return _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_PTR_value(obj)
TPM2B_PUBLIC_KEY_RSA_PTR_PTR_value = _esys_binding.TPM2B_PUBLIC_KEY_RSA_PTR_PTR_value
sizeof_TPM2B_PRIVATE_KEY_RSA = _esys_binding.sizeof_TPM2B_PRIVATE_KEY_RSA

def new_TPM2B_PRIVATE_KEY_RSA_PTR() -> "TPM2B_PRIVATE_KEY_RSA *":
    return _esys_binding.new_TPM2B_PRIVATE_KEY_RSA_PTR()
new_TPM2B_PRIVATE_KEY_RSA_PTR = _esys_binding.new_TPM2B_PRIVATE_KEY_RSA_PTR

def copy_TPM2B_PRIVATE_KEY_RSA_PTR(value: 'TPM2B_PRIVATE_KEY_RSA') -> "TPM2B_PRIVATE_KEY_RSA *":
    return _esys_binding.copy_TPM2B_PRIVATE_KEY_RSA_PTR(value)
copy_TPM2B_PRIVATE_KEY_RSA_PTR = _esys_binding.copy_TPM2B_PRIVATE_KEY_RSA_PTR

def delete_TPM2B_PRIVATE_KEY_RSA_PTR(obj: 'TPM2B_PRIVATE_KEY_RSA') -> "void":
    return _esys_binding.delete_TPM2B_PRIVATE_KEY_RSA_PTR(obj)
delete_TPM2B_PRIVATE_KEY_RSA_PTR = _esys_binding.delete_TPM2B_PRIVATE_KEY_RSA_PTR

def TPM2B_PRIVATE_KEY_RSA_PTR_assign(obj: 'TPM2B_PRIVATE_KEY_RSA', value: 'TPM2B_PRIVATE_KEY_RSA') -> "void":
    return _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_assign(obj, value)
TPM2B_PRIVATE_KEY_RSA_PTR_assign = _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_assign

def TPM2B_PRIVATE_KEY_RSA_PTR_value(obj: 'TPM2B_PRIVATE_KEY_RSA') -> "TPM2B_PRIVATE_KEY_RSA":
    return _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_value(obj)
TPM2B_PRIVATE_KEY_RSA_PTR_value = _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_value

def new_TPM2B_PRIVATE_KEY_RSA_PTR_PTR() -> "TPM2B_PRIVATE_KEY_RSA **":
    return _esys_binding.new_TPM2B_PRIVATE_KEY_RSA_PTR_PTR()
new_TPM2B_PRIVATE_KEY_RSA_PTR_PTR = _esys_binding.new_TPM2B_PRIVATE_KEY_RSA_PTR_PTR

def copy_TPM2B_PRIVATE_KEY_RSA_PTR_PTR(value: 'TPM2B_PRIVATE_KEY_RSA') -> "TPM2B_PRIVATE_KEY_RSA **":
    return _esys_binding.copy_TPM2B_PRIVATE_KEY_RSA_PTR_PTR(value)
copy_TPM2B_PRIVATE_KEY_RSA_PTR_PTR = _esys_binding.copy_TPM2B_PRIVATE_KEY_RSA_PTR_PTR

def delete_TPM2B_PRIVATE_KEY_RSA_PTR_PTR(obj: 'TPM2B_PRIVATE_KEY_RSA **') -> "void":
    return _esys_binding.delete_TPM2B_PRIVATE_KEY_RSA_PTR_PTR(obj)
delete_TPM2B_PRIVATE_KEY_RSA_PTR_PTR = _esys_binding.delete_TPM2B_PRIVATE_KEY_RSA_PTR_PTR

def TPM2B_PRIVATE_KEY_RSA_PTR_PTR_assign(obj: 'TPM2B_PRIVATE_KEY_RSA **', value: 'TPM2B_PRIVATE_KEY_RSA') -> "void":
    return _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_PTR_assign(obj, value)
TPM2B_PRIVATE_KEY_RSA_PTR_PTR_assign = _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_PTR_assign

def TPM2B_PRIVATE_KEY_RSA_PTR_PTR_value(obj: 'TPM2B_PRIVATE_KEY_RSA **') -> "TPM2B_PRIVATE_KEY_RSA *":
    return _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_PTR_value(obj)
TPM2B_PRIVATE_KEY_RSA_PTR_PTR_value = _esys_binding.TPM2B_PRIVATE_KEY_RSA_PTR_PTR_value
sizeof_TPM2B_ECC_PARAMETER = _esys_binding.sizeof_TPM2B_ECC_PARAMETER

def new_TPM2B_ECC_PARAMETER_PTR() -> "TPM2B_ECC_PARAMETER *":
    return _esys_binding.new_TPM2B_ECC_PARAMETER_PTR()
new_TPM2B_ECC_PARAMETER_PTR = _esys_binding.new_TPM2B_ECC_PARAMETER_PTR

def copy_TPM2B_ECC_PARAMETER_PTR(value: 'TPM2B_ECC_PARAMETER') -> "TPM2B_ECC_PARAMETER *":
    return _esys_binding.copy_TPM2B_ECC_PARAMETER_PTR(value)
copy_TPM2B_ECC_PARAMETER_PTR = _esys_binding.copy_TPM2B_ECC_PARAMETER_PTR

def delete_TPM2B_ECC_PARAMETER_PTR(obj: 'TPM2B_ECC_PARAMETER') -> "void":
    return _esys_binding.delete_TPM2B_ECC_PARAMETER_PTR(obj)
delete_TPM2B_ECC_PARAMETER_PTR = _esys_binding.delete_TPM2B_ECC_PARAMETER_PTR

def TPM2B_ECC_PARAMETER_PTR_assign(obj: 'TPM2B_ECC_PARAMETER', value: 'TPM2B_ECC_PARAMETER') -> "void":
    return _esys_binding.TPM2B_ECC_PARAMETER_PTR_assign(obj, value)
TPM2B_ECC_PARAMETER_PTR_assign = _esys_binding.TPM2B_ECC_PARAMETER_PTR_assign

def TPM2B_ECC_PARAMETER_PTR_value(obj: 'TPM2B_ECC_PARAMETER') -> "TPM2B_ECC_PARAMETER":
    return _esys_binding.TPM2B_ECC_PARAMETER_PTR_value(obj)
TPM2B_ECC_PARAMETER_PTR_value = _esys_binding.TPM2B_ECC_PARAMETER_PTR_value

def new_TPM2B_ECC_PARAMETER_PTR_PTR() -> "TPM2B_ECC_PARAMETER **":
    return _esys_binding.new_TPM2B_ECC_PARAMETER_PTR_PTR()
new_TPM2B_ECC_PARAMETER_PTR_PTR = _esys_binding.new_TPM2B_ECC_PARAMETER_PTR_PTR

def copy_TPM2B_ECC_PARAMETER_PTR_PTR(value: 'TPM2B_ECC_PARAMETER') -> "TPM2B_ECC_PARAMETER **":
    return _esys_binding.copy_TPM2B_ECC_PARAMETER_PTR_PTR(value)
copy_TPM2B_ECC_PARAMETER_PTR_PTR = _esys_binding.copy_TPM2B_ECC_PARAMETER_PTR_PTR

def delete_TPM2B_ECC_PARAMETER_PTR_PTR(obj: 'TPM2B_ECC_PARAMETER **') -> "void":
    return _esys_binding.delete_TPM2B_ECC_PARAMETER_PTR_PTR(obj)
delete_TPM2B_ECC_PARAMETER_PTR_PTR = _esys_binding.delete_TPM2B_ECC_PARAMETER_PTR_PTR

def TPM2B_ECC_PARAMETER_PTR_PTR_assign(obj: 'TPM2B_ECC_PARAMETER **', value: 'TPM2B_ECC_PARAMETER') -> "void":
    return _esys_binding.TPM2B_ECC_PARAMETER_PTR_PTR_assign(obj, value)
TPM2B_ECC_PARAMETER_PTR_PTR_assign = _esys_binding.TPM2B_ECC_PARAMETER_PTR_PTR_assign

def TPM2B_ECC_PARAMETER_PTR_PTR_value(obj: 'TPM2B_ECC_PARAMETER **') -> "TPM2B_ECC_PARAMETER *":
    return _esys_binding.TPM2B_ECC_PARAMETER_PTR_PTR_value(obj)
TPM2B_ECC_PARAMETER_PTR_PTR_value = _esys_binding.TPM2B_ECC_PARAMETER_PTR_PTR_value
sizeof_TPMS_ECC_POINT = _esys_binding.sizeof_TPMS_ECC_POINT

def new_TPMS_ECC_POINT_PTR() -> "TPMS_ECC_POINT *":
    return _esys_binding.new_TPMS_ECC_POINT_PTR()
new_TPMS_ECC_POINT_PTR = _esys_binding.new_TPMS_ECC_POINT_PTR

def copy_TPMS_ECC_POINT_PTR(value: 'TPMS_ECC_POINT') -> "TPMS_ECC_POINT *":
    return _esys_binding.copy_TPMS_ECC_POINT_PTR(value)
copy_TPMS_ECC_POINT_PTR = _esys_binding.copy_TPMS_ECC_POINT_PTR

def delete_TPMS_ECC_POINT_PTR(obj: 'TPMS_ECC_POINT') -> "void":
    return _esys_binding.delete_TPMS_ECC_POINT_PTR(obj)
delete_TPMS_ECC_POINT_PTR = _esys_binding.delete_TPMS_ECC_POINT_PTR

def TPMS_ECC_POINT_PTR_assign(obj: 'TPMS_ECC_POINT', value: 'TPMS_ECC_POINT') -> "void":
    return _esys_binding.TPMS_ECC_POINT_PTR_assign(obj, value)
TPMS_ECC_POINT_PTR_assign = _esys_binding.TPMS_ECC_POINT_PTR_assign

def TPMS_ECC_POINT_PTR_value(obj: 'TPMS_ECC_POINT') -> "TPMS_ECC_POINT":
    return _esys_binding.TPMS_ECC_POINT_PTR_value(obj)
TPMS_ECC_POINT_PTR_value = _esys_binding.TPMS_ECC_POINT_PTR_value

def new_TPMS_ECC_POINT_PTR_PTR() -> "TPMS_ECC_POINT **":
    return _esys_binding.new_TPMS_ECC_POINT_PTR_PTR()
new_TPMS_ECC_POINT_PTR_PTR = _esys_binding.new_TPMS_ECC_POINT_PTR_PTR

def copy_TPMS_ECC_POINT_PTR_PTR(value: 'TPMS_ECC_POINT') -> "TPMS_ECC_POINT **":
    return _esys_binding.copy_TPMS_ECC_POINT_PTR_PTR(value)
copy_TPMS_ECC_POINT_PTR_PTR = _esys_binding.copy_TPMS_ECC_POINT_PTR_PTR

def delete_TPMS_ECC_POINT_PTR_PTR(obj: 'TPMS_ECC_POINT **') -> "void":
    return _esys_binding.delete_TPMS_ECC_POINT_PTR_PTR(obj)
delete_TPMS_ECC_POINT_PTR_PTR = _esys_binding.delete_TPMS_ECC_POINT_PTR_PTR

def TPMS_ECC_POINT_PTR_PTR_assign(obj: 'TPMS_ECC_POINT **', value: 'TPMS_ECC_POINT') -> "void":
    return _esys_binding.TPMS_ECC_POINT_PTR_PTR_assign(obj, value)
TPMS_ECC_POINT_PTR_PTR_assign = _esys_binding.TPMS_ECC_POINT_PTR_PTR_assign

def TPMS_ECC_POINT_PTR_PTR_value(obj: 'TPMS_ECC_POINT **') -> "TPMS_ECC_POINT *":
    return _esys_binding.TPMS_ECC_POINT_PTR_PTR_value(obj)
TPMS_ECC_POINT_PTR_PTR_value = _esys_binding.TPMS_ECC_POINT_PTR_PTR_value
sizeof_TPM2B_ECC_POINT = _esys_binding.sizeof_TPM2B_ECC_POINT

def new_TPM2B_ECC_POINT_PTR() -> "TPM2B_ECC_POINT *":
    return _esys_binding.new_TPM2B_ECC_POINT_PTR()
new_TPM2B_ECC_POINT_PTR = _esys_binding.new_TPM2B_ECC_POINT_PTR

def copy_TPM2B_ECC_POINT_PTR(value: 'TPM2B_ECC_POINT') -> "TPM2B_ECC_POINT *":
    return _esys_binding.copy_TPM2B_ECC_POINT_PTR(value)
copy_TPM2B_ECC_POINT_PTR = _esys_binding.copy_TPM2B_ECC_POINT_PTR

def delete_TPM2B_ECC_POINT_PTR(obj: 'TPM2B_ECC_POINT') -> "void":
    return _esys_binding.delete_TPM2B_ECC_POINT_PTR(obj)
delete_TPM2B_ECC_POINT_PTR = _esys_binding.delete_TPM2B_ECC_POINT_PTR

def TPM2B_ECC_POINT_PTR_assign(obj: 'TPM2B_ECC_POINT', value: 'TPM2B_ECC_POINT') -> "void":
    return _esys_binding.TPM2B_ECC_POINT_PTR_assign(obj, value)
TPM2B_ECC_POINT_PTR_assign = _esys_binding.TPM2B_ECC_POINT_PTR_assign

def TPM2B_ECC_POINT_PTR_value(obj: 'TPM2B_ECC_POINT') -> "TPM2B_ECC_POINT":
    return _esys_binding.TPM2B_ECC_POINT_PTR_value(obj)
TPM2B_ECC_POINT_PTR_value = _esys_binding.TPM2B_ECC_POINT_PTR_value

def new_TPM2B_ECC_POINT_PTR_PTR() -> "TPM2B_ECC_POINT **":
    return _esys_binding.new_TPM2B_ECC_POINT_PTR_PTR()
new_TPM2B_ECC_POINT_PTR_PTR = _esys_binding.new_TPM2B_ECC_POINT_PTR_PTR

def copy_TPM2B_ECC_POINT_PTR_PTR(value: 'TPM2B_ECC_POINT') -> "TPM2B_ECC_POINT **":
    return _esys_binding.copy_TPM2B_ECC_POINT_PTR_PTR(value)
copy_TPM2B_ECC_POINT_PTR_PTR = _esys_binding.copy_TPM2B_ECC_POINT_PTR_PTR

def delete_TPM2B_ECC_POINT_PTR_PTR(obj: 'TPM2B_ECC_POINT **') -> "void":
    return _esys_binding.delete_TPM2B_ECC_POINT_PTR_PTR(obj)
delete_TPM2B_ECC_POINT_PTR_PTR = _esys_binding.delete_TPM2B_ECC_POINT_PTR_PTR

def TPM2B_ECC_POINT_PTR_PTR_assign(obj: 'TPM2B_ECC_POINT **', value: 'TPM2B_ECC_POINT') -> "void":
    return _esys_binding.TPM2B_ECC_POINT_PTR_PTR_assign(obj, value)
TPM2B_ECC_POINT_PTR_PTR_assign = _esys_binding.TPM2B_ECC_POINT_PTR_PTR_assign

def TPM2B_ECC_POINT_PTR_PTR_value(obj: 'TPM2B_ECC_POINT **') -> "TPM2B_ECC_POINT *":
    return _esys_binding.TPM2B_ECC_POINT_PTR_PTR_value(obj)
TPM2B_ECC_POINT_PTR_PTR_value = _esys_binding.TPM2B_ECC_POINT_PTR_PTR_value
sizeof_TPMT_ECC_SCHEME = _esys_binding.sizeof_TPMT_ECC_SCHEME

def new_TPMT_ECC_SCHEME_PTR() -> "TPMT_ECC_SCHEME *":
    return _esys_binding.new_TPMT_ECC_SCHEME_PTR()
new_TPMT_ECC_SCHEME_PTR = _esys_binding.new_TPMT_ECC_SCHEME_PTR

def copy_TPMT_ECC_SCHEME_PTR(value: 'TPMT_ECC_SCHEME') -> "TPMT_ECC_SCHEME *":
    return _esys_binding.copy_TPMT_ECC_SCHEME_PTR(value)
copy_TPMT_ECC_SCHEME_PTR = _esys_binding.copy_TPMT_ECC_SCHEME_PTR

def delete_TPMT_ECC_SCHEME_PTR(obj: 'TPMT_ECC_SCHEME') -> "void":
    return _esys_binding.delete_TPMT_ECC_SCHEME_PTR(obj)
delete_TPMT_ECC_SCHEME_PTR = _esys_binding.delete_TPMT_ECC_SCHEME_PTR

def TPMT_ECC_SCHEME_PTR_assign(obj: 'TPMT_ECC_SCHEME', value: 'TPMT_ECC_SCHEME') -> "void":
    return _esys_binding.TPMT_ECC_SCHEME_PTR_assign(obj, value)
TPMT_ECC_SCHEME_PTR_assign = _esys_binding.TPMT_ECC_SCHEME_PTR_assign

def TPMT_ECC_SCHEME_PTR_value(obj: 'TPMT_ECC_SCHEME') -> "TPMT_ECC_SCHEME":
    return _esys_binding.TPMT_ECC_SCHEME_PTR_value(obj)
TPMT_ECC_SCHEME_PTR_value = _esys_binding.TPMT_ECC_SCHEME_PTR_value

def new_TPMT_ECC_SCHEME_PTR_PTR() -> "TPMT_ECC_SCHEME **":
    return _esys_binding.new_TPMT_ECC_SCHEME_PTR_PTR()
new_TPMT_ECC_SCHEME_PTR_PTR = _esys_binding.new_TPMT_ECC_SCHEME_PTR_PTR

def copy_TPMT_ECC_SCHEME_PTR_PTR(value: 'TPMT_ECC_SCHEME') -> "TPMT_ECC_SCHEME **":
    return _esys_binding.copy_TPMT_ECC_SCHEME_PTR_PTR(value)
copy_TPMT_ECC_SCHEME_PTR_PTR = _esys_binding.copy_TPMT_ECC_SCHEME_PTR_PTR

def delete_TPMT_ECC_SCHEME_PTR_PTR(obj: 'TPMT_ECC_SCHEME **') -> "void":
    return _esys_binding.delete_TPMT_ECC_SCHEME_PTR_PTR(obj)
delete_TPMT_ECC_SCHEME_PTR_PTR = _esys_binding.delete_TPMT_ECC_SCHEME_PTR_PTR

def TPMT_ECC_SCHEME_PTR_PTR_assign(obj: 'TPMT_ECC_SCHEME **', value: 'TPMT_ECC_SCHEME') -> "void":
    return _esys_binding.TPMT_ECC_SCHEME_PTR_PTR_assign(obj, value)
TPMT_ECC_SCHEME_PTR_PTR_assign = _esys_binding.TPMT_ECC_SCHEME_PTR_PTR_assign

def TPMT_ECC_SCHEME_PTR_PTR_value(obj: 'TPMT_ECC_SCHEME **') -> "TPMT_ECC_SCHEME *":
    return _esys_binding.TPMT_ECC_SCHEME_PTR_PTR_value(obj)
TPMT_ECC_SCHEME_PTR_PTR_value = _esys_binding.TPMT_ECC_SCHEME_PTR_PTR_value
sizeof_TPMS_ALGORITHM_DETAIL_ECC = _esys_binding.sizeof_TPMS_ALGORITHM_DETAIL_ECC

def new_TPMS_ALGORITHM_DETAIL_ECC_PTR() -> "TPMS_ALGORITHM_DETAIL_ECC *":
    return _esys_binding.new_TPMS_ALGORITHM_DETAIL_ECC_PTR()
new_TPMS_ALGORITHM_DETAIL_ECC_PTR = _esys_binding.new_TPMS_ALGORITHM_DETAIL_ECC_PTR

def copy_TPMS_ALGORITHM_DETAIL_ECC_PTR(value: 'TPMS_ALGORITHM_DETAIL_ECC') -> "TPMS_ALGORITHM_DETAIL_ECC *":
    return _esys_binding.copy_TPMS_ALGORITHM_DETAIL_ECC_PTR(value)
copy_TPMS_ALGORITHM_DETAIL_ECC_PTR = _esys_binding.copy_TPMS_ALGORITHM_DETAIL_ECC_PTR

def delete_TPMS_ALGORITHM_DETAIL_ECC_PTR(obj: 'TPMS_ALGORITHM_DETAIL_ECC') -> "void":
    return _esys_binding.delete_TPMS_ALGORITHM_DETAIL_ECC_PTR(obj)
delete_TPMS_ALGORITHM_DETAIL_ECC_PTR = _esys_binding.delete_TPMS_ALGORITHM_DETAIL_ECC_PTR

def TPMS_ALGORITHM_DETAIL_ECC_PTR_assign(obj: 'TPMS_ALGORITHM_DETAIL_ECC', value: 'TPMS_ALGORITHM_DETAIL_ECC') -> "void":
    return _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_assign(obj, value)
TPMS_ALGORITHM_DETAIL_ECC_PTR_assign = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_assign

def TPMS_ALGORITHM_DETAIL_ECC_PTR_value(obj: 'TPMS_ALGORITHM_DETAIL_ECC') -> "TPMS_ALGORITHM_DETAIL_ECC":
    return _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_value(obj)
TPMS_ALGORITHM_DETAIL_ECC_PTR_value = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_value

def new_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR() -> "TPMS_ALGORITHM_DETAIL_ECC **":
    return _esys_binding.new_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR()
new_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR = _esys_binding.new_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR

def copy_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR(value: 'TPMS_ALGORITHM_DETAIL_ECC') -> "TPMS_ALGORITHM_DETAIL_ECC **":
    return _esys_binding.copy_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR(value)
copy_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR = _esys_binding.copy_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR

def delete_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR(obj: 'TPMS_ALGORITHM_DETAIL_ECC **') -> "void":
    return _esys_binding.delete_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR(obj)
delete_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR = _esys_binding.delete_TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR

def TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_assign(obj: 'TPMS_ALGORITHM_DETAIL_ECC **', value: 'TPMS_ALGORITHM_DETAIL_ECC') -> "void":
    return _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_assign(obj, value)
TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_assign = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_assign

def TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_value(obj: 'TPMS_ALGORITHM_DETAIL_ECC **') -> "TPMS_ALGORITHM_DETAIL_ECC *":
    return _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_value(obj)
TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_value = _esys_binding.TPMS_ALGORITHM_DETAIL_ECC_PTR_PTR_value
sizeof_TPMS_SIGNATURE_RSA = _esys_binding.sizeof_TPMS_SIGNATURE_RSA

def new_TPMS_SIGNATURE_RSA_PTR() -> "TPMS_SIGNATURE_RSA *":
    return _esys_binding.new_TPMS_SIGNATURE_RSA_PTR()
new_TPMS_SIGNATURE_RSA_PTR = _esys_binding.new_TPMS_SIGNATURE_RSA_PTR

def copy_TPMS_SIGNATURE_RSA_PTR(value: 'TPMS_SIGNATURE_RSA') -> "TPMS_SIGNATURE_RSA *":
    return _esys_binding.copy_TPMS_SIGNATURE_RSA_PTR(value)
copy_TPMS_SIGNATURE_RSA_PTR = _esys_binding.copy_TPMS_SIGNATURE_RSA_PTR

def delete_TPMS_SIGNATURE_RSA_PTR(obj: 'TPMS_SIGNATURE_RSA') -> "void":
    return _esys_binding.delete_TPMS_SIGNATURE_RSA_PTR(obj)
delete_TPMS_SIGNATURE_RSA_PTR = _esys_binding.delete_TPMS_SIGNATURE_RSA_PTR

def TPMS_SIGNATURE_RSA_PTR_assign(obj: 'TPMS_SIGNATURE_RSA', value: 'TPMS_SIGNATURE_RSA') -> "void":
    return _esys_binding.TPMS_SIGNATURE_RSA_PTR_assign(obj, value)
TPMS_SIGNATURE_RSA_PTR_assign = _esys_binding.TPMS_SIGNATURE_RSA_PTR_assign

def TPMS_SIGNATURE_RSA_PTR_value(obj: 'TPMS_SIGNATURE_RSA') -> "TPMS_SIGNATURE_RSA":
    return _esys_binding.TPMS_SIGNATURE_RSA_PTR_value(obj)
TPMS_SIGNATURE_RSA_PTR_value = _esys_binding.TPMS_SIGNATURE_RSA_PTR_value

def new_TPMS_SIGNATURE_RSA_PTR_PTR() -> "TPMS_SIGNATURE_RSA **":
    return _esys_binding.new_TPMS_SIGNATURE_RSA_PTR_PTR()
new_TPMS_SIGNATURE_RSA_PTR_PTR = _esys_binding.new_TPMS_SIGNATURE_RSA_PTR_PTR

def copy_TPMS_SIGNATURE_RSA_PTR_PTR(value: 'TPMS_SIGNATURE_RSA') -> "TPMS_SIGNATURE_RSA **":
    return _esys_binding.copy_TPMS_SIGNATURE_RSA_PTR_PTR(value)
copy_TPMS_SIGNATURE_RSA_PTR_PTR = _esys_binding.copy_TPMS_SIGNATURE_RSA_PTR_PTR

def delete_TPMS_SIGNATURE_RSA_PTR_PTR(obj: 'TPMS_SIGNATURE_RSA **') -> "void":
    return _esys_binding.delete_TPMS_SIGNATURE_RSA_PTR_PTR(obj)
delete_TPMS_SIGNATURE_RSA_PTR_PTR = _esys_binding.delete_TPMS_SIGNATURE_RSA_PTR_PTR

def TPMS_SIGNATURE_RSA_PTR_PTR_assign(obj: 'TPMS_SIGNATURE_RSA **', value: 'TPMS_SIGNATURE_RSA') -> "void":
    return _esys_binding.TPMS_SIGNATURE_RSA_PTR_PTR_assign(obj, value)
TPMS_SIGNATURE_RSA_PTR_PTR_assign = _esys_binding.TPMS_SIGNATURE_RSA_PTR_PTR_assign

def TPMS_SIGNATURE_RSA_PTR_PTR_value(obj: 'TPMS_SIGNATURE_RSA **') -> "TPMS_SIGNATURE_RSA *":
    return _esys_binding.TPMS_SIGNATURE_RSA_PTR_PTR_value(obj)
TPMS_SIGNATURE_RSA_PTR_PTR_value = _esys_binding.TPMS_SIGNATURE_RSA_PTR_PTR_value
sizeof_TPMS_SIGNATURE_ECC = _esys_binding.sizeof_TPMS_SIGNATURE_ECC

def new_TPMS_SIGNATURE_ECC_PTR() -> "TPMS_SIGNATURE_ECC *":
    return _esys_binding.new_TPMS_SIGNATURE_ECC_PTR()
new_TPMS_SIGNATURE_ECC_PTR = _esys_binding.new_TPMS_SIGNATURE_ECC_PTR

def copy_TPMS_SIGNATURE_ECC_PTR(value: 'TPMS_SIGNATURE_ECC') -> "TPMS_SIGNATURE_ECC *":
    return _esys_binding.copy_TPMS_SIGNATURE_ECC_PTR(value)
copy_TPMS_SIGNATURE_ECC_PTR = _esys_binding.copy_TPMS_SIGNATURE_ECC_PTR

def delete_TPMS_SIGNATURE_ECC_PTR(obj: 'TPMS_SIGNATURE_ECC') -> "void":
    return _esys_binding.delete_TPMS_SIGNATURE_ECC_PTR(obj)
delete_TPMS_SIGNATURE_ECC_PTR = _esys_binding.delete_TPMS_SIGNATURE_ECC_PTR

def TPMS_SIGNATURE_ECC_PTR_assign(obj: 'TPMS_SIGNATURE_ECC', value: 'TPMS_SIGNATURE_ECC') -> "void":
    return _esys_binding.TPMS_SIGNATURE_ECC_PTR_assign(obj, value)
TPMS_SIGNATURE_ECC_PTR_assign = _esys_binding.TPMS_SIGNATURE_ECC_PTR_assign

def TPMS_SIGNATURE_ECC_PTR_value(obj: 'TPMS_SIGNATURE_ECC') -> "TPMS_SIGNATURE_ECC":
    return _esys_binding.TPMS_SIGNATURE_ECC_PTR_value(obj)
TPMS_SIGNATURE_ECC_PTR_value = _esys_binding.TPMS_SIGNATURE_ECC_PTR_value

def new_TPMS_SIGNATURE_ECC_PTR_PTR() -> "TPMS_SIGNATURE_ECC **":
    return _esys_binding.new_TPMS_SIGNATURE_ECC_PTR_PTR()
new_TPMS_SIGNATURE_ECC_PTR_PTR = _esys_binding.new_TPMS_SIGNATURE_ECC_PTR_PTR

def copy_TPMS_SIGNATURE_ECC_PTR_PTR(value: 'TPMS_SIGNATURE_ECC') -> "TPMS_SIGNATURE_ECC **":
    return _esys_binding.copy_TPMS_SIGNATURE_ECC_PTR_PTR(value)
copy_TPMS_SIGNATURE_ECC_PTR_PTR = _esys_binding.copy_TPMS_SIGNATURE_ECC_PTR_PTR

def delete_TPMS_SIGNATURE_ECC_PTR_PTR(obj: 'TPMS_SIGNATURE_ECC **') -> "void":
    return _esys_binding.delete_TPMS_SIGNATURE_ECC_PTR_PTR(obj)
delete_TPMS_SIGNATURE_ECC_PTR_PTR = _esys_binding.delete_TPMS_SIGNATURE_ECC_PTR_PTR

def TPMS_SIGNATURE_ECC_PTR_PTR_assign(obj: 'TPMS_SIGNATURE_ECC **', value: 'TPMS_SIGNATURE_ECC') -> "void":
    return _esys_binding.TPMS_SIGNATURE_ECC_PTR_PTR_assign(obj, value)
TPMS_SIGNATURE_ECC_PTR_PTR_assign = _esys_binding.TPMS_SIGNATURE_ECC_PTR_PTR_assign

def TPMS_SIGNATURE_ECC_PTR_PTR_value(obj: 'TPMS_SIGNATURE_ECC **') -> "TPMS_SIGNATURE_ECC *":
    return _esys_binding.TPMS_SIGNATURE_ECC_PTR_PTR_value(obj)
TPMS_SIGNATURE_ECC_PTR_PTR_value = _esys_binding.TPMS_SIGNATURE_ECC_PTR_PTR_value
sizeof_TPMU_SIGNATURE = _esys_binding.sizeof_TPMU_SIGNATURE

def new_TPMU_SIGNATURE_PTR() -> "TPMU_SIGNATURE *":
    return _esys_binding.new_TPMU_SIGNATURE_PTR()
new_TPMU_SIGNATURE_PTR = _esys_binding.new_TPMU_SIGNATURE_PTR

def copy_TPMU_SIGNATURE_PTR(value: 'TPMU_SIGNATURE') -> "TPMU_SIGNATURE *":
    return _esys_binding.copy_TPMU_SIGNATURE_PTR(value)
copy_TPMU_SIGNATURE_PTR = _esys_binding.copy_TPMU_SIGNATURE_PTR

def delete_TPMU_SIGNATURE_PTR(obj: 'TPMU_SIGNATURE') -> "void":
    return _esys_binding.delete_TPMU_SIGNATURE_PTR(obj)
delete_TPMU_SIGNATURE_PTR = _esys_binding.delete_TPMU_SIGNATURE_PTR

def TPMU_SIGNATURE_PTR_assign(obj: 'TPMU_SIGNATURE', value: 'TPMU_SIGNATURE') -> "void":
    return _esys_binding.TPMU_SIGNATURE_PTR_assign(obj, value)
TPMU_SIGNATURE_PTR_assign = _esys_binding.TPMU_SIGNATURE_PTR_assign

def TPMU_SIGNATURE_PTR_value(obj: 'TPMU_SIGNATURE') -> "TPMU_SIGNATURE":
    return _esys_binding.TPMU_SIGNATURE_PTR_value(obj)
TPMU_SIGNATURE_PTR_value = _esys_binding.TPMU_SIGNATURE_PTR_value

def new_TPMU_SIGNATURE_PTR_PTR() -> "TPMU_SIGNATURE **":
    return _esys_binding.new_TPMU_SIGNATURE_PTR_PTR()
new_TPMU_SIGNATURE_PTR_PTR = _esys_binding.new_TPMU_SIGNATURE_PTR_PTR

def copy_TPMU_SIGNATURE_PTR_PTR(value: 'TPMU_SIGNATURE') -> "TPMU_SIGNATURE **":
    return _esys_binding.copy_TPMU_SIGNATURE_PTR_PTR(value)
copy_TPMU_SIGNATURE_PTR_PTR = _esys_binding.copy_TPMU_SIGNATURE_PTR_PTR

def delete_TPMU_SIGNATURE_PTR_PTR(obj: 'TPMU_SIGNATURE **') -> "void":
    return _esys_binding.delete_TPMU_SIGNATURE_PTR_PTR(obj)
delete_TPMU_SIGNATURE_PTR_PTR = _esys_binding.delete_TPMU_SIGNATURE_PTR_PTR

def TPMU_SIGNATURE_PTR_PTR_assign(obj: 'TPMU_SIGNATURE **', value: 'TPMU_SIGNATURE') -> "void":
    return _esys_binding.TPMU_SIGNATURE_PTR_PTR_assign(obj, value)
TPMU_SIGNATURE_PTR_PTR_assign = _esys_binding.TPMU_SIGNATURE_PTR_PTR_assign

def TPMU_SIGNATURE_PTR_PTR_value(obj: 'TPMU_SIGNATURE **') -> "TPMU_SIGNATURE *":
    return _esys_binding.TPMU_SIGNATURE_PTR_PTR_value(obj)
TPMU_SIGNATURE_PTR_PTR_value = _esys_binding.TPMU_SIGNATURE_PTR_PTR_value
sizeof_TPMT_SIGNATURE = _esys_binding.sizeof_TPMT_SIGNATURE

def new_TPMT_SIGNATURE_PTR() -> "TPMT_SIGNATURE *":
    return _esys_binding.new_TPMT_SIGNATURE_PTR()
new_TPMT_SIGNATURE_PTR = _esys_binding.new_TPMT_SIGNATURE_PTR

def copy_TPMT_SIGNATURE_PTR(value: 'TPMT_SIGNATURE') -> "TPMT_SIGNATURE *":
    return _esys_binding.copy_TPMT_SIGNATURE_PTR(value)
copy_TPMT_SIGNATURE_PTR = _esys_binding.copy_TPMT_SIGNATURE_PTR

def delete_TPMT_SIGNATURE_PTR(obj: 'TPMT_SIGNATURE') -> "void":
    return _esys_binding.delete_TPMT_SIGNATURE_PTR(obj)
delete_TPMT_SIGNATURE_PTR = _esys_binding.delete_TPMT_SIGNATURE_PTR

def TPMT_SIGNATURE_PTR_assign(obj: 'TPMT_SIGNATURE', value: 'TPMT_SIGNATURE') -> "void":
    return _esys_binding.TPMT_SIGNATURE_PTR_assign(obj, value)
TPMT_SIGNATURE_PTR_assign = _esys_binding.TPMT_SIGNATURE_PTR_assign

def TPMT_SIGNATURE_PTR_value(obj: 'TPMT_SIGNATURE') -> "TPMT_SIGNATURE":
    return _esys_binding.TPMT_SIGNATURE_PTR_value(obj)
TPMT_SIGNATURE_PTR_value = _esys_binding.TPMT_SIGNATURE_PTR_value

def new_TPMT_SIGNATURE_PTR_PTR() -> "TPMT_SIGNATURE **":
    return _esys_binding.new_TPMT_SIGNATURE_PTR_PTR()
new_TPMT_SIGNATURE_PTR_PTR = _esys_binding.new_TPMT_SIGNATURE_PTR_PTR

def copy_TPMT_SIGNATURE_PTR_PTR(value: 'TPMT_SIGNATURE') -> "TPMT_SIGNATURE **":
    return _esys_binding.copy_TPMT_SIGNATURE_PTR_PTR(value)
copy_TPMT_SIGNATURE_PTR_PTR = _esys_binding.copy_TPMT_SIGNATURE_PTR_PTR

def delete_TPMT_SIGNATURE_PTR_PTR(obj: 'TPMT_SIGNATURE **') -> "void":
    return _esys_binding.delete_TPMT_SIGNATURE_PTR_PTR(obj)
delete_TPMT_SIGNATURE_PTR_PTR = _esys_binding.delete_TPMT_SIGNATURE_PTR_PTR

def TPMT_SIGNATURE_PTR_PTR_assign(obj: 'TPMT_SIGNATURE **', value: 'TPMT_SIGNATURE') -> "void":
    return _esys_binding.TPMT_SIGNATURE_PTR_PTR_assign(obj, value)
TPMT_SIGNATURE_PTR_PTR_assign = _esys_binding.TPMT_SIGNATURE_PTR_PTR_assign

def TPMT_SIGNATURE_PTR_PTR_value(obj: 'TPMT_SIGNATURE **') -> "TPMT_SIGNATURE *":
    return _esys_binding.TPMT_SIGNATURE_PTR_PTR_value(obj)
TPMT_SIGNATURE_PTR_PTR_value = _esys_binding.TPMT_SIGNATURE_PTR_PTR_value
sizeof_TPMU_ENCRYPTED_SECRET = _esys_binding.sizeof_TPMU_ENCRYPTED_SECRET

def new_TPMU_ENCRYPTED_SECRET_PTR() -> "TPMU_ENCRYPTED_SECRET *":
    return _esys_binding.new_TPMU_ENCRYPTED_SECRET_PTR()
new_TPMU_ENCRYPTED_SECRET_PTR = _esys_binding.new_TPMU_ENCRYPTED_SECRET_PTR

def copy_TPMU_ENCRYPTED_SECRET_PTR(value: 'TPMU_ENCRYPTED_SECRET') -> "TPMU_ENCRYPTED_SECRET *":
    return _esys_binding.copy_TPMU_ENCRYPTED_SECRET_PTR(value)
copy_TPMU_ENCRYPTED_SECRET_PTR = _esys_binding.copy_TPMU_ENCRYPTED_SECRET_PTR

def delete_TPMU_ENCRYPTED_SECRET_PTR(obj: 'TPMU_ENCRYPTED_SECRET') -> "void":
    return _esys_binding.delete_TPMU_ENCRYPTED_SECRET_PTR(obj)
delete_TPMU_ENCRYPTED_SECRET_PTR = _esys_binding.delete_TPMU_ENCRYPTED_SECRET_PTR

def TPMU_ENCRYPTED_SECRET_PTR_assign(obj: 'TPMU_ENCRYPTED_SECRET', value: 'TPMU_ENCRYPTED_SECRET') -> "void":
    return _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_assign(obj, value)
TPMU_ENCRYPTED_SECRET_PTR_assign = _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_assign

def TPMU_ENCRYPTED_SECRET_PTR_value(obj: 'TPMU_ENCRYPTED_SECRET') -> "TPMU_ENCRYPTED_SECRET":
    return _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_value(obj)
TPMU_ENCRYPTED_SECRET_PTR_value = _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_value

def new_TPMU_ENCRYPTED_SECRET_PTR_PTR() -> "TPMU_ENCRYPTED_SECRET **":
    return _esys_binding.new_TPMU_ENCRYPTED_SECRET_PTR_PTR()
new_TPMU_ENCRYPTED_SECRET_PTR_PTR = _esys_binding.new_TPMU_ENCRYPTED_SECRET_PTR_PTR

def copy_TPMU_ENCRYPTED_SECRET_PTR_PTR(value: 'TPMU_ENCRYPTED_SECRET') -> "TPMU_ENCRYPTED_SECRET **":
    return _esys_binding.copy_TPMU_ENCRYPTED_SECRET_PTR_PTR(value)
copy_TPMU_ENCRYPTED_SECRET_PTR_PTR = _esys_binding.copy_TPMU_ENCRYPTED_SECRET_PTR_PTR

def delete_TPMU_ENCRYPTED_SECRET_PTR_PTR(obj: 'TPMU_ENCRYPTED_SECRET **') -> "void":
    return _esys_binding.delete_TPMU_ENCRYPTED_SECRET_PTR_PTR(obj)
delete_TPMU_ENCRYPTED_SECRET_PTR_PTR = _esys_binding.delete_TPMU_ENCRYPTED_SECRET_PTR_PTR

def TPMU_ENCRYPTED_SECRET_PTR_PTR_assign(obj: 'TPMU_ENCRYPTED_SECRET **', value: 'TPMU_ENCRYPTED_SECRET') -> "void":
    return _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_PTR_assign(obj, value)
TPMU_ENCRYPTED_SECRET_PTR_PTR_assign = _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_PTR_assign

def TPMU_ENCRYPTED_SECRET_PTR_PTR_value(obj: 'TPMU_ENCRYPTED_SECRET **') -> "TPMU_ENCRYPTED_SECRET *":
    return _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_PTR_value(obj)
TPMU_ENCRYPTED_SECRET_PTR_PTR_value = _esys_binding.TPMU_ENCRYPTED_SECRET_PTR_PTR_value
sizeof_TPM2B_ENCRYPTED_SECRET = _esys_binding.sizeof_TPM2B_ENCRYPTED_SECRET

def new_TPM2B_ENCRYPTED_SECRET_PTR() -> "TPM2B_ENCRYPTED_SECRET *":
    return _esys_binding.new_TPM2B_ENCRYPTED_SECRET_PTR()
new_TPM2B_ENCRYPTED_SECRET_PTR = _esys_binding.new_TPM2B_ENCRYPTED_SECRET_PTR

def copy_TPM2B_ENCRYPTED_SECRET_PTR(value: 'TPM2B_ENCRYPTED_SECRET') -> "TPM2B_ENCRYPTED_SECRET *":
    return _esys_binding.copy_TPM2B_ENCRYPTED_SECRET_PTR(value)
copy_TPM2B_ENCRYPTED_SECRET_PTR = _esys_binding.copy_TPM2B_ENCRYPTED_SECRET_PTR

def delete_TPM2B_ENCRYPTED_SECRET_PTR(obj: 'TPM2B_ENCRYPTED_SECRET') -> "void":
    return _esys_binding.delete_TPM2B_ENCRYPTED_SECRET_PTR(obj)
delete_TPM2B_ENCRYPTED_SECRET_PTR = _esys_binding.delete_TPM2B_ENCRYPTED_SECRET_PTR

def TPM2B_ENCRYPTED_SECRET_PTR_assign(obj: 'TPM2B_ENCRYPTED_SECRET', value: 'TPM2B_ENCRYPTED_SECRET') -> "void":
    return _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_assign(obj, value)
TPM2B_ENCRYPTED_SECRET_PTR_assign = _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_assign

def TPM2B_ENCRYPTED_SECRET_PTR_value(obj: 'TPM2B_ENCRYPTED_SECRET') -> "TPM2B_ENCRYPTED_SECRET":
    return _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_value(obj)
TPM2B_ENCRYPTED_SECRET_PTR_value = _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_value

def new_TPM2B_ENCRYPTED_SECRET_PTR_PTR() -> "TPM2B_ENCRYPTED_SECRET **":
    return _esys_binding.new_TPM2B_ENCRYPTED_SECRET_PTR_PTR()
new_TPM2B_ENCRYPTED_SECRET_PTR_PTR = _esys_binding.new_TPM2B_ENCRYPTED_SECRET_PTR_PTR

def copy_TPM2B_ENCRYPTED_SECRET_PTR_PTR(value: 'TPM2B_ENCRYPTED_SECRET') -> "TPM2B_ENCRYPTED_SECRET **":
    return _esys_binding.copy_TPM2B_ENCRYPTED_SECRET_PTR_PTR(value)
copy_TPM2B_ENCRYPTED_SECRET_PTR_PTR = _esys_binding.copy_TPM2B_ENCRYPTED_SECRET_PTR_PTR

def delete_TPM2B_ENCRYPTED_SECRET_PTR_PTR(obj: 'TPM2B_ENCRYPTED_SECRET **') -> "void":
    return _esys_binding.delete_TPM2B_ENCRYPTED_SECRET_PTR_PTR(obj)
delete_TPM2B_ENCRYPTED_SECRET_PTR_PTR = _esys_binding.delete_TPM2B_ENCRYPTED_SECRET_PTR_PTR

def TPM2B_ENCRYPTED_SECRET_PTR_PTR_assign(obj: 'TPM2B_ENCRYPTED_SECRET **', value: 'TPM2B_ENCRYPTED_SECRET') -> "void":
    return _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_PTR_assign(obj, value)
TPM2B_ENCRYPTED_SECRET_PTR_PTR_assign = _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_PTR_assign

def TPM2B_ENCRYPTED_SECRET_PTR_PTR_value(obj: 'TPM2B_ENCRYPTED_SECRET **') -> "TPM2B_ENCRYPTED_SECRET *":
    return _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_PTR_value(obj)
TPM2B_ENCRYPTED_SECRET_PTR_PTR_value = _esys_binding.TPM2B_ENCRYPTED_SECRET_PTR_PTR_value
sizeof_TPMU_PUBLIC_ID = _esys_binding.sizeof_TPMU_PUBLIC_ID

def new_TPMU_PUBLIC_ID_PTR() -> "TPMU_PUBLIC_ID *":
    return _esys_binding.new_TPMU_PUBLIC_ID_PTR()
new_TPMU_PUBLIC_ID_PTR = _esys_binding.new_TPMU_PUBLIC_ID_PTR

def copy_TPMU_PUBLIC_ID_PTR(value: 'TPMU_PUBLIC_ID') -> "TPMU_PUBLIC_ID *":
    return _esys_binding.copy_TPMU_PUBLIC_ID_PTR(value)
copy_TPMU_PUBLIC_ID_PTR = _esys_binding.copy_TPMU_PUBLIC_ID_PTR

def delete_TPMU_PUBLIC_ID_PTR(obj: 'TPMU_PUBLIC_ID') -> "void":
    return _esys_binding.delete_TPMU_PUBLIC_ID_PTR(obj)
delete_TPMU_PUBLIC_ID_PTR = _esys_binding.delete_TPMU_PUBLIC_ID_PTR

def TPMU_PUBLIC_ID_PTR_assign(obj: 'TPMU_PUBLIC_ID', value: 'TPMU_PUBLIC_ID') -> "void":
    return _esys_binding.TPMU_PUBLIC_ID_PTR_assign(obj, value)
TPMU_PUBLIC_ID_PTR_assign = _esys_binding.TPMU_PUBLIC_ID_PTR_assign

def TPMU_PUBLIC_ID_PTR_value(obj: 'TPMU_PUBLIC_ID') -> "TPMU_PUBLIC_ID":
    return _esys_binding.TPMU_PUBLIC_ID_PTR_value(obj)
TPMU_PUBLIC_ID_PTR_value = _esys_binding.TPMU_PUBLIC_ID_PTR_value

def new_TPMU_PUBLIC_ID_PTR_PTR() -> "TPMU_PUBLIC_ID **":
    return _esys_binding.new_TPMU_PUBLIC_ID_PTR_PTR()
new_TPMU_PUBLIC_ID_PTR_PTR = _esys_binding.new_TPMU_PUBLIC_ID_PTR_PTR

def copy_TPMU_PUBLIC_ID_PTR_PTR(value: 'TPMU_PUBLIC_ID') -> "TPMU_PUBLIC_ID **":
    return _esys_binding.copy_TPMU_PUBLIC_ID_PTR_PTR(value)
copy_TPMU_PUBLIC_ID_PTR_PTR = _esys_binding.copy_TPMU_PUBLIC_ID_PTR_PTR

def delete_TPMU_PUBLIC_ID_PTR_PTR(obj: 'TPMU_PUBLIC_ID **') -> "void":
    return _esys_binding.delete_TPMU_PUBLIC_ID_PTR_PTR(obj)
delete_TPMU_PUBLIC_ID_PTR_PTR = _esys_binding.delete_TPMU_PUBLIC_ID_PTR_PTR

def TPMU_PUBLIC_ID_PTR_PTR_assign(obj: 'TPMU_PUBLIC_ID **', value: 'TPMU_PUBLIC_ID') -> "void":
    return _esys_binding.TPMU_PUBLIC_ID_PTR_PTR_assign(obj, value)
TPMU_PUBLIC_ID_PTR_PTR_assign = _esys_binding.TPMU_PUBLIC_ID_PTR_PTR_assign

def TPMU_PUBLIC_ID_PTR_PTR_value(obj: 'TPMU_PUBLIC_ID **') -> "TPMU_PUBLIC_ID *":
    return _esys_binding.TPMU_PUBLIC_ID_PTR_PTR_value(obj)
TPMU_PUBLIC_ID_PTR_PTR_value = _esys_binding.TPMU_PUBLIC_ID_PTR_PTR_value
sizeof_TPMS_KEYEDHASH_PARMS = _esys_binding.sizeof_TPMS_KEYEDHASH_PARMS

def new_TPMS_KEYEDHASH_PARMS_PTR() -> "TPMS_KEYEDHASH_PARMS *":
    return _esys_binding.new_TPMS_KEYEDHASH_PARMS_PTR()
new_TPMS_KEYEDHASH_PARMS_PTR = _esys_binding.new_TPMS_KEYEDHASH_PARMS_PTR

def copy_TPMS_KEYEDHASH_PARMS_PTR(value: 'TPMS_KEYEDHASH_PARMS') -> "TPMS_KEYEDHASH_PARMS *":
    return _esys_binding.copy_TPMS_KEYEDHASH_PARMS_PTR(value)
copy_TPMS_KEYEDHASH_PARMS_PTR = _esys_binding.copy_TPMS_KEYEDHASH_PARMS_PTR

def delete_TPMS_KEYEDHASH_PARMS_PTR(obj: 'TPMS_KEYEDHASH_PARMS') -> "void":
    return _esys_binding.delete_TPMS_KEYEDHASH_PARMS_PTR(obj)
delete_TPMS_KEYEDHASH_PARMS_PTR = _esys_binding.delete_TPMS_KEYEDHASH_PARMS_PTR

def TPMS_KEYEDHASH_PARMS_PTR_assign(obj: 'TPMS_KEYEDHASH_PARMS', value: 'TPMS_KEYEDHASH_PARMS') -> "void":
    return _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_assign(obj, value)
TPMS_KEYEDHASH_PARMS_PTR_assign = _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_assign

def TPMS_KEYEDHASH_PARMS_PTR_value(obj: 'TPMS_KEYEDHASH_PARMS') -> "TPMS_KEYEDHASH_PARMS":
    return _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_value(obj)
TPMS_KEYEDHASH_PARMS_PTR_value = _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_value

def new_TPMS_KEYEDHASH_PARMS_PTR_PTR() -> "TPMS_KEYEDHASH_PARMS **":
    return _esys_binding.new_TPMS_KEYEDHASH_PARMS_PTR_PTR()
new_TPMS_KEYEDHASH_PARMS_PTR_PTR = _esys_binding.new_TPMS_KEYEDHASH_PARMS_PTR_PTR

def copy_TPMS_KEYEDHASH_PARMS_PTR_PTR(value: 'TPMS_KEYEDHASH_PARMS') -> "TPMS_KEYEDHASH_PARMS **":
    return _esys_binding.copy_TPMS_KEYEDHASH_PARMS_PTR_PTR(value)
copy_TPMS_KEYEDHASH_PARMS_PTR_PTR = _esys_binding.copy_TPMS_KEYEDHASH_PARMS_PTR_PTR

def delete_TPMS_KEYEDHASH_PARMS_PTR_PTR(obj: 'TPMS_KEYEDHASH_PARMS **') -> "void":
    return _esys_binding.delete_TPMS_KEYEDHASH_PARMS_PTR_PTR(obj)
delete_TPMS_KEYEDHASH_PARMS_PTR_PTR = _esys_binding.delete_TPMS_KEYEDHASH_PARMS_PTR_PTR

def TPMS_KEYEDHASH_PARMS_PTR_PTR_assign(obj: 'TPMS_KEYEDHASH_PARMS **', value: 'TPMS_KEYEDHASH_PARMS') -> "void":
    return _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_PTR_assign(obj, value)
TPMS_KEYEDHASH_PARMS_PTR_PTR_assign = _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_PTR_assign

def TPMS_KEYEDHASH_PARMS_PTR_PTR_value(obj: 'TPMS_KEYEDHASH_PARMS **') -> "TPMS_KEYEDHASH_PARMS *":
    return _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_PTR_value(obj)
TPMS_KEYEDHASH_PARMS_PTR_PTR_value = _esys_binding.TPMS_KEYEDHASH_PARMS_PTR_PTR_value
sizeof_TPMS_ASYM_PARMS = _esys_binding.sizeof_TPMS_ASYM_PARMS

def new_TPMS_ASYM_PARMS_PTR() -> "TPMS_ASYM_PARMS *":
    return _esys_binding.new_TPMS_ASYM_PARMS_PTR()
new_TPMS_ASYM_PARMS_PTR = _esys_binding.new_TPMS_ASYM_PARMS_PTR

def copy_TPMS_ASYM_PARMS_PTR(value: 'TPMS_ASYM_PARMS') -> "TPMS_ASYM_PARMS *":
    return _esys_binding.copy_TPMS_ASYM_PARMS_PTR(value)
copy_TPMS_ASYM_PARMS_PTR = _esys_binding.copy_TPMS_ASYM_PARMS_PTR

def delete_TPMS_ASYM_PARMS_PTR(obj: 'TPMS_ASYM_PARMS') -> "void":
    return _esys_binding.delete_TPMS_ASYM_PARMS_PTR(obj)
delete_TPMS_ASYM_PARMS_PTR = _esys_binding.delete_TPMS_ASYM_PARMS_PTR

def TPMS_ASYM_PARMS_PTR_assign(obj: 'TPMS_ASYM_PARMS', value: 'TPMS_ASYM_PARMS') -> "void":
    return _esys_binding.TPMS_ASYM_PARMS_PTR_assign(obj, value)
TPMS_ASYM_PARMS_PTR_assign = _esys_binding.TPMS_ASYM_PARMS_PTR_assign

def TPMS_ASYM_PARMS_PTR_value(obj: 'TPMS_ASYM_PARMS') -> "TPMS_ASYM_PARMS":
    return _esys_binding.TPMS_ASYM_PARMS_PTR_value(obj)
TPMS_ASYM_PARMS_PTR_value = _esys_binding.TPMS_ASYM_PARMS_PTR_value

def new_TPMS_ASYM_PARMS_PTR_PTR() -> "TPMS_ASYM_PARMS **":
    return _esys_binding.new_TPMS_ASYM_PARMS_PTR_PTR()
new_TPMS_ASYM_PARMS_PTR_PTR = _esys_binding.new_TPMS_ASYM_PARMS_PTR_PTR

def copy_TPMS_ASYM_PARMS_PTR_PTR(value: 'TPMS_ASYM_PARMS') -> "TPMS_ASYM_PARMS **":
    return _esys_binding.copy_TPMS_ASYM_PARMS_PTR_PTR(value)
copy_TPMS_ASYM_PARMS_PTR_PTR = _esys_binding.copy_TPMS_ASYM_PARMS_PTR_PTR

def delete_TPMS_ASYM_PARMS_PTR_PTR(obj: 'TPMS_ASYM_PARMS **') -> "void":
    return _esys_binding.delete_TPMS_ASYM_PARMS_PTR_PTR(obj)
delete_TPMS_ASYM_PARMS_PTR_PTR = _esys_binding.delete_TPMS_ASYM_PARMS_PTR_PTR

def TPMS_ASYM_PARMS_PTR_PTR_assign(obj: 'TPMS_ASYM_PARMS **', value: 'TPMS_ASYM_PARMS') -> "void":
    return _esys_binding.TPMS_ASYM_PARMS_PTR_PTR_assign(obj, value)
TPMS_ASYM_PARMS_PTR_PTR_assign = _esys_binding.TPMS_ASYM_PARMS_PTR_PTR_assign

def TPMS_ASYM_PARMS_PTR_PTR_value(obj: 'TPMS_ASYM_PARMS **') -> "TPMS_ASYM_PARMS *":
    return _esys_binding.TPMS_ASYM_PARMS_PTR_PTR_value(obj)
TPMS_ASYM_PARMS_PTR_PTR_value = _esys_binding.TPMS_ASYM_PARMS_PTR_PTR_value
sizeof_TPMS_RSA_PARMS = _esys_binding.sizeof_TPMS_RSA_PARMS

def new_TPMS_RSA_PARMS_PTR() -> "TPMS_RSA_PARMS *":
    return _esys_binding.new_TPMS_RSA_PARMS_PTR()
new_TPMS_RSA_PARMS_PTR = _esys_binding.new_TPMS_RSA_PARMS_PTR

def copy_TPMS_RSA_PARMS_PTR(value: 'TPMS_RSA_PARMS') -> "TPMS_RSA_PARMS *":
    return _esys_binding.copy_TPMS_RSA_PARMS_PTR(value)
copy_TPMS_RSA_PARMS_PTR = _esys_binding.copy_TPMS_RSA_PARMS_PTR

def delete_TPMS_RSA_PARMS_PTR(obj: 'TPMS_RSA_PARMS') -> "void":
    return _esys_binding.delete_TPMS_RSA_PARMS_PTR(obj)
delete_TPMS_RSA_PARMS_PTR = _esys_binding.delete_TPMS_RSA_PARMS_PTR

def TPMS_RSA_PARMS_PTR_assign(obj: 'TPMS_RSA_PARMS', value: 'TPMS_RSA_PARMS') -> "void":
    return _esys_binding.TPMS_RSA_PARMS_PTR_assign(obj, value)
TPMS_RSA_PARMS_PTR_assign = _esys_binding.TPMS_RSA_PARMS_PTR_assign

def TPMS_RSA_PARMS_PTR_value(obj: 'TPMS_RSA_PARMS') -> "TPMS_RSA_PARMS":
    return _esys_binding.TPMS_RSA_PARMS_PTR_value(obj)
TPMS_RSA_PARMS_PTR_value = _esys_binding.TPMS_RSA_PARMS_PTR_value

def new_TPMS_RSA_PARMS_PTR_PTR() -> "TPMS_RSA_PARMS **":
    return _esys_binding.new_TPMS_RSA_PARMS_PTR_PTR()
new_TPMS_RSA_PARMS_PTR_PTR = _esys_binding.new_TPMS_RSA_PARMS_PTR_PTR

def copy_TPMS_RSA_PARMS_PTR_PTR(value: 'TPMS_RSA_PARMS') -> "TPMS_RSA_PARMS **":
    return _esys_binding.copy_TPMS_RSA_PARMS_PTR_PTR(value)
copy_TPMS_RSA_PARMS_PTR_PTR = _esys_binding.copy_TPMS_RSA_PARMS_PTR_PTR

def delete_TPMS_RSA_PARMS_PTR_PTR(obj: 'TPMS_RSA_PARMS **') -> "void":
    return _esys_binding.delete_TPMS_RSA_PARMS_PTR_PTR(obj)
delete_TPMS_RSA_PARMS_PTR_PTR = _esys_binding.delete_TPMS_RSA_PARMS_PTR_PTR

def TPMS_RSA_PARMS_PTR_PTR_assign(obj: 'TPMS_RSA_PARMS **', value: 'TPMS_RSA_PARMS') -> "void":
    return _esys_binding.TPMS_RSA_PARMS_PTR_PTR_assign(obj, value)
TPMS_RSA_PARMS_PTR_PTR_assign = _esys_binding.TPMS_RSA_PARMS_PTR_PTR_assign

def TPMS_RSA_PARMS_PTR_PTR_value(obj: 'TPMS_RSA_PARMS **') -> "TPMS_RSA_PARMS *":
    return _esys_binding.TPMS_RSA_PARMS_PTR_PTR_value(obj)
TPMS_RSA_PARMS_PTR_PTR_value = _esys_binding.TPMS_RSA_PARMS_PTR_PTR_value
sizeof_TPMS_ECC_PARMS = _esys_binding.sizeof_TPMS_ECC_PARMS

def new_TPMS_ECC_PARMS_PTR() -> "TPMS_ECC_PARMS *":
    return _esys_binding.new_TPMS_ECC_PARMS_PTR()
new_TPMS_ECC_PARMS_PTR = _esys_binding.new_TPMS_ECC_PARMS_PTR

def copy_TPMS_ECC_PARMS_PTR(value: 'TPMS_ECC_PARMS') -> "TPMS_ECC_PARMS *":
    return _esys_binding.copy_TPMS_ECC_PARMS_PTR(value)
copy_TPMS_ECC_PARMS_PTR = _esys_binding.copy_TPMS_ECC_PARMS_PTR

def delete_TPMS_ECC_PARMS_PTR(obj: 'TPMS_ECC_PARMS') -> "void":
    return _esys_binding.delete_TPMS_ECC_PARMS_PTR(obj)
delete_TPMS_ECC_PARMS_PTR = _esys_binding.delete_TPMS_ECC_PARMS_PTR

def TPMS_ECC_PARMS_PTR_assign(obj: 'TPMS_ECC_PARMS', value: 'TPMS_ECC_PARMS') -> "void":
    return _esys_binding.TPMS_ECC_PARMS_PTR_assign(obj, value)
TPMS_ECC_PARMS_PTR_assign = _esys_binding.TPMS_ECC_PARMS_PTR_assign

def TPMS_ECC_PARMS_PTR_value(obj: 'TPMS_ECC_PARMS') -> "TPMS_ECC_PARMS":
    return _esys_binding.TPMS_ECC_PARMS_PTR_value(obj)
TPMS_ECC_PARMS_PTR_value = _esys_binding.TPMS_ECC_PARMS_PTR_value

def new_TPMS_ECC_PARMS_PTR_PTR() -> "TPMS_ECC_PARMS **":
    return _esys_binding.new_TPMS_ECC_PARMS_PTR_PTR()
new_TPMS_ECC_PARMS_PTR_PTR = _esys_binding.new_TPMS_ECC_PARMS_PTR_PTR

def copy_TPMS_ECC_PARMS_PTR_PTR(value: 'TPMS_ECC_PARMS') -> "TPMS_ECC_PARMS **":
    return _esys_binding.copy_TPMS_ECC_PARMS_PTR_PTR(value)
copy_TPMS_ECC_PARMS_PTR_PTR = _esys_binding.copy_TPMS_ECC_PARMS_PTR_PTR

def delete_TPMS_ECC_PARMS_PTR_PTR(obj: 'TPMS_ECC_PARMS **') -> "void":
    return _esys_binding.delete_TPMS_ECC_PARMS_PTR_PTR(obj)
delete_TPMS_ECC_PARMS_PTR_PTR = _esys_binding.delete_TPMS_ECC_PARMS_PTR_PTR

def TPMS_ECC_PARMS_PTR_PTR_assign(obj: 'TPMS_ECC_PARMS **', value: 'TPMS_ECC_PARMS') -> "void":
    return _esys_binding.TPMS_ECC_PARMS_PTR_PTR_assign(obj, value)
TPMS_ECC_PARMS_PTR_PTR_assign = _esys_binding.TPMS_ECC_PARMS_PTR_PTR_assign

def TPMS_ECC_PARMS_PTR_PTR_value(obj: 'TPMS_ECC_PARMS **') -> "TPMS_ECC_PARMS *":
    return _esys_binding.TPMS_ECC_PARMS_PTR_PTR_value(obj)
TPMS_ECC_PARMS_PTR_PTR_value = _esys_binding.TPMS_ECC_PARMS_PTR_PTR_value
sizeof_TPMU_PUBLIC_PARMS = _esys_binding.sizeof_TPMU_PUBLIC_PARMS

def new_TPMU_PUBLIC_PARMS_PTR() -> "TPMU_PUBLIC_PARMS *":
    return _esys_binding.new_TPMU_PUBLIC_PARMS_PTR()
new_TPMU_PUBLIC_PARMS_PTR = _esys_binding.new_TPMU_PUBLIC_PARMS_PTR

def copy_TPMU_PUBLIC_PARMS_PTR(value: 'TPMU_PUBLIC_PARMS') -> "TPMU_PUBLIC_PARMS *":
    return _esys_binding.copy_TPMU_PUBLIC_PARMS_PTR(value)
copy_TPMU_PUBLIC_PARMS_PTR = _esys_binding.copy_TPMU_PUBLIC_PARMS_PTR

def delete_TPMU_PUBLIC_PARMS_PTR(obj: 'TPMU_PUBLIC_PARMS') -> "void":
    return _esys_binding.delete_TPMU_PUBLIC_PARMS_PTR(obj)
delete_TPMU_PUBLIC_PARMS_PTR = _esys_binding.delete_TPMU_PUBLIC_PARMS_PTR

def TPMU_PUBLIC_PARMS_PTR_assign(obj: 'TPMU_PUBLIC_PARMS', value: 'TPMU_PUBLIC_PARMS') -> "void":
    return _esys_binding.TPMU_PUBLIC_PARMS_PTR_assign(obj, value)
TPMU_PUBLIC_PARMS_PTR_assign = _esys_binding.TPMU_PUBLIC_PARMS_PTR_assign

def TPMU_PUBLIC_PARMS_PTR_value(obj: 'TPMU_PUBLIC_PARMS') -> "TPMU_PUBLIC_PARMS":
    return _esys_binding.TPMU_PUBLIC_PARMS_PTR_value(obj)
TPMU_PUBLIC_PARMS_PTR_value = _esys_binding.TPMU_PUBLIC_PARMS_PTR_value

def new_TPMU_PUBLIC_PARMS_PTR_PTR() -> "TPMU_PUBLIC_PARMS **":
    return _esys_binding.new_TPMU_PUBLIC_PARMS_PTR_PTR()
new_TPMU_PUBLIC_PARMS_PTR_PTR = _esys_binding.new_TPMU_PUBLIC_PARMS_PTR_PTR

def copy_TPMU_PUBLIC_PARMS_PTR_PTR(value: 'TPMU_PUBLIC_PARMS') -> "TPMU_PUBLIC_PARMS **":
    return _esys_binding.copy_TPMU_PUBLIC_PARMS_PTR_PTR(value)
copy_TPMU_PUBLIC_PARMS_PTR_PTR = _esys_binding.copy_TPMU_PUBLIC_PARMS_PTR_PTR

def delete_TPMU_PUBLIC_PARMS_PTR_PTR(obj: 'TPMU_PUBLIC_PARMS **') -> "void":
    return _esys_binding.delete_TPMU_PUBLIC_PARMS_PTR_PTR(obj)
delete_TPMU_PUBLIC_PARMS_PTR_PTR = _esys_binding.delete_TPMU_PUBLIC_PARMS_PTR_PTR

def TPMU_PUBLIC_PARMS_PTR_PTR_assign(obj: 'TPMU_PUBLIC_PARMS **', value: 'TPMU_PUBLIC_PARMS') -> "void":
    return _esys_binding.TPMU_PUBLIC_PARMS_PTR_PTR_assign(obj, value)
TPMU_PUBLIC_PARMS_PTR_PTR_assign = _esys_binding.TPMU_PUBLIC_PARMS_PTR_PTR_assign

def TPMU_PUBLIC_PARMS_PTR_PTR_value(obj: 'TPMU_PUBLIC_PARMS **') -> "TPMU_PUBLIC_PARMS *":
    return _esys_binding.TPMU_PUBLIC_PARMS_PTR_PTR_value(obj)
TPMU_PUBLIC_PARMS_PTR_PTR_value = _esys_binding.TPMU_PUBLIC_PARMS_PTR_PTR_value
sizeof_TPMT_PUBLIC_PARMS = _esys_binding.sizeof_TPMT_PUBLIC_PARMS

def new_TPMT_PUBLIC_PARMS_PTR() -> "TPMT_PUBLIC_PARMS *":
    return _esys_binding.new_TPMT_PUBLIC_PARMS_PTR()
new_TPMT_PUBLIC_PARMS_PTR = _esys_binding.new_TPMT_PUBLIC_PARMS_PTR

def copy_TPMT_PUBLIC_PARMS_PTR(value: 'TPMT_PUBLIC_PARMS') -> "TPMT_PUBLIC_PARMS *":
    return _esys_binding.copy_TPMT_PUBLIC_PARMS_PTR(value)
copy_TPMT_PUBLIC_PARMS_PTR = _esys_binding.copy_TPMT_PUBLIC_PARMS_PTR

def delete_TPMT_PUBLIC_PARMS_PTR(obj: 'TPMT_PUBLIC_PARMS') -> "void":
    return _esys_binding.delete_TPMT_PUBLIC_PARMS_PTR(obj)
delete_TPMT_PUBLIC_PARMS_PTR = _esys_binding.delete_TPMT_PUBLIC_PARMS_PTR

def TPMT_PUBLIC_PARMS_PTR_assign(obj: 'TPMT_PUBLIC_PARMS', value: 'TPMT_PUBLIC_PARMS') -> "void":
    return _esys_binding.TPMT_PUBLIC_PARMS_PTR_assign(obj, value)
TPMT_PUBLIC_PARMS_PTR_assign = _esys_binding.TPMT_PUBLIC_PARMS_PTR_assign

def TPMT_PUBLIC_PARMS_PTR_value(obj: 'TPMT_PUBLIC_PARMS') -> "TPMT_PUBLIC_PARMS":
    return _esys_binding.TPMT_PUBLIC_PARMS_PTR_value(obj)
TPMT_PUBLIC_PARMS_PTR_value = _esys_binding.TPMT_PUBLIC_PARMS_PTR_value

def new_TPMT_PUBLIC_PARMS_PTR_PTR() -> "TPMT_PUBLIC_PARMS **":
    return _esys_binding.new_TPMT_PUBLIC_PARMS_PTR_PTR()
new_TPMT_PUBLIC_PARMS_PTR_PTR = _esys_binding.new_TPMT_PUBLIC_PARMS_PTR_PTR

def copy_TPMT_PUBLIC_PARMS_PTR_PTR(value: 'TPMT_PUBLIC_PARMS') -> "TPMT_PUBLIC_PARMS **":
    return _esys_binding.copy_TPMT_PUBLIC_PARMS_PTR_PTR(value)
copy_TPMT_PUBLIC_PARMS_PTR_PTR = _esys_binding.copy_TPMT_PUBLIC_PARMS_PTR_PTR

def delete_TPMT_PUBLIC_PARMS_PTR_PTR(obj: 'TPMT_PUBLIC_PARMS **') -> "void":
    return _esys_binding.delete_TPMT_PUBLIC_PARMS_PTR_PTR(obj)
delete_TPMT_PUBLIC_PARMS_PTR_PTR = _esys_binding.delete_TPMT_PUBLIC_PARMS_PTR_PTR

def TPMT_PUBLIC_PARMS_PTR_PTR_assign(obj: 'TPMT_PUBLIC_PARMS **', value: 'TPMT_PUBLIC_PARMS') -> "void":
    return _esys_binding.TPMT_PUBLIC_PARMS_PTR_PTR_assign(obj, value)
TPMT_PUBLIC_PARMS_PTR_PTR_assign = _esys_binding.TPMT_PUBLIC_PARMS_PTR_PTR_assign

def TPMT_PUBLIC_PARMS_PTR_PTR_value(obj: 'TPMT_PUBLIC_PARMS **') -> "TPMT_PUBLIC_PARMS *":
    return _esys_binding.TPMT_PUBLIC_PARMS_PTR_PTR_value(obj)
TPMT_PUBLIC_PARMS_PTR_PTR_value = _esys_binding.TPMT_PUBLIC_PARMS_PTR_PTR_value
sizeof_TPMT_PUBLIC = _esys_binding.sizeof_TPMT_PUBLIC

def new_TPMT_PUBLIC_PTR() -> "TPMT_PUBLIC *":
    return _esys_binding.new_TPMT_PUBLIC_PTR()
new_TPMT_PUBLIC_PTR = _esys_binding.new_TPMT_PUBLIC_PTR

def copy_TPMT_PUBLIC_PTR(value: 'TPMT_PUBLIC') -> "TPMT_PUBLIC *":
    return _esys_binding.copy_TPMT_PUBLIC_PTR(value)
copy_TPMT_PUBLIC_PTR = _esys_binding.copy_TPMT_PUBLIC_PTR

def delete_TPMT_PUBLIC_PTR(obj: 'TPMT_PUBLIC') -> "void":
    return _esys_binding.delete_TPMT_PUBLIC_PTR(obj)
delete_TPMT_PUBLIC_PTR = _esys_binding.delete_TPMT_PUBLIC_PTR

def TPMT_PUBLIC_PTR_assign(obj: 'TPMT_PUBLIC', value: 'TPMT_PUBLIC') -> "void":
    return _esys_binding.TPMT_PUBLIC_PTR_assign(obj, value)
TPMT_PUBLIC_PTR_assign = _esys_binding.TPMT_PUBLIC_PTR_assign

def TPMT_PUBLIC_PTR_value(obj: 'TPMT_PUBLIC') -> "TPMT_PUBLIC":
    return _esys_binding.TPMT_PUBLIC_PTR_value(obj)
TPMT_PUBLIC_PTR_value = _esys_binding.TPMT_PUBLIC_PTR_value

def new_TPMT_PUBLIC_PTR_PTR() -> "TPMT_PUBLIC **":
    return _esys_binding.new_TPMT_PUBLIC_PTR_PTR()
new_TPMT_PUBLIC_PTR_PTR = _esys_binding.new_TPMT_PUBLIC_PTR_PTR

def copy_TPMT_PUBLIC_PTR_PTR(value: 'TPMT_PUBLIC') -> "TPMT_PUBLIC **":
    return _esys_binding.copy_TPMT_PUBLIC_PTR_PTR(value)
copy_TPMT_PUBLIC_PTR_PTR = _esys_binding.copy_TPMT_PUBLIC_PTR_PTR

def delete_TPMT_PUBLIC_PTR_PTR(obj: 'TPMT_PUBLIC **') -> "void":
    return _esys_binding.delete_TPMT_PUBLIC_PTR_PTR(obj)
delete_TPMT_PUBLIC_PTR_PTR = _esys_binding.delete_TPMT_PUBLIC_PTR_PTR

def TPMT_PUBLIC_PTR_PTR_assign(obj: 'TPMT_PUBLIC **', value: 'TPMT_PUBLIC') -> "void":
    return _esys_binding.TPMT_PUBLIC_PTR_PTR_assign(obj, value)
TPMT_PUBLIC_PTR_PTR_assign = _esys_binding.TPMT_PUBLIC_PTR_PTR_assign

def TPMT_PUBLIC_PTR_PTR_value(obj: 'TPMT_PUBLIC **') -> "TPMT_PUBLIC *":
    return _esys_binding.TPMT_PUBLIC_PTR_PTR_value(obj)
TPMT_PUBLIC_PTR_PTR_value = _esys_binding.TPMT_PUBLIC_PTR_PTR_value
sizeof_TPM2B_PUBLIC = _esys_binding.sizeof_TPM2B_PUBLIC

def new_TPM2B_PUBLIC_PTR() -> "TPM2B_PUBLIC *":
    return _esys_binding.new_TPM2B_PUBLIC_PTR()
new_TPM2B_PUBLIC_PTR = _esys_binding.new_TPM2B_PUBLIC_PTR

def copy_TPM2B_PUBLIC_PTR(value: 'TPM2B_PUBLIC') -> "TPM2B_PUBLIC *":
    return _esys_binding.copy_TPM2B_PUBLIC_PTR(value)
copy_TPM2B_PUBLIC_PTR = _esys_binding.copy_TPM2B_PUBLIC_PTR

def delete_TPM2B_PUBLIC_PTR(obj: 'TPM2B_PUBLIC') -> "void":
    return _esys_binding.delete_TPM2B_PUBLIC_PTR(obj)
delete_TPM2B_PUBLIC_PTR = _esys_binding.delete_TPM2B_PUBLIC_PTR

def TPM2B_PUBLIC_PTR_assign(obj: 'TPM2B_PUBLIC', value: 'TPM2B_PUBLIC') -> "void":
    return _esys_binding.TPM2B_PUBLIC_PTR_assign(obj, value)
TPM2B_PUBLIC_PTR_assign = _esys_binding.TPM2B_PUBLIC_PTR_assign

def TPM2B_PUBLIC_PTR_value(obj: 'TPM2B_PUBLIC') -> "TPM2B_PUBLIC":
    return _esys_binding.TPM2B_PUBLIC_PTR_value(obj)
TPM2B_PUBLIC_PTR_value = _esys_binding.TPM2B_PUBLIC_PTR_value

def new_TPM2B_PUBLIC_PTR_PTR() -> "TPM2B_PUBLIC **":
    return _esys_binding.new_TPM2B_PUBLIC_PTR_PTR()
new_TPM2B_PUBLIC_PTR_PTR = _esys_binding.new_TPM2B_PUBLIC_PTR_PTR

def copy_TPM2B_PUBLIC_PTR_PTR(value: 'TPM2B_PUBLIC') -> "TPM2B_PUBLIC **":
    return _esys_binding.copy_TPM2B_PUBLIC_PTR_PTR(value)
copy_TPM2B_PUBLIC_PTR_PTR = _esys_binding.copy_TPM2B_PUBLIC_PTR_PTR

def delete_TPM2B_PUBLIC_PTR_PTR(obj: 'TPM2B_PUBLIC **') -> "void":
    return _esys_binding.delete_TPM2B_PUBLIC_PTR_PTR(obj)
delete_TPM2B_PUBLIC_PTR_PTR = _esys_binding.delete_TPM2B_PUBLIC_PTR_PTR

def TPM2B_PUBLIC_PTR_PTR_assign(obj: 'TPM2B_PUBLIC **', value: 'TPM2B_PUBLIC') -> "void":
    return _esys_binding.TPM2B_PUBLIC_PTR_PTR_assign(obj, value)
TPM2B_PUBLIC_PTR_PTR_assign = _esys_binding.TPM2B_PUBLIC_PTR_PTR_assign

def TPM2B_PUBLIC_PTR_PTR_value(obj: 'TPM2B_PUBLIC **') -> "TPM2B_PUBLIC *":
    return _esys_binding.TPM2B_PUBLIC_PTR_PTR_value(obj)
TPM2B_PUBLIC_PTR_PTR_value = _esys_binding.TPM2B_PUBLIC_PTR_PTR_value
sizeof_TPM2B_TEMPLATE = _esys_binding.sizeof_TPM2B_TEMPLATE

def new_TPM2B_TEMPLATE_PTR() -> "TPM2B_TEMPLATE *":
    return _esys_binding.new_TPM2B_TEMPLATE_PTR()
new_TPM2B_TEMPLATE_PTR = _esys_binding.new_TPM2B_TEMPLATE_PTR

def copy_TPM2B_TEMPLATE_PTR(value: 'TPM2B_TEMPLATE') -> "TPM2B_TEMPLATE *":
    return _esys_binding.copy_TPM2B_TEMPLATE_PTR(value)
copy_TPM2B_TEMPLATE_PTR = _esys_binding.copy_TPM2B_TEMPLATE_PTR

def delete_TPM2B_TEMPLATE_PTR(obj: 'TPM2B_TEMPLATE') -> "void":
    return _esys_binding.delete_TPM2B_TEMPLATE_PTR(obj)
delete_TPM2B_TEMPLATE_PTR = _esys_binding.delete_TPM2B_TEMPLATE_PTR

def TPM2B_TEMPLATE_PTR_assign(obj: 'TPM2B_TEMPLATE', value: 'TPM2B_TEMPLATE') -> "void":
    return _esys_binding.TPM2B_TEMPLATE_PTR_assign(obj, value)
TPM2B_TEMPLATE_PTR_assign = _esys_binding.TPM2B_TEMPLATE_PTR_assign

def TPM2B_TEMPLATE_PTR_value(obj: 'TPM2B_TEMPLATE') -> "TPM2B_TEMPLATE":
    return _esys_binding.TPM2B_TEMPLATE_PTR_value(obj)
TPM2B_TEMPLATE_PTR_value = _esys_binding.TPM2B_TEMPLATE_PTR_value

def new_TPM2B_TEMPLATE_PTR_PTR() -> "TPM2B_TEMPLATE **":
    return _esys_binding.new_TPM2B_TEMPLATE_PTR_PTR()
new_TPM2B_TEMPLATE_PTR_PTR = _esys_binding.new_TPM2B_TEMPLATE_PTR_PTR

def copy_TPM2B_TEMPLATE_PTR_PTR(value: 'TPM2B_TEMPLATE') -> "TPM2B_TEMPLATE **":
    return _esys_binding.copy_TPM2B_TEMPLATE_PTR_PTR(value)
copy_TPM2B_TEMPLATE_PTR_PTR = _esys_binding.copy_TPM2B_TEMPLATE_PTR_PTR

def delete_TPM2B_TEMPLATE_PTR_PTR(obj: 'TPM2B_TEMPLATE **') -> "void":
    return _esys_binding.delete_TPM2B_TEMPLATE_PTR_PTR(obj)
delete_TPM2B_TEMPLATE_PTR_PTR = _esys_binding.delete_TPM2B_TEMPLATE_PTR_PTR

def TPM2B_TEMPLATE_PTR_PTR_assign(obj: 'TPM2B_TEMPLATE **', value: 'TPM2B_TEMPLATE') -> "void":
    return _esys_binding.TPM2B_TEMPLATE_PTR_PTR_assign(obj, value)
TPM2B_TEMPLATE_PTR_PTR_assign = _esys_binding.TPM2B_TEMPLATE_PTR_PTR_assign

def TPM2B_TEMPLATE_PTR_PTR_value(obj: 'TPM2B_TEMPLATE **') -> "TPM2B_TEMPLATE *":
    return _esys_binding.TPM2B_TEMPLATE_PTR_PTR_value(obj)
TPM2B_TEMPLATE_PTR_PTR_value = _esys_binding.TPM2B_TEMPLATE_PTR_PTR_value
sizeof_TPM2B_PRIVATE_VENDOR_SPECIFIC = _esys_binding.sizeof_TPM2B_PRIVATE_VENDOR_SPECIFIC

def new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR() -> "TPM2B_PRIVATE_VENDOR_SPECIFIC *":
    return _esys_binding.new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR()
new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR = _esys_binding.new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR

def copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR(value: 'TPM2B_PRIVATE_VENDOR_SPECIFIC') -> "TPM2B_PRIVATE_VENDOR_SPECIFIC *":
    return _esys_binding.copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR(value)
copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR = _esys_binding.copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR

def delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR(obj: 'TPM2B_PRIVATE_VENDOR_SPECIFIC') -> "void":
    return _esys_binding.delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR(obj)
delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR = _esys_binding.delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR

def TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_assign(obj: 'TPM2B_PRIVATE_VENDOR_SPECIFIC', value: 'TPM2B_PRIVATE_VENDOR_SPECIFIC') -> "void":
    return _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_assign(obj, value)
TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_assign = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_assign

def TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_value(obj: 'TPM2B_PRIVATE_VENDOR_SPECIFIC') -> "TPM2B_PRIVATE_VENDOR_SPECIFIC":
    return _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_value(obj)
TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_value = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_value

def new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR() -> "TPM2B_PRIVATE_VENDOR_SPECIFIC **":
    return _esys_binding.new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR()
new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR = _esys_binding.new_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR

def copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR(value: 'TPM2B_PRIVATE_VENDOR_SPECIFIC') -> "TPM2B_PRIVATE_VENDOR_SPECIFIC **":
    return _esys_binding.copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR(value)
copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR = _esys_binding.copy_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR

def delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR(obj: 'TPM2B_PRIVATE_VENDOR_SPECIFIC **') -> "void":
    return _esys_binding.delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR(obj)
delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR = _esys_binding.delete_TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR

def TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_assign(obj: 'TPM2B_PRIVATE_VENDOR_SPECIFIC **', value: 'TPM2B_PRIVATE_VENDOR_SPECIFIC') -> "void":
    return _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_assign(obj, value)
TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_assign = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_assign

def TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_value(obj: 'TPM2B_PRIVATE_VENDOR_SPECIFIC **') -> "TPM2B_PRIVATE_VENDOR_SPECIFIC *":
    return _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_value(obj)
TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_value = _esys_binding.TPM2B_PRIVATE_VENDOR_SPECIFIC_PTR_PTR_value
sizeof_TPMU_SENSITIVE_COMPOSITE = _esys_binding.sizeof_TPMU_SENSITIVE_COMPOSITE

def new_TPMU_SENSITIVE_COMPOSITE_PTR() -> "TPMU_SENSITIVE_COMPOSITE *":
    return _esys_binding.new_TPMU_SENSITIVE_COMPOSITE_PTR()
new_TPMU_SENSITIVE_COMPOSITE_PTR = _esys_binding.new_TPMU_SENSITIVE_COMPOSITE_PTR

def copy_TPMU_SENSITIVE_COMPOSITE_PTR(value: 'TPMU_SENSITIVE_COMPOSITE') -> "TPMU_SENSITIVE_COMPOSITE *":
    return _esys_binding.copy_TPMU_SENSITIVE_COMPOSITE_PTR(value)
copy_TPMU_SENSITIVE_COMPOSITE_PTR = _esys_binding.copy_TPMU_SENSITIVE_COMPOSITE_PTR

def delete_TPMU_SENSITIVE_COMPOSITE_PTR(obj: 'TPMU_SENSITIVE_COMPOSITE') -> "void":
    return _esys_binding.delete_TPMU_SENSITIVE_COMPOSITE_PTR(obj)
delete_TPMU_SENSITIVE_COMPOSITE_PTR = _esys_binding.delete_TPMU_SENSITIVE_COMPOSITE_PTR

def TPMU_SENSITIVE_COMPOSITE_PTR_assign(obj: 'TPMU_SENSITIVE_COMPOSITE', value: 'TPMU_SENSITIVE_COMPOSITE') -> "void":
    return _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_assign(obj, value)
TPMU_SENSITIVE_COMPOSITE_PTR_assign = _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_assign

def TPMU_SENSITIVE_COMPOSITE_PTR_value(obj: 'TPMU_SENSITIVE_COMPOSITE') -> "TPMU_SENSITIVE_COMPOSITE":
    return _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_value(obj)
TPMU_SENSITIVE_COMPOSITE_PTR_value = _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_value

def new_TPMU_SENSITIVE_COMPOSITE_PTR_PTR() -> "TPMU_SENSITIVE_COMPOSITE **":
    return _esys_binding.new_TPMU_SENSITIVE_COMPOSITE_PTR_PTR()
new_TPMU_SENSITIVE_COMPOSITE_PTR_PTR = _esys_binding.new_TPMU_SENSITIVE_COMPOSITE_PTR_PTR

def copy_TPMU_SENSITIVE_COMPOSITE_PTR_PTR(value: 'TPMU_SENSITIVE_COMPOSITE') -> "TPMU_SENSITIVE_COMPOSITE **":
    return _esys_binding.copy_TPMU_SENSITIVE_COMPOSITE_PTR_PTR(value)
copy_TPMU_SENSITIVE_COMPOSITE_PTR_PTR = _esys_binding.copy_TPMU_SENSITIVE_COMPOSITE_PTR_PTR

def delete_TPMU_SENSITIVE_COMPOSITE_PTR_PTR(obj: 'TPMU_SENSITIVE_COMPOSITE **') -> "void":
    return _esys_binding.delete_TPMU_SENSITIVE_COMPOSITE_PTR_PTR(obj)
delete_TPMU_SENSITIVE_COMPOSITE_PTR_PTR = _esys_binding.delete_TPMU_SENSITIVE_COMPOSITE_PTR_PTR

def TPMU_SENSITIVE_COMPOSITE_PTR_PTR_assign(obj: 'TPMU_SENSITIVE_COMPOSITE **', value: 'TPMU_SENSITIVE_COMPOSITE') -> "void":
    return _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_PTR_assign(obj, value)
TPMU_SENSITIVE_COMPOSITE_PTR_PTR_assign = _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_PTR_assign

def TPMU_SENSITIVE_COMPOSITE_PTR_PTR_value(obj: 'TPMU_SENSITIVE_COMPOSITE **') -> "TPMU_SENSITIVE_COMPOSITE *":
    return _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_PTR_value(obj)
TPMU_SENSITIVE_COMPOSITE_PTR_PTR_value = _esys_binding.TPMU_SENSITIVE_COMPOSITE_PTR_PTR_value
sizeof_TPMT_SENSITIVE = _esys_binding.sizeof_TPMT_SENSITIVE

def new_TPMT_SENSITIVE_PTR() -> "TPMT_SENSITIVE *":
    return _esys_binding.new_TPMT_SENSITIVE_PTR()
new_TPMT_SENSITIVE_PTR = _esys_binding.new_TPMT_SENSITIVE_PTR

def copy_TPMT_SENSITIVE_PTR(value: 'TPMT_SENSITIVE') -> "TPMT_SENSITIVE *":
    return _esys_binding.copy_TPMT_SENSITIVE_PTR(value)
copy_TPMT_SENSITIVE_PTR = _esys_binding.copy_TPMT_SENSITIVE_PTR

def delete_TPMT_SENSITIVE_PTR(obj: 'TPMT_SENSITIVE') -> "void":
    return _esys_binding.delete_TPMT_SENSITIVE_PTR(obj)
delete_TPMT_SENSITIVE_PTR = _esys_binding.delete_TPMT_SENSITIVE_PTR

def TPMT_SENSITIVE_PTR_assign(obj: 'TPMT_SENSITIVE', value: 'TPMT_SENSITIVE') -> "void":
    return _esys_binding.TPMT_SENSITIVE_PTR_assign(obj, value)
TPMT_SENSITIVE_PTR_assign = _esys_binding.TPMT_SENSITIVE_PTR_assign

def TPMT_SENSITIVE_PTR_value(obj: 'TPMT_SENSITIVE') -> "TPMT_SENSITIVE":
    return _esys_binding.TPMT_SENSITIVE_PTR_value(obj)
TPMT_SENSITIVE_PTR_value = _esys_binding.TPMT_SENSITIVE_PTR_value

def new_TPMT_SENSITIVE_PTR_PTR() -> "TPMT_SENSITIVE **":
    return _esys_binding.new_TPMT_SENSITIVE_PTR_PTR()
new_TPMT_SENSITIVE_PTR_PTR = _esys_binding.new_TPMT_SENSITIVE_PTR_PTR

def copy_TPMT_SENSITIVE_PTR_PTR(value: 'TPMT_SENSITIVE') -> "TPMT_SENSITIVE **":
    return _esys_binding.copy_TPMT_SENSITIVE_PTR_PTR(value)
copy_TPMT_SENSITIVE_PTR_PTR = _esys_binding.copy_TPMT_SENSITIVE_PTR_PTR

def delete_TPMT_SENSITIVE_PTR_PTR(obj: 'TPMT_SENSITIVE **') -> "void":
    return _esys_binding.delete_TPMT_SENSITIVE_PTR_PTR(obj)
delete_TPMT_SENSITIVE_PTR_PTR = _esys_binding.delete_TPMT_SENSITIVE_PTR_PTR

def TPMT_SENSITIVE_PTR_PTR_assign(obj: 'TPMT_SENSITIVE **', value: 'TPMT_SENSITIVE') -> "void":
    return _esys_binding.TPMT_SENSITIVE_PTR_PTR_assign(obj, value)
TPMT_SENSITIVE_PTR_PTR_assign = _esys_binding.TPMT_SENSITIVE_PTR_PTR_assign

def TPMT_SENSITIVE_PTR_PTR_value(obj: 'TPMT_SENSITIVE **') -> "TPMT_SENSITIVE *":
    return _esys_binding.TPMT_SENSITIVE_PTR_PTR_value(obj)
TPMT_SENSITIVE_PTR_PTR_value = _esys_binding.TPMT_SENSITIVE_PTR_PTR_value
sizeof_TPM2B_SENSITIVE = _esys_binding.sizeof_TPM2B_SENSITIVE

def new_TPM2B_SENSITIVE_PTR() -> "TPM2B_SENSITIVE *":
    return _esys_binding.new_TPM2B_SENSITIVE_PTR()
new_TPM2B_SENSITIVE_PTR = _esys_binding.new_TPM2B_SENSITIVE_PTR

def copy_TPM2B_SENSITIVE_PTR(value: 'TPM2B_SENSITIVE') -> "TPM2B_SENSITIVE *":
    return _esys_binding.copy_TPM2B_SENSITIVE_PTR(value)
copy_TPM2B_SENSITIVE_PTR = _esys_binding.copy_TPM2B_SENSITIVE_PTR

def delete_TPM2B_SENSITIVE_PTR(obj: 'TPM2B_SENSITIVE') -> "void":
    return _esys_binding.delete_TPM2B_SENSITIVE_PTR(obj)
delete_TPM2B_SENSITIVE_PTR = _esys_binding.delete_TPM2B_SENSITIVE_PTR

def TPM2B_SENSITIVE_PTR_assign(obj: 'TPM2B_SENSITIVE', value: 'TPM2B_SENSITIVE') -> "void":
    return _esys_binding.TPM2B_SENSITIVE_PTR_assign(obj, value)
TPM2B_SENSITIVE_PTR_assign = _esys_binding.TPM2B_SENSITIVE_PTR_assign

def TPM2B_SENSITIVE_PTR_value(obj: 'TPM2B_SENSITIVE') -> "TPM2B_SENSITIVE":
    return _esys_binding.TPM2B_SENSITIVE_PTR_value(obj)
TPM2B_SENSITIVE_PTR_value = _esys_binding.TPM2B_SENSITIVE_PTR_value

def new_TPM2B_SENSITIVE_PTR_PTR() -> "TPM2B_SENSITIVE **":
    return _esys_binding.new_TPM2B_SENSITIVE_PTR_PTR()
new_TPM2B_SENSITIVE_PTR_PTR = _esys_binding.new_TPM2B_SENSITIVE_PTR_PTR

def copy_TPM2B_SENSITIVE_PTR_PTR(value: 'TPM2B_SENSITIVE') -> "TPM2B_SENSITIVE **":
    return _esys_binding.copy_TPM2B_SENSITIVE_PTR_PTR(value)
copy_TPM2B_SENSITIVE_PTR_PTR = _esys_binding.copy_TPM2B_SENSITIVE_PTR_PTR

def delete_TPM2B_SENSITIVE_PTR_PTR(obj: 'TPM2B_SENSITIVE **') -> "void":
    return _esys_binding.delete_TPM2B_SENSITIVE_PTR_PTR(obj)
delete_TPM2B_SENSITIVE_PTR_PTR = _esys_binding.delete_TPM2B_SENSITIVE_PTR_PTR

def TPM2B_SENSITIVE_PTR_PTR_assign(obj: 'TPM2B_SENSITIVE **', value: 'TPM2B_SENSITIVE') -> "void":
    return _esys_binding.TPM2B_SENSITIVE_PTR_PTR_assign(obj, value)
TPM2B_SENSITIVE_PTR_PTR_assign = _esys_binding.TPM2B_SENSITIVE_PTR_PTR_assign

def TPM2B_SENSITIVE_PTR_PTR_value(obj: 'TPM2B_SENSITIVE **') -> "TPM2B_SENSITIVE *":
    return _esys_binding.TPM2B_SENSITIVE_PTR_PTR_value(obj)
TPM2B_SENSITIVE_PTR_PTR_value = _esys_binding.TPM2B_SENSITIVE_PTR_PTR_value
sizeof__PRIVATE = _esys_binding.sizeof__PRIVATE

def new__PRIVATE_PTR() -> "_PRIVATE *":
    return _esys_binding.new__PRIVATE_PTR()
new__PRIVATE_PTR = _esys_binding.new__PRIVATE_PTR

def copy__PRIVATE_PTR(value: '_PRIVATE') -> "_PRIVATE *":
    return _esys_binding.copy__PRIVATE_PTR(value)
copy__PRIVATE_PTR = _esys_binding.copy__PRIVATE_PTR

def delete__PRIVATE_PTR(obj: '_PRIVATE') -> "void":
    return _esys_binding.delete__PRIVATE_PTR(obj)
delete__PRIVATE_PTR = _esys_binding.delete__PRIVATE_PTR

def _PRIVATE_PTR_assign(obj: '_PRIVATE', value: '_PRIVATE') -> "void":
    return _esys_binding._PRIVATE_PTR_assign(obj, value)
_PRIVATE_PTR_assign = _esys_binding._PRIVATE_PTR_assign

def _PRIVATE_PTR_value(obj: '_PRIVATE') -> "_PRIVATE":
    return _esys_binding._PRIVATE_PTR_value(obj)
_PRIVATE_PTR_value = _esys_binding._PRIVATE_PTR_value

def new__PRIVATE_PTR_PTR() -> "_PRIVATE **":
    return _esys_binding.new__PRIVATE_PTR_PTR()
new__PRIVATE_PTR_PTR = _esys_binding.new__PRIVATE_PTR_PTR

def copy__PRIVATE_PTR_PTR(value: '_PRIVATE') -> "_PRIVATE **":
    return _esys_binding.copy__PRIVATE_PTR_PTR(value)
copy__PRIVATE_PTR_PTR = _esys_binding.copy__PRIVATE_PTR_PTR

def delete__PRIVATE_PTR_PTR(obj: '_PRIVATE **') -> "void":
    return _esys_binding.delete__PRIVATE_PTR_PTR(obj)
delete__PRIVATE_PTR_PTR = _esys_binding.delete__PRIVATE_PTR_PTR

def _PRIVATE_PTR_PTR_assign(obj: '_PRIVATE **', value: '_PRIVATE') -> "void":
    return _esys_binding._PRIVATE_PTR_PTR_assign(obj, value)
_PRIVATE_PTR_PTR_assign = _esys_binding._PRIVATE_PTR_PTR_assign

def _PRIVATE_PTR_PTR_value(obj: '_PRIVATE **') -> "_PRIVATE *":
    return _esys_binding._PRIVATE_PTR_PTR_value(obj)
_PRIVATE_PTR_PTR_value = _esys_binding._PRIVATE_PTR_PTR_value
sizeof_TPM2B_PRIVATE = _esys_binding.sizeof_TPM2B_PRIVATE

def new_TPM2B_PRIVATE_PTR() -> "TPM2B_PRIVATE *":
    return _esys_binding.new_TPM2B_PRIVATE_PTR()
new_TPM2B_PRIVATE_PTR = _esys_binding.new_TPM2B_PRIVATE_PTR

def copy_TPM2B_PRIVATE_PTR(value: 'TPM2B_PRIVATE') -> "TPM2B_PRIVATE *":
    return _esys_binding.copy_TPM2B_PRIVATE_PTR(value)
copy_TPM2B_PRIVATE_PTR = _esys_binding.copy_TPM2B_PRIVATE_PTR

def delete_TPM2B_PRIVATE_PTR(obj: 'TPM2B_PRIVATE') -> "void":
    return _esys_binding.delete_TPM2B_PRIVATE_PTR(obj)
delete_TPM2B_PRIVATE_PTR = _esys_binding.delete_TPM2B_PRIVATE_PTR

def TPM2B_PRIVATE_PTR_assign(obj: 'TPM2B_PRIVATE', value: 'TPM2B_PRIVATE') -> "void":
    return _esys_binding.TPM2B_PRIVATE_PTR_assign(obj, value)
TPM2B_PRIVATE_PTR_assign = _esys_binding.TPM2B_PRIVATE_PTR_assign

def TPM2B_PRIVATE_PTR_value(obj: 'TPM2B_PRIVATE') -> "TPM2B_PRIVATE":
    return _esys_binding.TPM2B_PRIVATE_PTR_value(obj)
TPM2B_PRIVATE_PTR_value = _esys_binding.TPM2B_PRIVATE_PTR_value

def new_TPM2B_PRIVATE_PTR_PTR() -> "TPM2B_PRIVATE **":
    return _esys_binding.new_TPM2B_PRIVATE_PTR_PTR()
new_TPM2B_PRIVATE_PTR_PTR = _esys_binding.new_TPM2B_PRIVATE_PTR_PTR

def copy_TPM2B_PRIVATE_PTR_PTR(value: 'TPM2B_PRIVATE') -> "TPM2B_PRIVATE **":
    return _esys_binding.copy_TPM2B_PRIVATE_PTR_PTR(value)
copy_TPM2B_PRIVATE_PTR_PTR = _esys_binding.copy_TPM2B_PRIVATE_PTR_PTR

def delete_TPM2B_PRIVATE_PTR_PTR(obj: 'TPM2B_PRIVATE **') -> "void":
    return _esys_binding.delete_TPM2B_PRIVATE_PTR_PTR(obj)
delete_TPM2B_PRIVATE_PTR_PTR = _esys_binding.delete_TPM2B_PRIVATE_PTR_PTR

def TPM2B_PRIVATE_PTR_PTR_assign(obj: 'TPM2B_PRIVATE **', value: 'TPM2B_PRIVATE') -> "void":
    return _esys_binding.TPM2B_PRIVATE_PTR_PTR_assign(obj, value)
TPM2B_PRIVATE_PTR_PTR_assign = _esys_binding.TPM2B_PRIVATE_PTR_PTR_assign

def TPM2B_PRIVATE_PTR_PTR_value(obj: 'TPM2B_PRIVATE **') -> "TPM2B_PRIVATE *":
    return _esys_binding.TPM2B_PRIVATE_PTR_PTR_value(obj)
TPM2B_PRIVATE_PTR_PTR_value = _esys_binding.TPM2B_PRIVATE_PTR_PTR_value
sizeof_TPMS_ID_OBJECT = _esys_binding.sizeof_TPMS_ID_OBJECT

def new_TPMS_ID_OBJECT_PTR() -> "TPMS_ID_OBJECT *":
    return _esys_binding.new_TPMS_ID_OBJECT_PTR()
new_TPMS_ID_OBJECT_PTR = _esys_binding.new_TPMS_ID_OBJECT_PTR

def copy_TPMS_ID_OBJECT_PTR(value: 'TPMS_ID_OBJECT') -> "TPMS_ID_OBJECT *":
    return _esys_binding.copy_TPMS_ID_OBJECT_PTR(value)
copy_TPMS_ID_OBJECT_PTR = _esys_binding.copy_TPMS_ID_OBJECT_PTR

def delete_TPMS_ID_OBJECT_PTR(obj: 'TPMS_ID_OBJECT') -> "void":
    return _esys_binding.delete_TPMS_ID_OBJECT_PTR(obj)
delete_TPMS_ID_OBJECT_PTR = _esys_binding.delete_TPMS_ID_OBJECT_PTR

def TPMS_ID_OBJECT_PTR_assign(obj: 'TPMS_ID_OBJECT', value: 'TPMS_ID_OBJECT') -> "void":
    return _esys_binding.TPMS_ID_OBJECT_PTR_assign(obj, value)
TPMS_ID_OBJECT_PTR_assign = _esys_binding.TPMS_ID_OBJECT_PTR_assign

def TPMS_ID_OBJECT_PTR_value(obj: 'TPMS_ID_OBJECT') -> "TPMS_ID_OBJECT":
    return _esys_binding.TPMS_ID_OBJECT_PTR_value(obj)
TPMS_ID_OBJECT_PTR_value = _esys_binding.TPMS_ID_OBJECT_PTR_value

def new_TPMS_ID_OBJECT_PTR_PTR() -> "TPMS_ID_OBJECT **":
    return _esys_binding.new_TPMS_ID_OBJECT_PTR_PTR()
new_TPMS_ID_OBJECT_PTR_PTR = _esys_binding.new_TPMS_ID_OBJECT_PTR_PTR

def copy_TPMS_ID_OBJECT_PTR_PTR(value: 'TPMS_ID_OBJECT') -> "TPMS_ID_OBJECT **":
    return _esys_binding.copy_TPMS_ID_OBJECT_PTR_PTR(value)
copy_TPMS_ID_OBJECT_PTR_PTR = _esys_binding.copy_TPMS_ID_OBJECT_PTR_PTR

def delete_TPMS_ID_OBJECT_PTR_PTR(obj: 'TPMS_ID_OBJECT **') -> "void":
    return _esys_binding.delete_TPMS_ID_OBJECT_PTR_PTR(obj)
delete_TPMS_ID_OBJECT_PTR_PTR = _esys_binding.delete_TPMS_ID_OBJECT_PTR_PTR

def TPMS_ID_OBJECT_PTR_PTR_assign(obj: 'TPMS_ID_OBJECT **', value: 'TPMS_ID_OBJECT') -> "void":
    return _esys_binding.TPMS_ID_OBJECT_PTR_PTR_assign(obj, value)
TPMS_ID_OBJECT_PTR_PTR_assign = _esys_binding.TPMS_ID_OBJECT_PTR_PTR_assign

def TPMS_ID_OBJECT_PTR_PTR_value(obj: 'TPMS_ID_OBJECT **') -> "TPMS_ID_OBJECT *":
    return _esys_binding.TPMS_ID_OBJECT_PTR_PTR_value(obj)
TPMS_ID_OBJECT_PTR_PTR_value = _esys_binding.TPMS_ID_OBJECT_PTR_PTR_value
sizeof_TPM2B_ID_OBJECT = _esys_binding.sizeof_TPM2B_ID_OBJECT

def new_TPM2B_ID_OBJECT_PTR() -> "TPM2B_ID_OBJECT *":
    return _esys_binding.new_TPM2B_ID_OBJECT_PTR()
new_TPM2B_ID_OBJECT_PTR = _esys_binding.new_TPM2B_ID_OBJECT_PTR

def copy_TPM2B_ID_OBJECT_PTR(value: 'TPM2B_ID_OBJECT') -> "TPM2B_ID_OBJECT *":
    return _esys_binding.copy_TPM2B_ID_OBJECT_PTR(value)
copy_TPM2B_ID_OBJECT_PTR = _esys_binding.copy_TPM2B_ID_OBJECT_PTR

def delete_TPM2B_ID_OBJECT_PTR(obj: 'TPM2B_ID_OBJECT') -> "void":
    return _esys_binding.delete_TPM2B_ID_OBJECT_PTR(obj)
delete_TPM2B_ID_OBJECT_PTR = _esys_binding.delete_TPM2B_ID_OBJECT_PTR

def TPM2B_ID_OBJECT_PTR_assign(obj: 'TPM2B_ID_OBJECT', value: 'TPM2B_ID_OBJECT') -> "void":
    return _esys_binding.TPM2B_ID_OBJECT_PTR_assign(obj, value)
TPM2B_ID_OBJECT_PTR_assign = _esys_binding.TPM2B_ID_OBJECT_PTR_assign

def TPM2B_ID_OBJECT_PTR_value(obj: 'TPM2B_ID_OBJECT') -> "TPM2B_ID_OBJECT":
    return _esys_binding.TPM2B_ID_OBJECT_PTR_value(obj)
TPM2B_ID_OBJECT_PTR_value = _esys_binding.TPM2B_ID_OBJECT_PTR_value

def new_TPM2B_ID_OBJECT_PTR_PTR() -> "TPM2B_ID_OBJECT **":
    return _esys_binding.new_TPM2B_ID_OBJECT_PTR_PTR()
new_TPM2B_ID_OBJECT_PTR_PTR = _esys_binding.new_TPM2B_ID_OBJECT_PTR_PTR

def copy_TPM2B_ID_OBJECT_PTR_PTR(value: 'TPM2B_ID_OBJECT') -> "TPM2B_ID_OBJECT **":
    return _esys_binding.copy_TPM2B_ID_OBJECT_PTR_PTR(value)
copy_TPM2B_ID_OBJECT_PTR_PTR = _esys_binding.copy_TPM2B_ID_OBJECT_PTR_PTR

def delete_TPM2B_ID_OBJECT_PTR_PTR(obj: 'TPM2B_ID_OBJECT **') -> "void":
    return _esys_binding.delete_TPM2B_ID_OBJECT_PTR_PTR(obj)
delete_TPM2B_ID_OBJECT_PTR_PTR = _esys_binding.delete_TPM2B_ID_OBJECT_PTR_PTR

def TPM2B_ID_OBJECT_PTR_PTR_assign(obj: 'TPM2B_ID_OBJECT **', value: 'TPM2B_ID_OBJECT') -> "void":
    return _esys_binding.TPM2B_ID_OBJECT_PTR_PTR_assign(obj, value)
TPM2B_ID_OBJECT_PTR_PTR_assign = _esys_binding.TPM2B_ID_OBJECT_PTR_PTR_assign

def TPM2B_ID_OBJECT_PTR_PTR_value(obj: 'TPM2B_ID_OBJECT **') -> "TPM2B_ID_OBJECT *":
    return _esys_binding.TPM2B_ID_OBJECT_PTR_PTR_value(obj)
TPM2B_ID_OBJECT_PTR_PTR_value = _esys_binding.TPM2B_ID_OBJECT_PTR_PTR_value
sizeof_TPMS_NV_PIN_COUNTER_PARAMETERS = _esys_binding.sizeof_TPMS_NV_PIN_COUNTER_PARAMETERS

def new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR() -> "TPMS_NV_PIN_COUNTER_PARAMETERS *":
    return _esys_binding.new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR()
new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR = _esys_binding.new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR

def copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR(value: 'TPMS_NV_PIN_COUNTER_PARAMETERS') -> "TPMS_NV_PIN_COUNTER_PARAMETERS *":
    return _esys_binding.copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR(value)
copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR = _esys_binding.copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR

def delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR(obj: 'TPMS_NV_PIN_COUNTER_PARAMETERS') -> "void":
    return _esys_binding.delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR(obj)
delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR = _esys_binding.delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR

def TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_assign(obj: 'TPMS_NV_PIN_COUNTER_PARAMETERS', value: 'TPMS_NV_PIN_COUNTER_PARAMETERS') -> "void":
    return _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_assign(obj, value)
TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_assign = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_assign

def TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_value(obj: 'TPMS_NV_PIN_COUNTER_PARAMETERS') -> "TPMS_NV_PIN_COUNTER_PARAMETERS":
    return _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_value(obj)
TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_value = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_value

def new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR() -> "TPMS_NV_PIN_COUNTER_PARAMETERS **":
    return _esys_binding.new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR()
new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR = _esys_binding.new_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR

def copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR(value: 'TPMS_NV_PIN_COUNTER_PARAMETERS') -> "TPMS_NV_PIN_COUNTER_PARAMETERS **":
    return _esys_binding.copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR(value)
copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR = _esys_binding.copy_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR

def delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR(obj: 'TPMS_NV_PIN_COUNTER_PARAMETERS **') -> "void":
    return _esys_binding.delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR(obj)
delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR = _esys_binding.delete_TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR

def TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_assign(obj: 'TPMS_NV_PIN_COUNTER_PARAMETERS **', value: 'TPMS_NV_PIN_COUNTER_PARAMETERS') -> "void":
    return _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_assign(obj, value)
TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_assign = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_assign

def TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_value(obj: 'TPMS_NV_PIN_COUNTER_PARAMETERS **') -> "TPMS_NV_PIN_COUNTER_PARAMETERS *":
    return _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_value(obj)
TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_value = _esys_binding.TPMS_NV_PIN_COUNTER_PARAMETERS_PTR_PTR_value
sizeof_TPMS_NV_PUBLIC = _esys_binding.sizeof_TPMS_NV_PUBLIC

def new_TPMS_NV_PUBLIC_PTR() -> "TPMS_NV_PUBLIC *":
    return _esys_binding.new_TPMS_NV_PUBLIC_PTR()
new_TPMS_NV_PUBLIC_PTR = _esys_binding.new_TPMS_NV_PUBLIC_PTR

def copy_TPMS_NV_PUBLIC_PTR(value: 'TPMS_NV_PUBLIC') -> "TPMS_NV_PUBLIC *":
    return _esys_binding.copy_TPMS_NV_PUBLIC_PTR(value)
copy_TPMS_NV_PUBLIC_PTR = _esys_binding.copy_TPMS_NV_PUBLIC_PTR

def delete_TPMS_NV_PUBLIC_PTR(obj: 'TPMS_NV_PUBLIC') -> "void":
    return _esys_binding.delete_TPMS_NV_PUBLIC_PTR(obj)
delete_TPMS_NV_PUBLIC_PTR = _esys_binding.delete_TPMS_NV_PUBLIC_PTR

def TPMS_NV_PUBLIC_PTR_assign(obj: 'TPMS_NV_PUBLIC', value: 'TPMS_NV_PUBLIC') -> "void":
    return _esys_binding.TPMS_NV_PUBLIC_PTR_assign(obj, value)
TPMS_NV_PUBLIC_PTR_assign = _esys_binding.TPMS_NV_PUBLIC_PTR_assign

def TPMS_NV_PUBLIC_PTR_value(obj: 'TPMS_NV_PUBLIC') -> "TPMS_NV_PUBLIC":
    return _esys_binding.TPMS_NV_PUBLIC_PTR_value(obj)
TPMS_NV_PUBLIC_PTR_value = _esys_binding.TPMS_NV_PUBLIC_PTR_value

def new_TPMS_NV_PUBLIC_PTR_PTR() -> "TPMS_NV_PUBLIC **":
    return _esys_binding.new_TPMS_NV_PUBLIC_PTR_PTR()
new_TPMS_NV_PUBLIC_PTR_PTR = _esys_binding.new_TPMS_NV_PUBLIC_PTR_PTR

def copy_TPMS_NV_PUBLIC_PTR_PTR(value: 'TPMS_NV_PUBLIC') -> "TPMS_NV_PUBLIC **":
    return _esys_binding.copy_TPMS_NV_PUBLIC_PTR_PTR(value)
copy_TPMS_NV_PUBLIC_PTR_PTR = _esys_binding.copy_TPMS_NV_PUBLIC_PTR_PTR

def delete_TPMS_NV_PUBLIC_PTR_PTR(obj: 'TPMS_NV_PUBLIC **') -> "void":
    return _esys_binding.delete_TPMS_NV_PUBLIC_PTR_PTR(obj)
delete_TPMS_NV_PUBLIC_PTR_PTR = _esys_binding.delete_TPMS_NV_PUBLIC_PTR_PTR

def TPMS_NV_PUBLIC_PTR_PTR_assign(obj: 'TPMS_NV_PUBLIC **', value: 'TPMS_NV_PUBLIC') -> "void":
    return _esys_binding.TPMS_NV_PUBLIC_PTR_PTR_assign(obj, value)
TPMS_NV_PUBLIC_PTR_PTR_assign = _esys_binding.TPMS_NV_PUBLIC_PTR_PTR_assign

def TPMS_NV_PUBLIC_PTR_PTR_value(obj: 'TPMS_NV_PUBLIC **') -> "TPMS_NV_PUBLIC *":
    return _esys_binding.TPMS_NV_PUBLIC_PTR_PTR_value(obj)
TPMS_NV_PUBLIC_PTR_PTR_value = _esys_binding.TPMS_NV_PUBLIC_PTR_PTR_value
sizeof_TPM2B_NV_PUBLIC = _esys_binding.sizeof_TPM2B_NV_PUBLIC

def new_TPM2B_NV_PUBLIC_PTR() -> "TPM2B_NV_PUBLIC *":
    return _esys_binding.new_TPM2B_NV_PUBLIC_PTR()
new_TPM2B_NV_PUBLIC_PTR = _esys_binding.new_TPM2B_NV_PUBLIC_PTR

def copy_TPM2B_NV_PUBLIC_PTR(value: 'TPM2B_NV_PUBLIC') -> "TPM2B_NV_PUBLIC *":
    return _esys_binding.copy_TPM2B_NV_PUBLIC_PTR(value)
copy_TPM2B_NV_PUBLIC_PTR = _esys_binding.copy_TPM2B_NV_PUBLIC_PTR

def delete_TPM2B_NV_PUBLIC_PTR(obj: 'TPM2B_NV_PUBLIC') -> "void":
    return _esys_binding.delete_TPM2B_NV_PUBLIC_PTR(obj)
delete_TPM2B_NV_PUBLIC_PTR = _esys_binding.delete_TPM2B_NV_PUBLIC_PTR

def TPM2B_NV_PUBLIC_PTR_assign(obj: 'TPM2B_NV_PUBLIC', value: 'TPM2B_NV_PUBLIC') -> "void":
    return _esys_binding.TPM2B_NV_PUBLIC_PTR_assign(obj, value)
TPM2B_NV_PUBLIC_PTR_assign = _esys_binding.TPM2B_NV_PUBLIC_PTR_assign

def TPM2B_NV_PUBLIC_PTR_value(obj: 'TPM2B_NV_PUBLIC') -> "TPM2B_NV_PUBLIC":
    return _esys_binding.TPM2B_NV_PUBLIC_PTR_value(obj)
TPM2B_NV_PUBLIC_PTR_value = _esys_binding.TPM2B_NV_PUBLIC_PTR_value

def new_TPM2B_NV_PUBLIC_PTR_PTR() -> "TPM2B_NV_PUBLIC **":
    return _esys_binding.new_TPM2B_NV_PUBLIC_PTR_PTR()
new_TPM2B_NV_PUBLIC_PTR_PTR = _esys_binding.new_TPM2B_NV_PUBLIC_PTR_PTR

def copy_TPM2B_NV_PUBLIC_PTR_PTR(value: 'TPM2B_NV_PUBLIC') -> "TPM2B_NV_PUBLIC **":
    return _esys_binding.copy_TPM2B_NV_PUBLIC_PTR_PTR(value)
copy_TPM2B_NV_PUBLIC_PTR_PTR = _esys_binding.copy_TPM2B_NV_PUBLIC_PTR_PTR

def delete_TPM2B_NV_PUBLIC_PTR_PTR(obj: 'TPM2B_NV_PUBLIC **') -> "void":
    return _esys_binding.delete_TPM2B_NV_PUBLIC_PTR_PTR(obj)
delete_TPM2B_NV_PUBLIC_PTR_PTR = _esys_binding.delete_TPM2B_NV_PUBLIC_PTR_PTR

def TPM2B_NV_PUBLIC_PTR_PTR_assign(obj: 'TPM2B_NV_PUBLIC **', value: 'TPM2B_NV_PUBLIC') -> "void":
    return _esys_binding.TPM2B_NV_PUBLIC_PTR_PTR_assign(obj, value)
TPM2B_NV_PUBLIC_PTR_PTR_assign = _esys_binding.TPM2B_NV_PUBLIC_PTR_PTR_assign

def TPM2B_NV_PUBLIC_PTR_PTR_value(obj: 'TPM2B_NV_PUBLIC **') -> "TPM2B_NV_PUBLIC *":
    return _esys_binding.TPM2B_NV_PUBLIC_PTR_PTR_value(obj)
TPM2B_NV_PUBLIC_PTR_PTR_value = _esys_binding.TPM2B_NV_PUBLIC_PTR_PTR_value
sizeof_TPM2B_CONTEXT_SENSITIVE = _esys_binding.sizeof_TPM2B_CONTEXT_SENSITIVE

def new_TPM2B_CONTEXT_SENSITIVE_PTR() -> "TPM2B_CONTEXT_SENSITIVE *":
    return _esys_binding.new_TPM2B_CONTEXT_SENSITIVE_PTR()
new_TPM2B_CONTEXT_SENSITIVE_PTR = _esys_binding.new_TPM2B_CONTEXT_SENSITIVE_PTR

def copy_TPM2B_CONTEXT_SENSITIVE_PTR(value: 'TPM2B_CONTEXT_SENSITIVE') -> "TPM2B_CONTEXT_SENSITIVE *":
    return _esys_binding.copy_TPM2B_CONTEXT_SENSITIVE_PTR(value)
copy_TPM2B_CONTEXT_SENSITIVE_PTR = _esys_binding.copy_TPM2B_CONTEXT_SENSITIVE_PTR

def delete_TPM2B_CONTEXT_SENSITIVE_PTR(obj: 'TPM2B_CONTEXT_SENSITIVE') -> "void":
    return _esys_binding.delete_TPM2B_CONTEXT_SENSITIVE_PTR(obj)
delete_TPM2B_CONTEXT_SENSITIVE_PTR = _esys_binding.delete_TPM2B_CONTEXT_SENSITIVE_PTR

def TPM2B_CONTEXT_SENSITIVE_PTR_assign(obj: 'TPM2B_CONTEXT_SENSITIVE', value: 'TPM2B_CONTEXT_SENSITIVE') -> "void":
    return _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_assign(obj, value)
TPM2B_CONTEXT_SENSITIVE_PTR_assign = _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_assign

def TPM2B_CONTEXT_SENSITIVE_PTR_value(obj: 'TPM2B_CONTEXT_SENSITIVE') -> "TPM2B_CONTEXT_SENSITIVE":
    return _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_value(obj)
TPM2B_CONTEXT_SENSITIVE_PTR_value = _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_value

def new_TPM2B_CONTEXT_SENSITIVE_PTR_PTR() -> "TPM2B_CONTEXT_SENSITIVE **":
    return _esys_binding.new_TPM2B_CONTEXT_SENSITIVE_PTR_PTR()
new_TPM2B_CONTEXT_SENSITIVE_PTR_PTR = _esys_binding.new_TPM2B_CONTEXT_SENSITIVE_PTR_PTR

def copy_TPM2B_CONTEXT_SENSITIVE_PTR_PTR(value: 'TPM2B_CONTEXT_SENSITIVE') -> "TPM2B_CONTEXT_SENSITIVE **":
    return _esys_binding.copy_TPM2B_CONTEXT_SENSITIVE_PTR_PTR(value)
copy_TPM2B_CONTEXT_SENSITIVE_PTR_PTR = _esys_binding.copy_TPM2B_CONTEXT_SENSITIVE_PTR_PTR

def delete_TPM2B_CONTEXT_SENSITIVE_PTR_PTR(obj: 'TPM2B_CONTEXT_SENSITIVE **') -> "void":
    return _esys_binding.delete_TPM2B_CONTEXT_SENSITIVE_PTR_PTR(obj)
delete_TPM2B_CONTEXT_SENSITIVE_PTR_PTR = _esys_binding.delete_TPM2B_CONTEXT_SENSITIVE_PTR_PTR

def TPM2B_CONTEXT_SENSITIVE_PTR_PTR_assign(obj: 'TPM2B_CONTEXT_SENSITIVE **', value: 'TPM2B_CONTEXT_SENSITIVE') -> "void":
    return _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_PTR_assign(obj, value)
TPM2B_CONTEXT_SENSITIVE_PTR_PTR_assign = _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_PTR_assign

def TPM2B_CONTEXT_SENSITIVE_PTR_PTR_value(obj: 'TPM2B_CONTEXT_SENSITIVE **') -> "TPM2B_CONTEXT_SENSITIVE *":
    return _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_PTR_value(obj)
TPM2B_CONTEXT_SENSITIVE_PTR_PTR_value = _esys_binding.TPM2B_CONTEXT_SENSITIVE_PTR_PTR_value
sizeof_TPMS_CONTEXT_DATA = _esys_binding.sizeof_TPMS_CONTEXT_DATA

def new_TPMS_CONTEXT_DATA_PTR() -> "TPMS_CONTEXT_DATA *":
    return _esys_binding.new_TPMS_CONTEXT_DATA_PTR()
new_TPMS_CONTEXT_DATA_PTR = _esys_binding.new_TPMS_CONTEXT_DATA_PTR

def copy_TPMS_CONTEXT_DATA_PTR(value: 'TPMS_CONTEXT_DATA') -> "TPMS_CONTEXT_DATA *":
    return _esys_binding.copy_TPMS_CONTEXT_DATA_PTR(value)
copy_TPMS_CONTEXT_DATA_PTR = _esys_binding.copy_TPMS_CONTEXT_DATA_PTR

def delete_TPMS_CONTEXT_DATA_PTR(obj: 'TPMS_CONTEXT_DATA') -> "void":
    return _esys_binding.delete_TPMS_CONTEXT_DATA_PTR(obj)
delete_TPMS_CONTEXT_DATA_PTR = _esys_binding.delete_TPMS_CONTEXT_DATA_PTR

def TPMS_CONTEXT_DATA_PTR_assign(obj: 'TPMS_CONTEXT_DATA', value: 'TPMS_CONTEXT_DATA') -> "void":
    return _esys_binding.TPMS_CONTEXT_DATA_PTR_assign(obj, value)
TPMS_CONTEXT_DATA_PTR_assign = _esys_binding.TPMS_CONTEXT_DATA_PTR_assign

def TPMS_CONTEXT_DATA_PTR_value(obj: 'TPMS_CONTEXT_DATA') -> "TPMS_CONTEXT_DATA":
    return _esys_binding.TPMS_CONTEXT_DATA_PTR_value(obj)
TPMS_CONTEXT_DATA_PTR_value = _esys_binding.TPMS_CONTEXT_DATA_PTR_value

def new_TPMS_CONTEXT_DATA_PTR_PTR() -> "TPMS_CONTEXT_DATA **":
    return _esys_binding.new_TPMS_CONTEXT_DATA_PTR_PTR()
new_TPMS_CONTEXT_DATA_PTR_PTR = _esys_binding.new_TPMS_CONTEXT_DATA_PTR_PTR

def copy_TPMS_CONTEXT_DATA_PTR_PTR(value: 'TPMS_CONTEXT_DATA') -> "TPMS_CONTEXT_DATA **":
    return _esys_binding.copy_TPMS_CONTEXT_DATA_PTR_PTR(value)
copy_TPMS_CONTEXT_DATA_PTR_PTR = _esys_binding.copy_TPMS_CONTEXT_DATA_PTR_PTR

def delete_TPMS_CONTEXT_DATA_PTR_PTR(obj: 'TPMS_CONTEXT_DATA **') -> "void":
    return _esys_binding.delete_TPMS_CONTEXT_DATA_PTR_PTR(obj)
delete_TPMS_CONTEXT_DATA_PTR_PTR = _esys_binding.delete_TPMS_CONTEXT_DATA_PTR_PTR

def TPMS_CONTEXT_DATA_PTR_PTR_assign(obj: 'TPMS_CONTEXT_DATA **', value: 'TPMS_CONTEXT_DATA') -> "void":
    return _esys_binding.TPMS_CONTEXT_DATA_PTR_PTR_assign(obj, value)
TPMS_CONTEXT_DATA_PTR_PTR_assign = _esys_binding.TPMS_CONTEXT_DATA_PTR_PTR_assign

def TPMS_CONTEXT_DATA_PTR_PTR_value(obj: 'TPMS_CONTEXT_DATA **') -> "TPMS_CONTEXT_DATA *":
    return _esys_binding.TPMS_CONTEXT_DATA_PTR_PTR_value(obj)
TPMS_CONTEXT_DATA_PTR_PTR_value = _esys_binding.TPMS_CONTEXT_DATA_PTR_PTR_value
sizeof_TPM2B_CONTEXT_DATA = _esys_binding.sizeof_TPM2B_CONTEXT_DATA

def new_TPM2B_CONTEXT_DATA_PTR() -> "TPM2B_CONTEXT_DATA *":
    return _esys_binding.new_TPM2B_CONTEXT_DATA_PTR()
new_TPM2B_CONTEXT_DATA_PTR = _esys_binding.new_TPM2B_CONTEXT_DATA_PTR

def copy_TPM2B_CONTEXT_DATA_PTR(value: 'TPM2B_CONTEXT_DATA') -> "TPM2B_CONTEXT_DATA *":
    return _esys_binding.copy_TPM2B_CONTEXT_DATA_PTR(value)
copy_TPM2B_CONTEXT_DATA_PTR = _esys_binding.copy_TPM2B_CONTEXT_DATA_PTR

def delete_TPM2B_CONTEXT_DATA_PTR(obj: 'TPM2B_CONTEXT_DATA') -> "void":
    return _esys_binding.delete_TPM2B_CONTEXT_DATA_PTR(obj)
delete_TPM2B_CONTEXT_DATA_PTR = _esys_binding.delete_TPM2B_CONTEXT_DATA_PTR

def TPM2B_CONTEXT_DATA_PTR_assign(obj: 'TPM2B_CONTEXT_DATA', value: 'TPM2B_CONTEXT_DATA') -> "void":
    return _esys_binding.TPM2B_CONTEXT_DATA_PTR_assign(obj, value)
TPM2B_CONTEXT_DATA_PTR_assign = _esys_binding.TPM2B_CONTEXT_DATA_PTR_assign

def TPM2B_CONTEXT_DATA_PTR_value(obj: 'TPM2B_CONTEXT_DATA') -> "TPM2B_CONTEXT_DATA":
    return _esys_binding.TPM2B_CONTEXT_DATA_PTR_value(obj)
TPM2B_CONTEXT_DATA_PTR_value = _esys_binding.TPM2B_CONTEXT_DATA_PTR_value

def new_TPM2B_CONTEXT_DATA_PTR_PTR() -> "TPM2B_CONTEXT_DATA **":
    return _esys_binding.new_TPM2B_CONTEXT_DATA_PTR_PTR()
new_TPM2B_CONTEXT_DATA_PTR_PTR = _esys_binding.new_TPM2B_CONTEXT_DATA_PTR_PTR

def copy_TPM2B_CONTEXT_DATA_PTR_PTR(value: 'TPM2B_CONTEXT_DATA') -> "TPM2B_CONTEXT_DATA **":
    return _esys_binding.copy_TPM2B_CONTEXT_DATA_PTR_PTR(value)
copy_TPM2B_CONTEXT_DATA_PTR_PTR = _esys_binding.copy_TPM2B_CONTEXT_DATA_PTR_PTR

def delete_TPM2B_CONTEXT_DATA_PTR_PTR(obj: 'TPM2B_CONTEXT_DATA **') -> "void":
    return _esys_binding.delete_TPM2B_CONTEXT_DATA_PTR_PTR(obj)
delete_TPM2B_CONTEXT_DATA_PTR_PTR = _esys_binding.delete_TPM2B_CONTEXT_DATA_PTR_PTR

def TPM2B_CONTEXT_DATA_PTR_PTR_assign(obj: 'TPM2B_CONTEXT_DATA **', value: 'TPM2B_CONTEXT_DATA') -> "void":
    return _esys_binding.TPM2B_CONTEXT_DATA_PTR_PTR_assign(obj, value)
TPM2B_CONTEXT_DATA_PTR_PTR_assign = _esys_binding.TPM2B_CONTEXT_DATA_PTR_PTR_assign

def TPM2B_CONTEXT_DATA_PTR_PTR_value(obj: 'TPM2B_CONTEXT_DATA **') -> "TPM2B_CONTEXT_DATA *":
    return _esys_binding.TPM2B_CONTEXT_DATA_PTR_PTR_value(obj)
TPM2B_CONTEXT_DATA_PTR_PTR_value = _esys_binding.TPM2B_CONTEXT_DATA_PTR_PTR_value
sizeof_TPMS_CONTEXT = _esys_binding.sizeof_TPMS_CONTEXT

def new_TPMS_CONTEXT_PTR() -> "TPMS_CONTEXT *":
    return _esys_binding.new_TPMS_CONTEXT_PTR()
new_TPMS_CONTEXT_PTR = _esys_binding.new_TPMS_CONTEXT_PTR

def copy_TPMS_CONTEXT_PTR(value: 'TPMS_CONTEXT') -> "TPMS_CONTEXT *":
    return _esys_binding.copy_TPMS_CONTEXT_PTR(value)
copy_TPMS_CONTEXT_PTR = _esys_binding.copy_TPMS_CONTEXT_PTR

def delete_TPMS_CONTEXT_PTR(obj: 'TPMS_CONTEXT') -> "void":
    return _esys_binding.delete_TPMS_CONTEXT_PTR(obj)
delete_TPMS_CONTEXT_PTR = _esys_binding.delete_TPMS_CONTEXT_PTR

def TPMS_CONTEXT_PTR_assign(obj: 'TPMS_CONTEXT', value: 'TPMS_CONTEXT') -> "void":
    return _esys_binding.TPMS_CONTEXT_PTR_assign(obj, value)
TPMS_CONTEXT_PTR_assign = _esys_binding.TPMS_CONTEXT_PTR_assign

def TPMS_CONTEXT_PTR_value(obj: 'TPMS_CONTEXT') -> "TPMS_CONTEXT":
    return _esys_binding.TPMS_CONTEXT_PTR_value(obj)
TPMS_CONTEXT_PTR_value = _esys_binding.TPMS_CONTEXT_PTR_value

def new_TPMS_CONTEXT_PTR_PTR() -> "TPMS_CONTEXT **":
    return _esys_binding.new_TPMS_CONTEXT_PTR_PTR()
new_TPMS_CONTEXT_PTR_PTR = _esys_binding.new_TPMS_CONTEXT_PTR_PTR

def copy_TPMS_CONTEXT_PTR_PTR(value: 'TPMS_CONTEXT') -> "TPMS_CONTEXT **":
    return _esys_binding.copy_TPMS_CONTEXT_PTR_PTR(value)
copy_TPMS_CONTEXT_PTR_PTR = _esys_binding.copy_TPMS_CONTEXT_PTR_PTR

def delete_TPMS_CONTEXT_PTR_PTR(obj: 'TPMS_CONTEXT **') -> "void":
    return _esys_binding.delete_TPMS_CONTEXT_PTR_PTR(obj)
delete_TPMS_CONTEXT_PTR_PTR = _esys_binding.delete_TPMS_CONTEXT_PTR_PTR

def TPMS_CONTEXT_PTR_PTR_assign(obj: 'TPMS_CONTEXT **', value: 'TPMS_CONTEXT') -> "void":
    return _esys_binding.TPMS_CONTEXT_PTR_PTR_assign(obj, value)
TPMS_CONTEXT_PTR_PTR_assign = _esys_binding.TPMS_CONTEXT_PTR_PTR_assign

def TPMS_CONTEXT_PTR_PTR_value(obj: 'TPMS_CONTEXT **') -> "TPMS_CONTEXT *":
    return _esys_binding.TPMS_CONTEXT_PTR_PTR_value(obj)
TPMS_CONTEXT_PTR_PTR_value = _esys_binding.TPMS_CONTEXT_PTR_PTR_value
sizeof_TPMS_CREATION_DATA = _esys_binding.sizeof_TPMS_CREATION_DATA

def new_TPMS_CREATION_DATA_PTR() -> "TPMS_CREATION_DATA *":
    return _esys_binding.new_TPMS_CREATION_DATA_PTR()
new_TPMS_CREATION_DATA_PTR = _esys_binding.new_TPMS_CREATION_DATA_PTR

def copy_TPMS_CREATION_DATA_PTR(value: 'TPMS_CREATION_DATA') -> "TPMS_CREATION_DATA *":
    return _esys_binding.copy_TPMS_CREATION_DATA_PTR(value)
copy_TPMS_CREATION_DATA_PTR = _esys_binding.copy_TPMS_CREATION_DATA_PTR

def delete_TPMS_CREATION_DATA_PTR(obj: 'TPMS_CREATION_DATA') -> "void":
    return _esys_binding.delete_TPMS_CREATION_DATA_PTR(obj)
delete_TPMS_CREATION_DATA_PTR = _esys_binding.delete_TPMS_CREATION_DATA_PTR

def TPMS_CREATION_DATA_PTR_assign(obj: 'TPMS_CREATION_DATA', value: 'TPMS_CREATION_DATA') -> "void":
    return _esys_binding.TPMS_CREATION_DATA_PTR_assign(obj, value)
TPMS_CREATION_DATA_PTR_assign = _esys_binding.TPMS_CREATION_DATA_PTR_assign

def TPMS_CREATION_DATA_PTR_value(obj: 'TPMS_CREATION_DATA') -> "TPMS_CREATION_DATA":
    return _esys_binding.TPMS_CREATION_DATA_PTR_value(obj)
TPMS_CREATION_DATA_PTR_value = _esys_binding.TPMS_CREATION_DATA_PTR_value

def new_TPMS_CREATION_DATA_PTR_PTR() -> "TPMS_CREATION_DATA **":
    return _esys_binding.new_TPMS_CREATION_DATA_PTR_PTR()
new_TPMS_CREATION_DATA_PTR_PTR = _esys_binding.new_TPMS_CREATION_DATA_PTR_PTR

def copy_TPMS_CREATION_DATA_PTR_PTR(value: 'TPMS_CREATION_DATA') -> "TPMS_CREATION_DATA **":
    return _esys_binding.copy_TPMS_CREATION_DATA_PTR_PTR(value)
copy_TPMS_CREATION_DATA_PTR_PTR = _esys_binding.copy_TPMS_CREATION_DATA_PTR_PTR

def delete_TPMS_CREATION_DATA_PTR_PTR(obj: 'TPMS_CREATION_DATA **') -> "void":
    return _esys_binding.delete_TPMS_CREATION_DATA_PTR_PTR(obj)
delete_TPMS_CREATION_DATA_PTR_PTR = _esys_binding.delete_TPMS_CREATION_DATA_PTR_PTR

def TPMS_CREATION_DATA_PTR_PTR_assign(obj: 'TPMS_CREATION_DATA **', value: 'TPMS_CREATION_DATA') -> "void":
    return _esys_binding.TPMS_CREATION_DATA_PTR_PTR_assign(obj, value)
TPMS_CREATION_DATA_PTR_PTR_assign = _esys_binding.TPMS_CREATION_DATA_PTR_PTR_assign

def TPMS_CREATION_DATA_PTR_PTR_value(obj: 'TPMS_CREATION_DATA **') -> "TPMS_CREATION_DATA *":
    return _esys_binding.TPMS_CREATION_DATA_PTR_PTR_value(obj)
TPMS_CREATION_DATA_PTR_PTR_value = _esys_binding.TPMS_CREATION_DATA_PTR_PTR_value
sizeof_TPM2B_CREATION_DATA = _esys_binding.sizeof_TPM2B_CREATION_DATA

def new_TPM2B_CREATION_DATA_PTR() -> "TPM2B_CREATION_DATA *":
    return _esys_binding.new_TPM2B_CREATION_DATA_PTR()
new_TPM2B_CREATION_DATA_PTR = _esys_binding.new_TPM2B_CREATION_DATA_PTR

def copy_TPM2B_CREATION_DATA_PTR(value: 'TPM2B_CREATION_DATA') -> "TPM2B_CREATION_DATA *":
    return _esys_binding.copy_TPM2B_CREATION_DATA_PTR(value)
copy_TPM2B_CREATION_DATA_PTR = _esys_binding.copy_TPM2B_CREATION_DATA_PTR

def delete_TPM2B_CREATION_DATA_PTR(obj: 'TPM2B_CREATION_DATA') -> "void":
    return _esys_binding.delete_TPM2B_CREATION_DATA_PTR(obj)
delete_TPM2B_CREATION_DATA_PTR = _esys_binding.delete_TPM2B_CREATION_DATA_PTR

def TPM2B_CREATION_DATA_PTR_assign(obj: 'TPM2B_CREATION_DATA', value: 'TPM2B_CREATION_DATA') -> "void":
    return _esys_binding.TPM2B_CREATION_DATA_PTR_assign(obj, value)
TPM2B_CREATION_DATA_PTR_assign = _esys_binding.TPM2B_CREATION_DATA_PTR_assign

def TPM2B_CREATION_DATA_PTR_value(obj: 'TPM2B_CREATION_DATA') -> "TPM2B_CREATION_DATA":
    return _esys_binding.TPM2B_CREATION_DATA_PTR_value(obj)
TPM2B_CREATION_DATA_PTR_value = _esys_binding.TPM2B_CREATION_DATA_PTR_value

def new_TPM2B_CREATION_DATA_PTR_PTR() -> "TPM2B_CREATION_DATA **":
    return _esys_binding.new_TPM2B_CREATION_DATA_PTR_PTR()
new_TPM2B_CREATION_DATA_PTR_PTR = _esys_binding.new_TPM2B_CREATION_DATA_PTR_PTR

def copy_TPM2B_CREATION_DATA_PTR_PTR(value: 'TPM2B_CREATION_DATA') -> "TPM2B_CREATION_DATA **":
    return _esys_binding.copy_TPM2B_CREATION_DATA_PTR_PTR(value)
copy_TPM2B_CREATION_DATA_PTR_PTR = _esys_binding.copy_TPM2B_CREATION_DATA_PTR_PTR

def delete_TPM2B_CREATION_DATA_PTR_PTR(obj: 'TPM2B_CREATION_DATA **') -> "void":
    return _esys_binding.delete_TPM2B_CREATION_DATA_PTR_PTR(obj)
delete_TPM2B_CREATION_DATA_PTR_PTR = _esys_binding.delete_TPM2B_CREATION_DATA_PTR_PTR

def TPM2B_CREATION_DATA_PTR_PTR_assign(obj: 'TPM2B_CREATION_DATA **', value: 'TPM2B_CREATION_DATA') -> "void":
    return _esys_binding.TPM2B_CREATION_DATA_PTR_PTR_assign(obj, value)
TPM2B_CREATION_DATA_PTR_PTR_assign = _esys_binding.TPM2B_CREATION_DATA_PTR_PTR_assign

def TPM2B_CREATION_DATA_PTR_PTR_value(obj: 'TPM2B_CREATION_DATA **') -> "TPM2B_CREATION_DATA *":
    return _esys_binding.TPM2B_CREATION_DATA_PTR_PTR_value(obj)
TPM2B_CREATION_DATA_PTR_PTR_value = _esys_binding.TPM2B_CREATION_DATA_PTR_PTR_value
sizeof_TPMS_AC_OUTPUT = _esys_binding.sizeof_TPMS_AC_OUTPUT

def new_TPMS_AC_OUTPUT_PTR() -> "TPMS_AC_OUTPUT *":
    return _esys_binding.new_TPMS_AC_OUTPUT_PTR()
new_TPMS_AC_OUTPUT_PTR = _esys_binding.new_TPMS_AC_OUTPUT_PTR

def copy_TPMS_AC_OUTPUT_PTR(value: 'TPMS_AC_OUTPUT') -> "TPMS_AC_OUTPUT *":
    return _esys_binding.copy_TPMS_AC_OUTPUT_PTR(value)
copy_TPMS_AC_OUTPUT_PTR = _esys_binding.copy_TPMS_AC_OUTPUT_PTR

def delete_TPMS_AC_OUTPUT_PTR(obj: 'TPMS_AC_OUTPUT') -> "void":
    return _esys_binding.delete_TPMS_AC_OUTPUT_PTR(obj)
delete_TPMS_AC_OUTPUT_PTR = _esys_binding.delete_TPMS_AC_OUTPUT_PTR

def TPMS_AC_OUTPUT_PTR_assign(obj: 'TPMS_AC_OUTPUT', value: 'TPMS_AC_OUTPUT') -> "void":
    return _esys_binding.TPMS_AC_OUTPUT_PTR_assign(obj, value)
TPMS_AC_OUTPUT_PTR_assign = _esys_binding.TPMS_AC_OUTPUT_PTR_assign

def TPMS_AC_OUTPUT_PTR_value(obj: 'TPMS_AC_OUTPUT') -> "TPMS_AC_OUTPUT":
    return _esys_binding.TPMS_AC_OUTPUT_PTR_value(obj)
TPMS_AC_OUTPUT_PTR_value = _esys_binding.TPMS_AC_OUTPUT_PTR_value

def new_TPMS_AC_OUTPUT_PTR_PTR() -> "TPMS_AC_OUTPUT **":
    return _esys_binding.new_TPMS_AC_OUTPUT_PTR_PTR()
new_TPMS_AC_OUTPUT_PTR_PTR = _esys_binding.new_TPMS_AC_OUTPUT_PTR_PTR

def copy_TPMS_AC_OUTPUT_PTR_PTR(value: 'TPMS_AC_OUTPUT') -> "TPMS_AC_OUTPUT **":
    return _esys_binding.copy_TPMS_AC_OUTPUT_PTR_PTR(value)
copy_TPMS_AC_OUTPUT_PTR_PTR = _esys_binding.copy_TPMS_AC_OUTPUT_PTR_PTR

def delete_TPMS_AC_OUTPUT_PTR_PTR(obj: 'TPMS_AC_OUTPUT **') -> "void":
    return _esys_binding.delete_TPMS_AC_OUTPUT_PTR_PTR(obj)
delete_TPMS_AC_OUTPUT_PTR_PTR = _esys_binding.delete_TPMS_AC_OUTPUT_PTR_PTR

def TPMS_AC_OUTPUT_PTR_PTR_assign(obj: 'TPMS_AC_OUTPUT **', value: 'TPMS_AC_OUTPUT') -> "void":
    return _esys_binding.TPMS_AC_OUTPUT_PTR_PTR_assign(obj, value)
TPMS_AC_OUTPUT_PTR_PTR_assign = _esys_binding.TPMS_AC_OUTPUT_PTR_PTR_assign

def TPMS_AC_OUTPUT_PTR_PTR_value(obj: 'TPMS_AC_OUTPUT **') -> "TPMS_AC_OUTPUT *":
    return _esys_binding.TPMS_AC_OUTPUT_PTR_PTR_value(obj)
TPMS_AC_OUTPUT_PTR_PTR_value = _esys_binding.TPMS_AC_OUTPUT_PTR_PTR_value
sizeof_TPML_AC_CAPABILITIES = _esys_binding.sizeof_TPML_AC_CAPABILITIES

def new_TPML_AC_CAPABILITIES_PTR() -> "TPML_AC_CAPABILITIES *":
    return _esys_binding.new_TPML_AC_CAPABILITIES_PTR()
new_TPML_AC_CAPABILITIES_PTR = _esys_binding.new_TPML_AC_CAPABILITIES_PTR

def copy_TPML_AC_CAPABILITIES_PTR(value: 'TPML_AC_CAPABILITIES') -> "TPML_AC_CAPABILITIES *":
    return _esys_binding.copy_TPML_AC_CAPABILITIES_PTR(value)
copy_TPML_AC_CAPABILITIES_PTR = _esys_binding.copy_TPML_AC_CAPABILITIES_PTR

def delete_TPML_AC_CAPABILITIES_PTR(obj: 'TPML_AC_CAPABILITIES') -> "void":
    return _esys_binding.delete_TPML_AC_CAPABILITIES_PTR(obj)
delete_TPML_AC_CAPABILITIES_PTR = _esys_binding.delete_TPML_AC_CAPABILITIES_PTR

def TPML_AC_CAPABILITIES_PTR_assign(obj: 'TPML_AC_CAPABILITIES', value: 'TPML_AC_CAPABILITIES') -> "void":
    return _esys_binding.TPML_AC_CAPABILITIES_PTR_assign(obj, value)
TPML_AC_CAPABILITIES_PTR_assign = _esys_binding.TPML_AC_CAPABILITIES_PTR_assign

def TPML_AC_CAPABILITIES_PTR_value(obj: 'TPML_AC_CAPABILITIES') -> "TPML_AC_CAPABILITIES":
    return _esys_binding.TPML_AC_CAPABILITIES_PTR_value(obj)
TPML_AC_CAPABILITIES_PTR_value = _esys_binding.TPML_AC_CAPABILITIES_PTR_value

def new_TPML_AC_CAPABILITIES_PTR_PTR() -> "TPML_AC_CAPABILITIES **":
    return _esys_binding.new_TPML_AC_CAPABILITIES_PTR_PTR()
new_TPML_AC_CAPABILITIES_PTR_PTR = _esys_binding.new_TPML_AC_CAPABILITIES_PTR_PTR

def copy_TPML_AC_CAPABILITIES_PTR_PTR(value: 'TPML_AC_CAPABILITIES') -> "TPML_AC_CAPABILITIES **":
    return _esys_binding.copy_TPML_AC_CAPABILITIES_PTR_PTR(value)
copy_TPML_AC_CAPABILITIES_PTR_PTR = _esys_binding.copy_TPML_AC_CAPABILITIES_PTR_PTR

def delete_TPML_AC_CAPABILITIES_PTR_PTR(obj: 'TPML_AC_CAPABILITIES **') -> "void":
    return _esys_binding.delete_TPML_AC_CAPABILITIES_PTR_PTR(obj)
delete_TPML_AC_CAPABILITIES_PTR_PTR = _esys_binding.delete_TPML_AC_CAPABILITIES_PTR_PTR

def TPML_AC_CAPABILITIES_PTR_PTR_assign(obj: 'TPML_AC_CAPABILITIES **', value: 'TPML_AC_CAPABILITIES') -> "void":
    return _esys_binding.TPML_AC_CAPABILITIES_PTR_PTR_assign(obj, value)
TPML_AC_CAPABILITIES_PTR_PTR_assign = _esys_binding.TPML_AC_CAPABILITIES_PTR_PTR_assign

def TPML_AC_CAPABILITIES_PTR_PTR_value(obj: 'TPML_AC_CAPABILITIES **') -> "TPML_AC_CAPABILITIES *":
    return _esys_binding.TPML_AC_CAPABILITIES_PTR_PTR_value(obj)
TPML_AC_CAPABILITIES_PTR_PTR_value = _esys_binding.TPML_AC_CAPABILITIES_PTR_PTR_value

def new_UINT8_PTR() -> "UINT8 *":
    return _esys_binding.new_UINT8_PTR()
new_UINT8_PTR = _esys_binding.new_UINT8_PTR

def copy_UINT8_PTR(value: 'UINT8') -> "UINT8 *":
    return _esys_binding.copy_UINT8_PTR(value)
copy_UINT8_PTR = _esys_binding.copy_UINT8_PTR

def delete_UINT8_PTR(obj: 'UINT8 *') -> "void":
    return _esys_binding.delete_UINT8_PTR(obj)
delete_UINT8_PTR = _esys_binding.delete_UINT8_PTR

def UINT8_PTR_assign(obj: 'UINT8 *', value: 'UINT8') -> "void":
    return _esys_binding.UINT8_PTR_assign(obj, value)
UINT8_PTR_assign = _esys_binding.UINT8_PTR_assign

def UINT8_PTR_value(obj: 'UINT8 *') -> "UINT8":
    return _esys_binding.UINT8_PTR_value(obj)
UINT8_PTR_value = _esys_binding.UINT8_PTR_value

def new_UINT8_PTR_PTR() -> "UINT8 **":
    return _esys_binding.new_UINT8_PTR_PTR()
new_UINT8_PTR_PTR = _esys_binding.new_UINT8_PTR_PTR

def copy_UINT8_PTR_PTR(value: 'UINT8 *') -> "UINT8 **":
    return _esys_binding.copy_UINT8_PTR_PTR(value)
copy_UINT8_PTR_PTR = _esys_binding.copy_UINT8_PTR_PTR

def delete_UINT8_PTR_PTR(obj: 'UINT8 **') -> "void":
    return _esys_binding.delete_UINT8_PTR_PTR(obj)
delete_UINT8_PTR_PTR = _esys_binding.delete_UINT8_PTR_PTR

def UINT8_PTR_PTR_assign(obj: 'UINT8 **', value: 'UINT8 *') -> "void":
    return _esys_binding.UINT8_PTR_PTR_assign(obj, value)
UINT8_PTR_PTR_assign = _esys_binding.UINT8_PTR_PTR_assign

def UINT8_PTR_PTR_value(obj: 'UINT8 **') -> "UINT8 *":
    return _esys_binding.UINT8_PTR_PTR_value(obj)
UINT8_PTR_PTR_value = _esys_binding.UINT8_PTR_PTR_value
class uint32_t_PTR(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, uint32_t_PTR, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, uint32_t_PTR, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _esys_binding.new_uint32_t_PTR()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_uint32_t_PTR
    __del__ = lambda self: None

    def assign(self, value: 'uint32_t') -> "void":
        return _esys_binding.uint32_t_PTR_assign(self, value)

    def value(self) -> "uint32_t":
        return _esys_binding.uint32_t_PTR_value(self)

    def cast(self) -> "uint32_t *":
        return _esys_binding.uint32_t_PTR_cast(self)
    if _newclass:
        frompointer = staticmethod(_esys_binding.uint32_t_PTR_frompointer)
    else:
        frompointer = _esys_binding.uint32_t_PTR_frompointer
uint32_t_PTR_swigregister = _esys_binding.uint32_t_PTR_swigregister
uint32_t_PTR_swigregister(uint32_t_PTR)

def uint32_t_PTR_frompointer(t: 'uint32_t *') -> "uint32_t_PTR *":
    return _esys_binding.uint32_t_PTR_frompointer(t)
uint32_t_PTR_frompointer = _esys_binding.uint32_t_PTR_frompointer


def new_uint32_t_PTR_PTR() -> "uint32_t_PTR *":
    return _esys_binding.new_uint32_t_PTR_PTR()
new_uint32_t_PTR_PTR = _esys_binding.new_uint32_t_PTR_PTR

def copy_uint32_t_PTR_PTR(value: 'uint32_t_PTR') -> "uint32_t_PTR *":
    return _esys_binding.copy_uint32_t_PTR_PTR(value)
copy_uint32_t_PTR_PTR = _esys_binding.copy_uint32_t_PTR_PTR

def delete_uint32_t_PTR_PTR(obj: 'uint32_t_PTR') -> "void":
    return _esys_binding.delete_uint32_t_PTR_PTR(obj)
delete_uint32_t_PTR_PTR = _esys_binding.delete_uint32_t_PTR_PTR

def uint32_t_PTR_PTR_assign(obj: 'uint32_t_PTR', value: 'uint32_t_PTR') -> "void":
    return _esys_binding.uint32_t_PTR_PTR_assign(obj, value)
uint32_t_PTR_PTR_assign = _esys_binding.uint32_t_PTR_PTR_assign

def uint32_t_PTR_PTR_value(obj: 'uint32_t_PTR') -> "uint32_t_PTR":
    return _esys_binding.uint32_t_PTR_PTR_value(obj)
uint32_t_PTR_PTR_value = _esys_binding.uint32_t_PTR_PTR_value
class UINT32_PTR(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, UINT32_PTR, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, UINT32_PTR, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _esys_binding.new_UINT32_PTR()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_UINT32_PTR
    __del__ = lambda self: None

    def assign(self, value: 'UINT32') -> "void":
        return _esys_binding.UINT32_PTR_assign(self, value)

    def value(self) -> "UINT32":
        return _esys_binding.UINT32_PTR_value(self)

    def cast(self) -> "UINT32 *":
        return _esys_binding.UINT32_PTR_cast(self)
    if _newclass:
        frompointer = staticmethod(_esys_binding.UINT32_PTR_frompointer)
    else:
        frompointer = _esys_binding.UINT32_PTR_frompointer
UINT32_PTR_swigregister = _esys_binding.UINT32_PTR_swigregister
UINT32_PTR_swigregister(UINT32_PTR)

def UINT32_PTR_frompointer(t: 'UINT32 *') -> "UINT32_PTR *":
    return _esys_binding.UINT32_PTR_frompointer(t)
UINT32_PTR_frompointer = _esys_binding.UINT32_PTR_frompointer


def new_UINT32_PTR_PTR() -> "UINT32_PTR *":
    return _esys_binding.new_UINT32_PTR_PTR()
new_UINT32_PTR_PTR = _esys_binding.new_UINT32_PTR_PTR

def copy_UINT32_PTR_PTR(value: 'UINT32_PTR') -> "UINT32_PTR *":
    return _esys_binding.copy_UINT32_PTR_PTR(value)
copy_UINT32_PTR_PTR = _esys_binding.copy_UINT32_PTR_PTR

def delete_UINT32_PTR_PTR(obj: 'UINT32_PTR') -> "void":
    return _esys_binding.delete_UINT32_PTR_PTR(obj)
delete_UINT32_PTR_PTR = _esys_binding.delete_UINT32_PTR_PTR

def UINT32_PTR_PTR_assign(obj: 'UINT32_PTR', value: 'UINT32_PTR') -> "void":
    return _esys_binding.UINT32_PTR_PTR_assign(obj, value)
UINT32_PTR_PTR_assign = _esys_binding.UINT32_PTR_PTR_assign

def UINT32_PTR_PTR_value(obj: 'UINT32_PTR') -> "UINT32_PTR":
    return _esys_binding.UINT32_PTR_PTR_value(obj)
UINT32_PTR_PTR_value = _esys_binding.UINT32_PTR_PTR_value
class uint16_t_PTR(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, uint16_t_PTR, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, uint16_t_PTR, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _esys_binding.new_uint16_t_PTR()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_uint16_t_PTR
    __del__ = lambda self: None

    def assign(self, value: 'uint16_t') -> "void":
        return _esys_binding.uint16_t_PTR_assign(self, value)

    def value(self) -> "uint16_t":
        return _esys_binding.uint16_t_PTR_value(self)

    def cast(self) -> "uint16_t *":
        return _esys_binding.uint16_t_PTR_cast(self)
    if _newclass:
        frompointer = staticmethod(_esys_binding.uint16_t_PTR_frompointer)
    else:
        frompointer = _esys_binding.uint16_t_PTR_frompointer
uint16_t_PTR_swigregister = _esys_binding.uint16_t_PTR_swigregister
uint16_t_PTR_swigregister(uint16_t_PTR)

def uint16_t_PTR_frompointer(t: 'uint16_t *') -> "uint16_t_PTR *":
    return _esys_binding.uint16_t_PTR_frompointer(t)
uint16_t_PTR_frompointer = _esys_binding.uint16_t_PTR_frompointer


def new_uint16_t_PTR_PTR() -> "uint16_t_PTR *":
    return _esys_binding.new_uint16_t_PTR_PTR()
new_uint16_t_PTR_PTR = _esys_binding.new_uint16_t_PTR_PTR

def copy_uint16_t_PTR_PTR(value: 'uint16_t_PTR') -> "uint16_t_PTR *":
    return _esys_binding.copy_uint16_t_PTR_PTR(value)
copy_uint16_t_PTR_PTR = _esys_binding.copy_uint16_t_PTR_PTR

def delete_uint16_t_PTR_PTR(obj: 'uint16_t_PTR') -> "void":
    return _esys_binding.delete_uint16_t_PTR_PTR(obj)
delete_uint16_t_PTR_PTR = _esys_binding.delete_uint16_t_PTR_PTR

def uint16_t_PTR_PTR_assign(obj: 'uint16_t_PTR', value: 'uint16_t_PTR') -> "void":
    return _esys_binding.uint16_t_PTR_PTR_assign(obj, value)
uint16_t_PTR_PTR_assign = _esys_binding.uint16_t_PTR_PTR_assign

def uint16_t_PTR_PTR_value(obj: 'uint16_t_PTR') -> "uint16_t_PTR":
    return _esys_binding.uint16_t_PTR_PTR_value(obj)
uint16_t_PTR_PTR_value = _esys_binding.uint16_t_PTR_PTR_value
class UINT16_PTR(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, UINT16_PTR, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, UINT16_PTR, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _esys_binding.new_UINT16_PTR()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_UINT16_PTR
    __del__ = lambda self: None

    def assign(self, value: 'UINT16') -> "void":
        return _esys_binding.UINT16_PTR_assign(self, value)

    def value(self) -> "UINT16":
        return _esys_binding.UINT16_PTR_value(self)

    def cast(self) -> "UINT16 *":
        return _esys_binding.UINT16_PTR_cast(self)
    if _newclass:
        frompointer = staticmethod(_esys_binding.UINT16_PTR_frompointer)
    else:
        frompointer = _esys_binding.UINT16_PTR_frompointer
UINT16_PTR_swigregister = _esys_binding.UINT16_PTR_swigregister
UINT16_PTR_swigregister(UINT16_PTR)

def UINT16_PTR_frompointer(t: 'UINT16 *') -> "UINT16_PTR *":
    return _esys_binding.UINT16_PTR_frompointer(t)
UINT16_PTR_frompointer = _esys_binding.UINT16_PTR_frompointer


def new_UINT16_PTR_PTR() -> "UINT16_PTR *":
    return _esys_binding.new_UINT16_PTR_PTR()
new_UINT16_PTR_PTR = _esys_binding.new_UINT16_PTR_PTR

def copy_UINT16_PTR_PTR(value: 'UINT16_PTR') -> "UINT16_PTR *":
    return _esys_binding.copy_UINT16_PTR_PTR(value)
copy_UINT16_PTR_PTR = _esys_binding.copy_UINT16_PTR_PTR

def delete_UINT16_PTR_PTR(obj: 'UINT16_PTR') -> "void":
    return _esys_binding.delete_UINT16_PTR_PTR(obj)
delete_UINT16_PTR_PTR = _esys_binding.delete_UINT16_PTR_PTR

def UINT16_PTR_PTR_assign(obj: 'UINT16_PTR', value: 'UINT16_PTR') -> "void":
    return _esys_binding.UINT16_PTR_PTR_assign(obj, value)
UINT16_PTR_PTR_assign = _esys_binding.UINT16_PTR_PTR_assign

def UINT16_PTR_PTR_value(obj: 'UINT16_PTR') -> "UINT16_PTR":
    return _esys_binding.UINT16_PTR_PTR_value(obj)
UINT16_PTR_PTR_value = _esys_binding.UINT16_PTR_PTR_value
class ByteArray(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ByteArray, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ByteArray, name)
    __repr__ = _swig_repr

    def __init__(self, nelements: 'size_t'):
        this = _esys_binding.new_ByteArray(nelements)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_ByteArray
    __del__ = lambda self: None

    def __getitem__(self, index: 'size_t') -> "BYTE":
        return _esys_binding.ByteArray___getitem__(self, index)

    def __setitem__(self, index: 'size_t', value: 'BYTE') -> "void":
        return _esys_binding.ByteArray___setitem__(self, index, value)

    def cast(self) -> "BYTE *":
        return _esys_binding.ByteArray_cast(self)
    if _newclass:
        frompointer = staticmethod(_esys_binding.ByteArray_frompointer)
    else:
        frompointer = _esys_binding.ByteArray_frompointer
ByteArray_swigregister = _esys_binding.ByteArray_swigregister
ByteArray_swigregister(ByteArray)

def ByteArray_frompointer(t: 'BYTE *') -> "ByteArray *":
    return _esys_binding.ByteArray_frompointer(t)
ByteArray_frompointer = _esys_binding.ByteArray_frompointer

TSS2_TCTI_TIMEOUT_BLOCK = _esys_binding.TSS2_TCTI_TIMEOUT_BLOCK
TSS2_TCTI_TIMEOUT_NONE = _esys_binding.TSS2_TCTI_TIMEOUT_NONE
ESYS_TR_NONE = _esys_binding.ESYS_TR_NONE
ESYS_TR_PASSWORD = _esys_binding.ESYS_TR_PASSWORD
ESYS_TR_PCR0 = _esys_binding.ESYS_TR_PCR0
ESYS_TR_PCR1 = _esys_binding.ESYS_TR_PCR1
ESYS_TR_PCR2 = _esys_binding.ESYS_TR_PCR2
ESYS_TR_PCR3 = _esys_binding.ESYS_TR_PCR3
ESYS_TR_PCR4 = _esys_binding.ESYS_TR_PCR4
ESYS_TR_PCR5 = _esys_binding.ESYS_TR_PCR5
ESYS_TR_PCR6 = _esys_binding.ESYS_TR_PCR6
ESYS_TR_PCR7 = _esys_binding.ESYS_TR_PCR7
ESYS_TR_PCR8 = _esys_binding.ESYS_TR_PCR8
ESYS_TR_PCR9 = _esys_binding.ESYS_TR_PCR9
ESYS_TR_PCR10 = _esys_binding.ESYS_TR_PCR10
ESYS_TR_PCR11 = _esys_binding.ESYS_TR_PCR11
ESYS_TR_PCR12 = _esys_binding.ESYS_TR_PCR12
ESYS_TR_PCR13 = _esys_binding.ESYS_TR_PCR13
ESYS_TR_PCR14 = _esys_binding.ESYS_TR_PCR14
ESYS_TR_PCR15 = _esys_binding.ESYS_TR_PCR15
ESYS_TR_PCR16 = _esys_binding.ESYS_TR_PCR16
ESYS_TR_PCR17 = _esys_binding.ESYS_TR_PCR17
ESYS_TR_PCR18 = _esys_binding.ESYS_TR_PCR18
ESYS_TR_PCR19 = _esys_binding.ESYS_TR_PCR19
ESYS_TR_PCR20 = _esys_binding.ESYS_TR_PCR20
ESYS_TR_PCR21 = _esys_binding.ESYS_TR_PCR21
ESYS_TR_PCR22 = _esys_binding.ESYS_TR_PCR22
ESYS_TR_PCR23 = _esys_binding.ESYS_TR_PCR23
ESYS_TR_PCR24 = _esys_binding.ESYS_TR_PCR24
ESYS_TR_PCR25 = _esys_binding.ESYS_TR_PCR25
ESYS_TR_PCR26 = _esys_binding.ESYS_TR_PCR26
ESYS_TR_PCR27 = _esys_binding.ESYS_TR_PCR27
ESYS_TR_PCR28 = _esys_binding.ESYS_TR_PCR28
ESYS_TR_PCR29 = _esys_binding.ESYS_TR_PCR29
ESYS_TR_PCR30 = _esys_binding.ESYS_TR_PCR30
ESYS_TR_PCR31 = _esys_binding.ESYS_TR_PCR31
ESYS_TR_RH_OWNER = _esys_binding.ESYS_TR_RH_OWNER
ESYS_TR_RH_NULL = _esys_binding.ESYS_TR_RH_NULL
ESYS_TR_RH_LOCKOUT = _esys_binding.ESYS_TR_RH_LOCKOUT
ESYS_TR_RH_ENDORSEMENT = _esys_binding.ESYS_TR_RH_ENDORSEMENT
ESYS_TR_RH_PLATFORM = _esys_binding.ESYS_TR_RH_PLATFORM
ESYS_TR_RH_PLATFORM_NV = _esys_binding.ESYS_TR_RH_PLATFORM_NV
ESYS_TR_RH_AUTH_FIRST = _esys_binding.ESYS_TR_RH_AUTH_FIRST
ESYS_TR_MIN_OBJECT = _esys_binding.ESYS_TR_MIN_OBJECT
TPM2_MAX_CAP_HANDLES = _esys_binding.TPM2_MAX_CAP_HANDLES
TPM2_MAX_CAP_ALGS = _esys_binding.TPM2_MAX_CAP_ALGS
TPM2_MAX_TPM_PROPERTIES = _esys_binding.TPM2_MAX_TPM_PROPERTIES
TPM2_MAX_PCR_PROPERTIES = _esys_binding.TPM2_MAX_PCR_PROPERTIES
TPM2_MAX_ECC_CURVES = _esys_binding.TPM2_MAX_ECC_CURVES
TPM2_MAX_TAGGED_POLICIES = _esys_binding.TPM2_MAX_TAGGED_POLICIES
TPM2_MAX_PTT_PROPERTIES = _esys_binding.TPM2_MAX_PTT_PROPERTIES
TPM2_MAX_AC_CAPABILITIES = _esys_binding.TPM2_MAX_AC_CAPABILITIES
TPM2_ALG_ERROR = _esys_binding.TPM2_ALG_ERROR
TPM2_ALG_RSA = _esys_binding.TPM2_ALG_RSA
TPM2_ALG_SHA = _esys_binding.TPM2_ALG_SHA
TPM2_ALG_SHA1 = _esys_binding.TPM2_ALG_SHA1
TPM2_ALG_HMAC = _esys_binding.TPM2_ALG_HMAC
TPM2_ALG_AES = _esys_binding.TPM2_ALG_AES
TPM2_ALG_MGF1 = _esys_binding.TPM2_ALG_MGF1
TPM2_ALG_KEYEDHASH = _esys_binding.TPM2_ALG_KEYEDHASH
TPM2_ALG_XOR = _esys_binding.TPM2_ALG_XOR
TPM2_ALG_SHA256 = _esys_binding.TPM2_ALG_SHA256
TPM2_ALG_SHA384 = _esys_binding.TPM2_ALG_SHA384
TPM2_ALG_SHA512 = _esys_binding.TPM2_ALG_SHA512
TPM2_ALG_NULL = _esys_binding.TPM2_ALG_NULL
TPM2_ALG_SM3_256 = _esys_binding.TPM2_ALG_SM3_256
TPM2_ALG_SM4 = _esys_binding.TPM2_ALG_SM4
TPM2_ALG_RSASSA = _esys_binding.TPM2_ALG_RSASSA
TPM2_ALG_RSAES = _esys_binding.TPM2_ALG_RSAES
TPM2_ALG_RSAPSS = _esys_binding.TPM2_ALG_RSAPSS
TPM2_ALG_OAEP = _esys_binding.TPM2_ALG_OAEP
TPM2_ALG_ECDSA = _esys_binding.TPM2_ALG_ECDSA
TPM2_ALG_ECDH = _esys_binding.TPM2_ALG_ECDH
TPM2_ALG_ECDAA = _esys_binding.TPM2_ALG_ECDAA
TPM2_ALG_SM2 = _esys_binding.TPM2_ALG_SM2
TPM2_ALG_ECSCHNORR = _esys_binding.TPM2_ALG_ECSCHNORR
TPM2_ALG_ECMQV = _esys_binding.TPM2_ALG_ECMQV
TPM2_ALG_KDF1_SP800_56A = _esys_binding.TPM2_ALG_KDF1_SP800_56A
TPM2_ALG_KDF2 = _esys_binding.TPM2_ALG_KDF2
TPM2_ALG_KDF1_SP800_108 = _esys_binding.TPM2_ALG_KDF1_SP800_108
TPM2_ALG_ECC = _esys_binding.TPM2_ALG_ECC
TPM2_ALG_SYMCIPHER = _esys_binding.TPM2_ALG_SYMCIPHER
TPM2_ALG_CAMELLIA = _esys_binding.TPM2_ALG_CAMELLIA
TPM2_ALG_CMAC = _esys_binding.TPM2_ALG_CMAC
TPM2_ALG_CTR = _esys_binding.TPM2_ALG_CTR
TPM2_ALG_SHA3_256 = _esys_binding.TPM2_ALG_SHA3_256
TPM2_ALG_SHA3_384 = _esys_binding.TPM2_ALG_SHA3_384
TPM2_ALG_SHA3_512 = _esys_binding.TPM2_ALG_SHA3_512
TPM2_ALG_OFB = _esys_binding.TPM2_ALG_OFB
TPM2_ALG_CBC = _esys_binding.TPM2_ALG_CBC
TPM2_ALG_CFB = _esys_binding.TPM2_ALG_CFB
TPM2_ALG_ECB = _esys_binding.TPM2_ALG_ECB
TPM2_ALG_FIRST = _esys_binding.TPM2_ALG_FIRST
TPM2_ALG_LAST = _esys_binding.TPM2_ALG_LAST
TPM2_ECC_NONE = _esys_binding.TPM2_ECC_NONE
TPM2_ECC_NIST_P192 = _esys_binding.TPM2_ECC_NIST_P192
TPM2_ECC_NIST_P224 = _esys_binding.TPM2_ECC_NIST_P224
TPM2_ECC_NIST_P256 = _esys_binding.TPM2_ECC_NIST_P256
TPM2_ECC_NIST_P384 = _esys_binding.TPM2_ECC_NIST_P384
TPM2_ECC_NIST_P521 = _esys_binding.TPM2_ECC_NIST_P521
TPM2_ECC_BN_P256 = _esys_binding.TPM2_ECC_BN_P256
TPM2_ECC_BN_P638 = _esys_binding.TPM2_ECC_BN_P638
TPM2_ECC_SM2_P256 = _esys_binding.TPM2_ECC_SM2_P256
TPM2_SPEC_FAMILY = _esys_binding.TPM2_SPEC_FAMILY
TPM2_SPEC_LEVEL = _esys_binding.TPM2_SPEC_LEVEL
TPM2_SPEC_VERSION = _esys_binding.TPM2_SPEC_VERSION
TPM2_SPEC_YEAR = _esys_binding.TPM2_SPEC_YEAR
TPM2_SPEC_DAY_OF_YEAR = _esys_binding.TPM2_SPEC_DAY_OF_YEAR
TPM2_GENERATED_VALUE = _esys_binding.TPM2_GENERATED_VALUE
TPM2_RC_SUCCESS = _esys_binding.TPM2_RC_SUCCESS
TPM2_RC_BAD_TAG = _esys_binding.TPM2_RC_BAD_TAG
TPM2_RC_VER1 = _esys_binding.TPM2_RC_VER1
TPM2_RC_INITIALIZE = _esys_binding.TPM2_RC_INITIALIZE
TPM2_RC_FAILURE = _esys_binding.TPM2_RC_FAILURE
TPM2_RC_SEQUENCE = _esys_binding.TPM2_RC_SEQUENCE
TPM2_RC_PRIVATE = _esys_binding.TPM2_RC_PRIVATE
TPM2_RC_HMAC = _esys_binding.TPM2_RC_HMAC
TPM2_RC_DISABLED = _esys_binding.TPM2_RC_DISABLED
TPM2_RC_EXCLUSIVE = _esys_binding.TPM2_RC_EXCLUSIVE
TPM2_RC_AUTH_TYPE = _esys_binding.TPM2_RC_AUTH_TYPE
TPM2_RC_AUTH_MISSING = _esys_binding.TPM2_RC_AUTH_MISSING
TPM2_RC_POLICY = _esys_binding.TPM2_RC_POLICY
TPM2_RC_PCR = _esys_binding.TPM2_RC_PCR
TPM2_RC_PCR_CHANGED = _esys_binding.TPM2_RC_PCR_CHANGED
TPM2_RC_UPGRADE = _esys_binding.TPM2_RC_UPGRADE
TPM2_RC_TOO_MANY_CONTEXTS = _esys_binding.TPM2_RC_TOO_MANY_CONTEXTS
TPM2_RC_AUTH_UNAVAILABLE = _esys_binding.TPM2_RC_AUTH_UNAVAILABLE
TPM2_RC_REBOOT = _esys_binding.TPM2_RC_REBOOT
TPM2_RC_UNBALANCED = _esys_binding.TPM2_RC_UNBALANCED
TPM2_RC_COMMAND_SIZE = _esys_binding.TPM2_RC_COMMAND_SIZE
TPM2_RC_COMMAND_CODE = _esys_binding.TPM2_RC_COMMAND_CODE
TPM2_RC_AUTHSIZE = _esys_binding.TPM2_RC_AUTHSIZE
TPM2_RC_AUTH_CONTEXT = _esys_binding.TPM2_RC_AUTH_CONTEXT
TPM2_RC_NV_RANGE = _esys_binding.TPM2_RC_NV_RANGE
TPM2_RC_NV_SIZE = _esys_binding.TPM2_RC_NV_SIZE
TPM2_RC_NV_LOCKED = _esys_binding.TPM2_RC_NV_LOCKED
TPM2_RC_NV_AUTHORIZATION = _esys_binding.TPM2_RC_NV_AUTHORIZATION
TPM2_RC_NV_UNINITIALIZED = _esys_binding.TPM2_RC_NV_UNINITIALIZED
TPM2_RC_NV_SPACE = _esys_binding.TPM2_RC_NV_SPACE
TPM2_RC_NV_DEFINED = _esys_binding.TPM2_RC_NV_DEFINED
TPM2_RC_BAD_CONTEXT = _esys_binding.TPM2_RC_BAD_CONTEXT
TPM2_RC_CPHASH = _esys_binding.TPM2_RC_CPHASH
TPM2_RC_PARENT = _esys_binding.TPM2_RC_PARENT
TPM2_RC_NEEDS_TEST = _esys_binding.TPM2_RC_NEEDS_TEST
TPM2_RC_NO_RESULT = _esys_binding.TPM2_RC_NO_RESULT
TPM2_RC_SENSITIVE = _esys_binding.TPM2_RC_SENSITIVE
TPM2_RC_MAX_FM0 = _esys_binding.TPM2_RC_MAX_FM0
TPM2_RC_FMT1 = _esys_binding.TPM2_RC_FMT1
TPM2_RC_ASYMMETRIC = _esys_binding.TPM2_RC_ASYMMETRIC
TPM2_RC_ATTRIBUTES = _esys_binding.TPM2_RC_ATTRIBUTES
TPM2_RC_HASH = _esys_binding.TPM2_RC_HASH
TPM2_RC_VALUE = _esys_binding.TPM2_RC_VALUE
TPM2_RC_HIERARCHY = _esys_binding.TPM2_RC_HIERARCHY
TPM2_RC_KEY_SIZE = _esys_binding.TPM2_RC_KEY_SIZE
TPM2_RC_MGF = _esys_binding.TPM2_RC_MGF
TPM2_RC_MODE = _esys_binding.TPM2_RC_MODE
TPM2_RC_TYPE = _esys_binding.TPM2_RC_TYPE
TPM2_RC_HANDLE = _esys_binding.TPM2_RC_HANDLE
TPM2_RC_KDF = _esys_binding.TPM2_RC_KDF
TPM2_RC_RANGE = _esys_binding.TPM2_RC_RANGE
TPM2_RC_AUTH_FAIL = _esys_binding.TPM2_RC_AUTH_FAIL
TPM2_RC_NONCE = _esys_binding.TPM2_RC_NONCE
TPM2_RC_PP = _esys_binding.TPM2_RC_PP
TPM2_RC_SCHEME = _esys_binding.TPM2_RC_SCHEME
TPM2_RC_SIZE = _esys_binding.TPM2_RC_SIZE
TPM2_RC_SYMMETRIC = _esys_binding.TPM2_RC_SYMMETRIC
TPM2_RC_TAG = _esys_binding.TPM2_RC_TAG
TPM2_RC_SELECTOR = _esys_binding.TPM2_RC_SELECTOR
TPM2_RC_INSUFFICIENT = _esys_binding.TPM2_RC_INSUFFICIENT
TPM2_RC_SIGNATURE = _esys_binding.TPM2_RC_SIGNATURE
TPM2_RC_KEY = _esys_binding.TPM2_RC_KEY
TPM2_RC_POLICY_FAIL = _esys_binding.TPM2_RC_POLICY_FAIL
TPM2_RC_INTEGRITY = _esys_binding.TPM2_RC_INTEGRITY
TPM2_RC_TICKET = _esys_binding.TPM2_RC_TICKET
TPM2_RC_RESERVED_BITS = _esys_binding.TPM2_RC_RESERVED_BITS
TPM2_RC_BAD_AUTH = _esys_binding.TPM2_RC_BAD_AUTH
TPM2_RC_EXPIRED = _esys_binding.TPM2_RC_EXPIRED
TPM2_RC_POLICY_CC = _esys_binding.TPM2_RC_POLICY_CC
TPM2_RC_BINDING = _esys_binding.TPM2_RC_BINDING
TPM2_RC_CURVE = _esys_binding.TPM2_RC_CURVE
TPM2_RC_ECC_POINT = _esys_binding.TPM2_RC_ECC_POINT
TPM2_RC_WARN = _esys_binding.TPM2_RC_WARN
TPM2_RC_CONTEXT_GAP = _esys_binding.TPM2_RC_CONTEXT_GAP
TPM2_RC_OBJECT_MEMORY = _esys_binding.TPM2_RC_OBJECT_MEMORY
TPM2_RC_SESSION_MEMORY = _esys_binding.TPM2_RC_SESSION_MEMORY
TPM2_RC_MEMORY = _esys_binding.TPM2_RC_MEMORY
TPM2_RC_SESSION_HANDLES = _esys_binding.TPM2_RC_SESSION_HANDLES
TPM2_RC_OBJECT_HANDLES = _esys_binding.TPM2_RC_OBJECT_HANDLES
TPM2_RC_LOCALITY = _esys_binding.TPM2_RC_LOCALITY
TPM2_RC_YIELDED = _esys_binding.TPM2_RC_YIELDED
TPM2_RC_CANCELED = _esys_binding.TPM2_RC_CANCELED
TPM2_RC_TESTING = _esys_binding.TPM2_RC_TESTING
TPM2_RC_REFERENCE_H0 = _esys_binding.TPM2_RC_REFERENCE_H0
TPM2_RC_REFERENCE_H1 = _esys_binding.TPM2_RC_REFERENCE_H1
TPM2_RC_REFERENCE_H2 = _esys_binding.TPM2_RC_REFERENCE_H2
TPM2_RC_REFERENCE_H3 = _esys_binding.TPM2_RC_REFERENCE_H3
TPM2_RC_REFERENCE_H4 = _esys_binding.TPM2_RC_REFERENCE_H4
TPM2_RC_REFERENCE_H5 = _esys_binding.TPM2_RC_REFERENCE_H5
TPM2_RC_REFERENCE_H6 = _esys_binding.TPM2_RC_REFERENCE_H6
TPM2_RC_REFERENCE_S0 = _esys_binding.TPM2_RC_REFERENCE_S0
TPM2_RC_REFERENCE_S1 = _esys_binding.TPM2_RC_REFERENCE_S1
TPM2_RC_REFERENCE_S2 = _esys_binding.TPM2_RC_REFERENCE_S2
TPM2_RC_REFERENCE_S3 = _esys_binding.TPM2_RC_REFERENCE_S3
TPM2_RC_REFERENCE_S4 = _esys_binding.TPM2_RC_REFERENCE_S4
TPM2_RC_REFERENCE_S5 = _esys_binding.TPM2_RC_REFERENCE_S5
TPM2_RC_REFERENCE_S6 = _esys_binding.TPM2_RC_REFERENCE_S6
TPM2_RC_NV_RATE = _esys_binding.TPM2_RC_NV_RATE
TPM2_RC_LOCKOUT = _esys_binding.TPM2_RC_LOCKOUT
TPM2_RC_RETRY = _esys_binding.TPM2_RC_RETRY
TPM2_RC_NV_UNAVAILABLE = _esys_binding.TPM2_RC_NV_UNAVAILABLE
TPM2_RC_NOT_USED = _esys_binding.TPM2_RC_NOT_USED
TPM2_RC_H = _esys_binding.TPM2_RC_H
TPM2_RC_P = _esys_binding.TPM2_RC_P
TPM2_RC_S = _esys_binding.TPM2_RC_S
TPM2_RC_1 = _esys_binding.TPM2_RC_1
TPM2_RC_2 = _esys_binding.TPM2_RC_2
TPM2_RC_3 = _esys_binding.TPM2_RC_3
TPM2_RC_4 = _esys_binding.TPM2_RC_4
TPM2_RC_5 = _esys_binding.TPM2_RC_5
TPM2_RC_6 = _esys_binding.TPM2_RC_6
TPM2_RC_7 = _esys_binding.TPM2_RC_7
TPM2_RC_8 = _esys_binding.TPM2_RC_8
TPM2_RC_9 = _esys_binding.TPM2_RC_9
TPM2_RC_A = _esys_binding.TPM2_RC_A
TPM2_RC_B = _esys_binding.TPM2_RC_B
TPM2_RC_C = _esys_binding.TPM2_RC_C
TPM2_RC_D = _esys_binding.TPM2_RC_D
TPM2_RC_E = _esys_binding.TPM2_RC_E
TPM2_RC_F = _esys_binding.TPM2_RC_F
TPM2_RC_N_MASK = _esys_binding.TPM2_RC_N_MASK
TPM2_CLOCK_COARSE_SLOWER = _esys_binding.TPM2_CLOCK_COARSE_SLOWER
TPM2_CLOCK_MEDIUM_SLOWER = _esys_binding.TPM2_CLOCK_MEDIUM_SLOWER
TPM2_CLOCK_FINE_SLOWER = _esys_binding.TPM2_CLOCK_FINE_SLOWER
TPM2_CLOCK_NO_CHANGE = _esys_binding.TPM2_CLOCK_NO_CHANGE
TPM2_CLOCK_FINE_FASTER = _esys_binding.TPM2_CLOCK_FINE_FASTER
TPM2_CLOCK_MEDIUM_FASTER = _esys_binding.TPM2_CLOCK_MEDIUM_FASTER
TPM2_CLOCK_COARSE_FASTER = _esys_binding.TPM2_CLOCK_COARSE_FASTER
TPM2_EO_EQ = _esys_binding.TPM2_EO_EQ
TPM2_EO_NEQ = _esys_binding.TPM2_EO_NEQ
TPM2_EO_SIGNED_GT = _esys_binding.TPM2_EO_SIGNED_GT
TPM2_EO_UNSIGNED_GT = _esys_binding.TPM2_EO_UNSIGNED_GT
TPM2_EO_SIGNED_LT = _esys_binding.TPM2_EO_SIGNED_LT
TPM2_EO_UNSIGNED_LT = _esys_binding.TPM2_EO_UNSIGNED_LT
TPM2_EO_SIGNED_GE = _esys_binding.TPM2_EO_SIGNED_GE
TPM2_EO_UNSIGNED_GE = _esys_binding.TPM2_EO_UNSIGNED_GE
TPM2_EO_SIGNED_LE = _esys_binding.TPM2_EO_SIGNED_LE
TPM2_EO_UNSIGNED_LE = _esys_binding.TPM2_EO_UNSIGNED_LE
TPM2_EO_BITSET = _esys_binding.TPM2_EO_BITSET
TPM2_EO_BITCLEAR = _esys_binding.TPM2_EO_BITCLEAR
TPM2_ST_RSP_COMMAND = _esys_binding.TPM2_ST_RSP_COMMAND
TPM2_ST_NULL = _esys_binding.TPM2_ST_NULL
TPM2_ST_NO_SESSIONS = _esys_binding.TPM2_ST_NO_SESSIONS
TPM2_ST_SESSIONS = _esys_binding.TPM2_ST_SESSIONS
TPM2_ST_RESERVED1 = _esys_binding.TPM2_ST_RESERVED1
TPM2_ST_RESERVED2 = _esys_binding.TPM2_ST_RESERVED2
TPM2_ST_ATTEST_NV = _esys_binding.TPM2_ST_ATTEST_NV
TPM2_ST_ATTEST_COMMAND_AUDIT = _esys_binding.TPM2_ST_ATTEST_COMMAND_AUDIT
TPM2_ST_ATTEST_SESSION_AUDIT = _esys_binding.TPM2_ST_ATTEST_SESSION_AUDIT
TPM2_ST_ATTEST_CERTIFY = _esys_binding.TPM2_ST_ATTEST_CERTIFY
TPM2_ST_ATTEST_QUOTE = _esys_binding.TPM2_ST_ATTEST_QUOTE
TPM2_ST_ATTEST_TIME = _esys_binding.TPM2_ST_ATTEST_TIME
TPM2_ST_ATTEST_CREATION = _esys_binding.TPM2_ST_ATTEST_CREATION
TPM2_ST_RESERVED3 = _esys_binding.TPM2_ST_RESERVED3
TPM2_ST_CREATION = _esys_binding.TPM2_ST_CREATION
TPM2_ST_VERIFIED = _esys_binding.TPM2_ST_VERIFIED
TPM2_ST_AUTH_SECRET = _esys_binding.TPM2_ST_AUTH_SECRET
TPM2_ST_HASHCHECK = _esys_binding.TPM2_ST_HASHCHECK
TPM2_ST_AUTH_SIGNED = _esys_binding.TPM2_ST_AUTH_SIGNED
TPM2_ST_FU_MANIFEST = _esys_binding.TPM2_ST_FU_MANIFEST
TPM2_SU_CLEAR = _esys_binding.TPM2_SU_CLEAR
TPM2_SU_STATE = _esys_binding.TPM2_SU_STATE
TPM2_SE_HMAC = _esys_binding.TPM2_SE_HMAC
TPM2_SE_POLICY = _esys_binding.TPM2_SE_POLICY
TPM2_SE_TRIAL = _esys_binding.TPM2_SE_TRIAL
TPM2_CAP_FIRST = _esys_binding.TPM2_CAP_FIRST
TPM2_CAP_ALGS = _esys_binding.TPM2_CAP_ALGS
TPM2_CAP_HANDLES = _esys_binding.TPM2_CAP_HANDLES
TPM2_CAP_COMMANDS = _esys_binding.TPM2_CAP_COMMANDS
TPM2_CAP_PP_COMMANDS = _esys_binding.TPM2_CAP_PP_COMMANDS
TPM2_CAP_AUDIT_COMMANDS = _esys_binding.TPM2_CAP_AUDIT_COMMANDS
TPM2_CAP_PCRS = _esys_binding.TPM2_CAP_PCRS
TPM2_CAP_TPM_PROPERTIES = _esys_binding.TPM2_CAP_TPM_PROPERTIES
TPM2_CAP_PCR_PROPERTIES = _esys_binding.TPM2_CAP_PCR_PROPERTIES
TPM2_CAP_ECC_CURVES = _esys_binding.TPM2_CAP_ECC_CURVES
TPM2_CAP_LAST = _esys_binding.TPM2_CAP_LAST
TPM2_CAP_VENDOR_PROPERTY = _esys_binding.TPM2_CAP_VENDOR_PROPERTY
TPM2_PT_NONE = _esys_binding.TPM2_PT_NONE
TPM2_PT_GROUP = _esys_binding.TPM2_PT_GROUP
TPM2_PT_FIXED = _esys_binding.TPM2_PT_FIXED
TPM2_PT_FAMILY_INDICATOR = _esys_binding.TPM2_PT_FAMILY_INDICATOR
TPM2_PT_LEVEL = _esys_binding.TPM2_PT_LEVEL
TPM2_PT_REVISION = _esys_binding.TPM2_PT_REVISION
TPM2_PT_DAY_OF_YEAR = _esys_binding.TPM2_PT_DAY_OF_YEAR
TPM2_PT_YEAR = _esys_binding.TPM2_PT_YEAR
TPM2_PT_MANUFACTURER = _esys_binding.TPM2_PT_MANUFACTURER
TPM2_PT_VENDOR_STRING_1 = _esys_binding.TPM2_PT_VENDOR_STRING_1
TPM2_PT_VENDOR_STRING_2 = _esys_binding.TPM2_PT_VENDOR_STRING_2
TPM2_PT_VENDOR_STRING_3 = _esys_binding.TPM2_PT_VENDOR_STRING_3
TPM2_PT_VENDOR_STRING_4 = _esys_binding.TPM2_PT_VENDOR_STRING_4
TPM2_PT_VENDOR_TPM_TYPE = _esys_binding.TPM2_PT_VENDOR_TPM_TYPE
TPM2_PT_FIRMWARE_VERSION_1 = _esys_binding.TPM2_PT_FIRMWARE_VERSION_1
TPM2_PT_FIRMWARE_VERSION_2 = _esys_binding.TPM2_PT_FIRMWARE_VERSION_2
TPM2_PT_INPUT_BUFFER = _esys_binding.TPM2_PT_INPUT_BUFFER
TPM2_PT_TPM2_HR_TRANSIENT_MIN = _esys_binding.TPM2_PT_TPM2_HR_TRANSIENT_MIN
TPM2_PT_TPM2_HR_PERSISTENT_MIN = _esys_binding.TPM2_PT_TPM2_HR_PERSISTENT_MIN
TPM2_PT_HR_LOADED_MIN = _esys_binding.TPM2_PT_HR_LOADED_MIN
TPM2_PT_ACTIVE_SESSIONS_MAX = _esys_binding.TPM2_PT_ACTIVE_SESSIONS_MAX
TPM2_PT_PCR_COUNT = _esys_binding.TPM2_PT_PCR_COUNT
TPM2_PT_PCR_SELECT_MIN = _esys_binding.TPM2_PT_PCR_SELECT_MIN
TPM2_PT_CONTEXT_GAP_MAX = _esys_binding.TPM2_PT_CONTEXT_GAP_MAX
TPM2_PT_NV_COUNTERS_MAX = _esys_binding.TPM2_PT_NV_COUNTERS_MAX
TPM2_PT_NV_INDEX_MAX = _esys_binding.TPM2_PT_NV_INDEX_MAX
TPM2_PT_MEMORY = _esys_binding.TPM2_PT_MEMORY
TPM2_PT_CLOCK_UPDATE = _esys_binding.TPM2_PT_CLOCK_UPDATE
TPM2_PT_CONTEXT_HASH = _esys_binding.TPM2_PT_CONTEXT_HASH
TPM2_PT_CONTEXT_SYM = _esys_binding.TPM2_PT_CONTEXT_SYM
TPM2_PT_CONTEXT_SYM_SIZE = _esys_binding.TPM2_PT_CONTEXT_SYM_SIZE
TPM2_PT_ORDERLY_COUNT = _esys_binding.TPM2_PT_ORDERLY_COUNT
TPM2_PT_MAX_COMMAND_SIZE = _esys_binding.TPM2_PT_MAX_COMMAND_SIZE
TPM2_PT_MAX_RESPONSE_SIZE = _esys_binding.TPM2_PT_MAX_RESPONSE_SIZE
TPM2_PT_MAX_DIGEST = _esys_binding.TPM2_PT_MAX_DIGEST
TPM2_PT_MAX_OBJECT_CONTEXT = _esys_binding.TPM2_PT_MAX_OBJECT_CONTEXT
TPM2_PT_MAX_SESSION_CONTEXT = _esys_binding.TPM2_PT_MAX_SESSION_CONTEXT
TPM2_PT_PS_FAMILY_INDICATOR = _esys_binding.TPM2_PT_PS_FAMILY_INDICATOR
TPM2_PT_PS_LEVEL = _esys_binding.TPM2_PT_PS_LEVEL
TPM2_PT_PS_REVISION = _esys_binding.TPM2_PT_PS_REVISION
TPM2_PT_PS_DAY_OF_YEAR = _esys_binding.TPM2_PT_PS_DAY_OF_YEAR
TPM2_PT_PS_YEAR = _esys_binding.TPM2_PT_PS_YEAR
TPM2_PT_SPLIT_MAX = _esys_binding.TPM2_PT_SPLIT_MAX
TPM2_PT_TOTAL_COMMANDS = _esys_binding.TPM2_PT_TOTAL_COMMANDS
TPM2_PT_LIBRARY_COMMANDS = _esys_binding.TPM2_PT_LIBRARY_COMMANDS
TPM2_PT_VENDOR_COMMANDS = _esys_binding.TPM2_PT_VENDOR_COMMANDS
TPM2_PT_NV_BUFFER_MAX = _esys_binding.TPM2_PT_NV_BUFFER_MAX
TPM2_PT_MODES = _esys_binding.TPM2_PT_MODES
TPM2_PT_VAR = _esys_binding.TPM2_PT_VAR
TPM2_PT_PERMANENT = _esys_binding.TPM2_PT_PERMANENT
TPM2_PT_STARTUP_CLEAR = _esys_binding.TPM2_PT_STARTUP_CLEAR
TPM2_PT_TPM2_HR_NV_INDEX = _esys_binding.TPM2_PT_TPM2_HR_NV_INDEX
TPM2_PT_HR_LOADED = _esys_binding.TPM2_PT_HR_LOADED
TPM2_PT_HR_LOADED_AVAIL = _esys_binding.TPM2_PT_HR_LOADED_AVAIL
TPM2_PT_HR_ACTIVE = _esys_binding.TPM2_PT_HR_ACTIVE
TPM2_PT_HR_ACTIVE_AVAIL = _esys_binding.TPM2_PT_HR_ACTIVE_AVAIL
TPM2_PT_TPM2_HR_TRANSIENT_AVAIL = _esys_binding.TPM2_PT_TPM2_HR_TRANSIENT_AVAIL
TPM2_PT_TPM2_HR_PERSISTENT = _esys_binding.TPM2_PT_TPM2_HR_PERSISTENT
TPM2_PT_TPM2_HR_PERSISTENT_AVAIL = _esys_binding.TPM2_PT_TPM2_HR_PERSISTENT_AVAIL
TPM2_PT_NV_COUNTERS = _esys_binding.TPM2_PT_NV_COUNTERS
TPM2_PT_NV_COUNTERS_AVAIL = _esys_binding.TPM2_PT_NV_COUNTERS_AVAIL
TPM2_PT_ALGORITHM_SET = _esys_binding.TPM2_PT_ALGORITHM_SET
TPM2_PT_LOADED_CURVES = _esys_binding.TPM2_PT_LOADED_CURVES
TPM2_PT_LOCKOUT_COUNTER = _esys_binding.TPM2_PT_LOCKOUT_COUNTER
TPM2_PT_MAX_AUTH_FAIL = _esys_binding.TPM2_PT_MAX_AUTH_FAIL
TPM2_PT_LOCKOUT_INTERVAL = _esys_binding.TPM2_PT_LOCKOUT_INTERVAL
TPM2_PT_LOCKOUT_RECOVERY = _esys_binding.TPM2_PT_LOCKOUT_RECOVERY
TPM2_PT_NV_WRITE_RECOVERY = _esys_binding.TPM2_PT_NV_WRITE_RECOVERY
TPM2_PT_AUDIT_COUNTER_0 = _esys_binding.TPM2_PT_AUDIT_COUNTER_0
TPM2_PT_AUDIT_COUNTER_1 = _esys_binding.TPM2_PT_AUDIT_COUNTER_1
TPM2_PT_TPM2_PCR_FIRST = _esys_binding.TPM2_PT_TPM2_PCR_FIRST
TPM2_PT_PCR_SAVE = _esys_binding.TPM2_PT_PCR_SAVE
TPM2_PT_PCR_EXTEND_L0 = _esys_binding.TPM2_PT_PCR_EXTEND_L0
TPM2_PT_PCR_RESET_L0 = _esys_binding.TPM2_PT_PCR_RESET_L0
TPM2_PT_PCR_EXTEND_L1 = _esys_binding.TPM2_PT_PCR_EXTEND_L1
TPM2_PT_PCR_RESET_L1 = _esys_binding.TPM2_PT_PCR_RESET_L1
TPM2_PT_PCR_EXTEND_L2 = _esys_binding.TPM2_PT_PCR_EXTEND_L2
TPM2_PT_PCR_RESET_L2 = _esys_binding.TPM2_PT_PCR_RESET_L2
TPM2_PT_PCR_EXTEND_L3 = _esys_binding.TPM2_PT_PCR_EXTEND_L3
TPM2_PT_PCR_RESET_L3 = _esys_binding.TPM2_PT_PCR_RESET_L3
TPM2_PT_PCR_EXTEND_L4 = _esys_binding.TPM2_PT_PCR_EXTEND_L4
TPM2_PT_PCR_RESET_L4 = _esys_binding.TPM2_PT_PCR_RESET_L4
TPM2_PT_PCR_NO_INCREMENT = _esys_binding.TPM2_PT_PCR_NO_INCREMENT
TPM2_PT_PCR_DRTM_RESET = _esys_binding.TPM2_PT_PCR_DRTM_RESET
TPM2_PT_PCR_POLICY = _esys_binding.TPM2_PT_PCR_POLICY
TPM2_PT_PCR_AUTH = _esys_binding.TPM2_PT_PCR_AUTH
TPM2_PT_TPM2_PCR_LAST = _esys_binding.TPM2_PT_TPM2_PCR_LAST
TPM2_PS_MAIN = _esys_binding.TPM2_PS_MAIN
TPM2_PS_PC = _esys_binding.TPM2_PS_PC
TPM2_PS_PDA = _esys_binding.TPM2_PS_PDA
TPM2_PS_CELL_PHONE = _esys_binding.TPM2_PS_CELL_PHONE
TPM2_PS_SERVER = _esys_binding.TPM2_PS_SERVER
TPM2_PS_PERIPHERAL = _esys_binding.TPM2_PS_PERIPHERAL
TPM2_PS_TSS = _esys_binding.TPM2_PS_TSS
TPM2_PS_STORAGE = _esys_binding.TPM2_PS_STORAGE
TPM2_PS_AUTHENTICATION = _esys_binding.TPM2_PS_AUTHENTICATION
TPM2_PS_EMBEDDED = _esys_binding.TPM2_PS_EMBEDDED
TPM2_PS_HARDCOPY = _esys_binding.TPM2_PS_HARDCOPY
TPM2_PS_INFRASTRUCTURE = _esys_binding.TPM2_PS_INFRASTRUCTURE
TPM2_PS_VIRTUALIZATION = _esys_binding.TPM2_PS_VIRTUALIZATION
TPM2_PS_TNC = _esys_binding.TPM2_PS_TNC
TPM2_PS_MULTI_TENANT = _esys_binding.TPM2_PS_MULTI_TENANT
TPM2_PS_TC = _esys_binding.TPM2_PS_TC
TPM2_HT_PCR = _esys_binding.TPM2_HT_PCR
TPM2_HT_NV_INDEX = _esys_binding.TPM2_HT_NV_INDEX
TPM2_HT_HMAC_SESSION = _esys_binding.TPM2_HT_HMAC_SESSION
TPM2_HT_LOADED_SESSION = _esys_binding.TPM2_HT_LOADED_SESSION
TPM2_HT_POLICY_SESSION = _esys_binding.TPM2_HT_POLICY_SESSION
TPM2_HT_SAVED_SESSION = _esys_binding.TPM2_HT_SAVED_SESSION
TPM2_HT_PERMANENT = _esys_binding.TPM2_HT_PERMANENT
TPM2_HT_TRANSIENT = _esys_binding.TPM2_HT_TRANSIENT
TPM2_HT_PERSISTENT = _esys_binding.TPM2_HT_PERSISTENT
TPM2_RH_FIRST = _esys_binding.TPM2_RH_FIRST
TPM2_RH_SRK = _esys_binding.TPM2_RH_SRK
TPM2_RH_OWNER = _esys_binding.TPM2_RH_OWNER
TPM2_RH_REVOKE = _esys_binding.TPM2_RH_REVOKE
TPM2_RH_TRANSPORT = _esys_binding.TPM2_RH_TRANSPORT
TPM2_RH_OPERATOR = _esys_binding.TPM2_RH_OPERATOR
TPM2_RH_ADMIN = _esys_binding.TPM2_RH_ADMIN
TPM2_RH_EK = _esys_binding.TPM2_RH_EK
TPM2_RH_NULL = _esys_binding.TPM2_RH_NULL
TPM2_RH_UNASSIGNED = _esys_binding.TPM2_RH_UNASSIGNED
TPM2_RS_PW = _esys_binding.TPM2_RS_PW
TPM2_RH_LOCKOUT = _esys_binding.TPM2_RH_LOCKOUT
TPM2_RH_ENDORSEMENT = _esys_binding.TPM2_RH_ENDORSEMENT
TPM2_RH_PLATFORM = _esys_binding.TPM2_RH_PLATFORM
TPM2_RH_PLATFORM_NV = _esys_binding.TPM2_RH_PLATFORM_NV
TPM2_RH_AUTH_00 = _esys_binding.TPM2_RH_AUTH_00
TPM2_RH_AUTH_FF = _esys_binding.TPM2_RH_AUTH_FF
TPM2_RH_LAST = _esys_binding.TPM2_RH_LAST
TPM2_HR_HANDLE_MASK = _esys_binding.TPM2_HR_HANDLE_MASK
TPM2_HR_RANGE_MASK = _esys_binding.TPM2_HR_RANGE_MASK
TPM2_HR_SHIFT = _esys_binding.TPM2_HR_SHIFT
TPM2_HR_PCR = _esys_binding.TPM2_HR_PCR
TPM2_HR_HMAC_SESSION = _esys_binding.TPM2_HR_HMAC_SESSION
TPM2_HR_POLICY_SESSION = _esys_binding.TPM2_HR_POLICY_SESSION
TPM2_HR_TRANSIENT = _esys_binding.TPM2_HR_TRANSIENT
TPM2_HR_PERSISTENT = _esys_binding.TPM2_HR_PERSISTENT
TPM2_HR_NV_INDEX = _esys_binding.TPM2_HR_NV_INDEX
TPM2_HR_PERMANENT = _esys_binding.TPM2_HR_PERMANENT
TPM2_PCR_FIRST = _esys_binding.TPM2_PCR_FIRST
TPM2_PCR_LAST = _esys_binding.TPM2_PCR_LAST
TPM2_HMAC_SESSION_FIRST = _esys_binding.TPM2_HMAC_SESSION_FIRST
TPM2_HMAC_SESSION_LAST = _esys_binding.TPM2_HMAC_SESSION_LAST
TPM2_LOADED_SESSION_FIRST = _esys_binding.TPM2_LOADED_SESSION_FIRST
TPM2_LOADED_SESSION_LAST = _esys_binding.TPM2_LOADED_SESSION_LAST
TPM2_POLICY_SESSION_FIRST = _esys_binding.TPM2_POLICY_SESSION_FIRST
TPM2_POLICY_SESSION_LAST = _esys_binding.TPM2_POLICY_SESSION_LAST
TPM2_TRANSIENT_FIRST = _esys_binding.TPM2_TRANSIENT_FIRST
TPM2_ACTIVE_SESSION_FIRST = _esys_binding.TPM2_ACTIVE_SESSION_FIRST
TPM2_ACTIVE_SESSION_LAST = _esys_binding.TPM2_ACTIVE_SESSION_LAST
TPM2_TRANSIENT_LAST = _esys_binding.TPM2_TRANSIENT_LAST
TPM2_PERSISTENT_FIRST = _esys_binding.TPM2_PERSISTENT_FIRST
TPM2_PERSISTENT_LAST = _esys_binding.TPM2_PERSISTENT_LAST
TPM2_PLATFORM_PERSISTENT = _esys_binding.TPM2_PLATFORM_PERSISTENT
TPM2_NV_INDEX_FIRST = _esys_binding.TPM2_NV_INDEX_FIRST
TPM2_NV_INDEX_LAST = _esys_binding.TPM2_NV_INDEX_LAST
TPM2_PERMANENT_FIRST = _esys_binding.TPM2_PERMANENT_FIRST
TPM2_PERMANENT_LAST = _esys_binding.TPM2_PERMANENT_LAST
TPMA_ALGORITHM_ASYMMETRIC = _esys_binding.TPMA_ALGORITHM_ASYMMETRIC
TPMA_ALGORITHM_SYMMETRIC = _esys_binding.TPMA_ALGORITHM_SYMMETRIC
TPMA_ALGORITHM_HASH = _esys_binding.TPMA_ALGORITHM_HASH
TPMA_ALGORITHM_OBJECT = _esys_binding.TPMA_ALGORITHM_OBJECT
TPMA_ALGORITHM_RESERVED1_MASK = _esys_binding.TPMA_ALGORITHM_RESERVED1_MASK
TPMA_ALGORITHM_SIGNING = _esys_binding.TPMA_ALGORITHM_SIGNING
TPMA_ALGORITHM_ENCRYPTING = _esys_binding.TPMA_ALGORITHM_ENCRYPTING
TPMA_ALGORITHM_METHOD = _esys_binding.TPMA_ALGORITHM_METHOD
TPMA_ALGORITHM_RESERVED2_MASK = _esys_binding.TPMA_ALGORITHM_RESERVED2_MASK
TPMA_OBJECT_RESERVED1_MASK = _esys_binding.TPMA_OBJECT_RESERVED1_MASK
TPMA_OBJECT_FIXEDTPM = _esys_binding.TPMA_OBJECT_FIXEDTPM
TPMA_OBJECT_STCLEAR = _esys_binding.TPMA_OBJECT_STCLEAR
TPMA_OBJECT_RESERVED2_MASK = _esys_binding.TPMA_OBJECT_RESERVED2_MASK
TPMA_OBJECT_FIXEDPARENT = _esys_binding.TPMA_OBJECT_FIXEDPARENT
TPMA_OBJECT_SENSITIVEDATAORIGIN = _esys_binding.TPMA_OBJECT_SENSITIVEDATAORIGIN
TPMA_OBJECT_USERWITHAUTH = _esys_binding.TPMA_OBJECT_USERWITHAUTH
TPMA_OBJECT_ADMINWITHPOLICY = _esys_binding.TPMA_OBJECT_ADMINWITHPOLICY
TPMA_OBJECT_RESERVED3_MASK = _esys_binding.TPMA_OBJECT_RESERVED3_MASK
TPMA_OBJECT_NODA = _esys_binding.TPMA_OBJECT_NODA
TPMA_OBJECT_ENCRYPTEDDUPLICATION = _esys_binding.TPMA_OBJECT_ENCRYPTEDDUPLICATION
TPMA_OBJECT_RESERVED4_MASK = _esys_binding.TPMA_OBJECT_RESERVED4_MASK
TPMA_OBJECT_RESTRICTED = _esys_binding.TPMA_OBJECT_RESTRICTED
TPMA_OBJECT_DECRYPT = _esys_binding.TPMA_OBJECT_DECRYPT
TPMA_OBJECT_SIGN_ENCRYPT = _esys_binding.TPMA_OBJECT_SIGN_ENCRYPT
TPMA_OBJECT_RESERVED5_MASK = _esys_binding.TPMA_OBJECT_RESERVED5_MASK
TPMA_SESSION_CONTINUESESSION = _esys_binding.TPMA_SESSION_CONTINUESESSION
TPMA_SESSION_AUDITEXCLUSIVE = _esys_binding.TPMA_SESSION_AUDITEXCLUSIVE
TPMA_SESSION_AUDITRESET = _esys_binding.TPMA_SESSION_AUDITRESET
TPMA_SESSION_RESERVED1_MASK = _esys_binding.TPMA_SESSION_RESERVED1_MASK
TPMA_SESSION_DECRYPT = _esys_binding.TPMA_SESSION_DECRYPT
TPMA_SESSION_ENCRYPT = _esys_binding.TPMA_SESSION_ENCRYPT
TPMA_SESSION_AUDIT = _esys_binding.TPMA_SESSION_AUDIT
TPMA_LOCALITY_TPM2_LOC_ZERO = _esys_binding.TPMA_LOCALITY_TPM2_LOC_ZERO
TPMA_LOCALITY_TPM2_LOC_ONE = _esys_binding.TPMA_LOCALITY_TPM2_LOC_ONE
TPMA_LOCALITY_TPM2_LOC_TWO = _esys_binding.TPMA_LOCALITY_TPM2_LOC_TWO
TPMA_LOCALITY_TPM2_LOC_THREE = _esys_binding.TPMA_LOCALITY_TPM2_LOC_THREE
TPMA_LOCALITY_TPM2_LOC_FOUR = _esys_binding.TPMA_LOCALITY_TPM2_LOC_FOUR
TPMA_LOCALITY_EXTENDED_MASK = _esys_binding.TPMA_LOCALITY_EXTENDED_MASK
TPMA_PERMANENT_OWNERAUTHSET = _esys_binding.TPMA_PERMANENT_OWNERAUTHSET
TPMA_PERMANENT_ENDORSEMENTAUTHSET = _esys_binding.TPMA_PERMANENT_ENDORSEMENTAUTHSET
TPMA_PERMANENT_LOCKOUTAUTHSET = _esys_binding.TPMA_PERMANENT_LOCKOUTAUTHSET
TPMA_PERMANENT_RESERVED1_MASK = _esys_binding.TPMA_PERMANENT_RESERVED1_MASK
TPMA_PERMANENT_DISABLECLEAR = _esys_binding.TPMA_PERMANENT_DISABLECLEAR
TPMA_PERMANENT_INLOCKOUT = _esys_binding.TPMA_PERMANENT_INLOCKOUT
TPMA_PERMANENT_TPMGENERATEDEPS = _esys_binding.TPMA_PERMANENT_TPMGENERATEDEPS
TPMA_PERMANENT_RESERVED2_MASK = _esys_binding.TPMA_PERMANENT_RESERVED2_MASK
TPMA_STARTUP_CLEAR_PHENABLE = _esys_binding.TPMA_STARTUP_CLEAR_PHENABLE
TPMA_STARTUP_CLEAR_SHENABLE = _esys_binding.TPMA_STARTUP_CLEAR_SHENABLE
TPMA_STARTUP_CLEAR_EHENABLE = _esys_binding.TPMA_STARTUP_CLEAR_EHENABLE
TPMA_STARTUP_CLEAR_PHENABLENV = _esys_binding.TPMA_STARTUP_CLEAR_PHENABLENV
TPMA_STARTUP_CLEAR_RESERVED1_MASK = _esys_binding.TPMA_STARTUP_CLEAR_RESERVED1_MASK
TPMA_STARTUP_CLEAR_ORDERLY = _esys_binding.TPMA_STARTUP_CLEAR_ORDERLY
TPMA_MEMORY_SHAREDRAM = _esys_binding.TPMA_MEMORY_SHAREDRAM
TPMA_MEMORY_SHAREDNV = _esys_binding.TPMA_MEMORY_SHAREDNV
TPMA_MEMORY_OBJECTCOPIEDTORAM = _esys_binding.TPMA_MEMORY_OBJECTCOPIEDTORAM
TPMA_MEMORY_RESERVED1_MASK = _esys_binding.TPMA_MEMORY_RESERVED1_MASK
TPMA_CC_COMMANDINDEX_MASK = _esys_binding.TPMA_CC_COMMANDINDEX_MASK
TPMA_CC_RESERVED1_MASK = _esys_binding.TPMA_CC_RESERVED1_MASK
TPMA_CC_NV = _esys_binding.TPMA_CC_NV
TPMA_CC_EXTENSIVE = _esys_binding.TPMA_CC_EXTENSIVE
TPMA_CC_FLUSHED = _esys_binding.TPMA_CC_FLUSHED
TPMA_CC_CHANDLES_MASK = _esys_binding.TPMA_CC_CHANDLES_MASK
TPMA_CC_RHANDLE = _esys_binding.TPMA_CC_RHANDLE
TPMA_CC_V = _esys_binding.TPMA_CC_V
TPMA_CC_RES_MASK = _esys_binding.TPMA_CC_RES_MASK
TPMA_MODES_FIPS_140_2 = _esys_binding.TPMA_MODES_FIPS_140_2
TPMA_MODES_RESERVED1_MASK = _esys_binding.TPMA_MODES_RESERVED1_MASK
TPM2_NV_INDEX_INDEX_MASK = _esys_binding.TPM2_NV_INDEX_INDEX_MASK
TPM2_NV_INDEX_RH_NV_MASK = _esys_binding.TPM2_NV_INDEX_RH_NV_MASK
TPM2_NT_ORDINARY = _esys_binding.TPM2_NT_ORDINARY
TPM2_NT_COUNTER = _esys_binding.TPM2_NT_COUNTER
TPM2_NT_BITS = _esys_binding.TPM2_NT_BITS
TPM2_NT_EXTEND = _esys_binding.TPM2_NT_EXTEND
TPM2_NT_PIN_FAIL = _esys_binding.TPM2_NT_PIN_FAIL
TPM2_NT_PIN_PASS = _esys_binding.TPM2_NT_PIN_PASS
TPMA_NV_PPWRITE = _esys_binding.TPMA_NV_PPWRITE
TPMA_NV_OWNERWRITE = _esys_binding.TPMA_NV_OWNERWRITE
TPMA_NV_AUTHWRITE = _esys_binding.TPMA_NV_AUTHWRITE
TPMA_NV_POLICYWRITE = _esys_binding.TPMA_NV_POLICYWRITE
TPMA_NV_TPM2_NT_MASK = _esys_binding.TPMA_NV_TPM2_NT_MASK
TPMA_NV_RESERVED1_MASK = _esys_binding.TPMA_NV_RESERVED1_MASK
TPMA_NV_POLICY_DELETE = _esys_binding.TPMA_NV_POLICY_DELETE
TPMA_NV_WRITELOCKED = _esys_binding.TPMA_NV_WRITELOCKED
TPMA_NV_WRITEALL = _esys_binding.TPMA_NV_WRITEALL
TPMA_NV_WRITEDEFINE = _esys_binding.TPMA_NV_WRITEDEFINE
TPMA_NV_WRITE_STCLEAR = _esys_binding.TPMA_NV_WRITE_STCLEAR
TPMA_NV_GLOBALLOCK = _esys_binding.TPMA_NV_GLOBALLOCK
TPMA_NV_PPREAD = _esys_binding.TPMA_NV_PPREAD
TPMA_NV_OWNERREAD = _esys_binding.TPMA_NV_OWNERREAD
TPMA_NV_AUTHREAD = _esys_binding.TPMA_NV_AUTHREAD
TPMA_NV_POLICYREAD = _esys_binding.TPMA_NV_POLICYREAD
TPMA_NV_RESERVED2_MASK = _esys_binding.TPMA_NV_RESERVED2_MASK
TPMA_NV_NO_DA = _esys_binding.TPMA_NV_NO_DA
TPMA_NV_ORDERLY = _esys_binding.TPMA_NV_ORDERLY
TPMA_NV_CLEAR_STCLEAR = _esys_binding.TPMA_NV_CLEAR_STCLEAR
TPMA_NV_READLOCKED = _esys_binding.TPMA_NV_READLOCKED
TPMA_NV_WRITTEN = _esys_binding.TPMA_NV_WRITTEN
TPMA_NV_PLATFORMCREATE = _esys_binding.TPMA_NV_PLATFORMCREATE
TPMA_NV_READ_STCLEAR = _esys_binding.TPMA_NV_READ_STCLEAR
TPM_AT_ANY = _esys_binding.TPM_AT_ANY
TPM_AT_ERROR = _esys_binding.TPM_AT_ERROR
TPM_AT_PV1 = _esys_binding.TPM_AT_PV1
TSS2_RC_SUCCESS = _esys_binding.TSS2_RC_SUCCESS
TSS2_RC_LAYER_MASK = _esys_binding.TSS2_RC_LAYER_MASK
TSS2_TPM_RC_LAYER = _esys_binding.TSS2_TPM_RC_LAYER
TSS2_FEATURE_RC_LAYER = _esys_binding.TSS2_FEATURE_RC_LAYER
TSS2_ESAPI_RC_LAYER = _esys_binding.TSS2_ESAPI_RC_LAYER
TSS2_SYS_RC_LAYER = _esys_binding.TSS2_SYS_RC_LAYER
TSS2_MU_RC_LAYER = _esys_binding.TSS2_MU_RC_LAYER
TSS2_TCTI_RC_LAYER = _esys_binding.TSS2_TCTI_RC_LAYER
TSS2_RESMGR_RC_LAYER = _esys_binding.TSS2_RESMGR_RC_LAYER
TSS2_RESMGR_TPM_RC_LAYER = _esys_binding.TSS2_RESMGR_TPM_RC_LAYER
TSS2_TCTI_RC_GENERAL_FAILURE = _esys_binding.TSS2_TCTI_RC_GENERAL_FAILURE
TSS2_TCTI_RC_NOT_IMPLEMENTED = _esys_binding.TSS2_TCTI_RC_NOT_IMPLEMENTED
TSS2_TCTI_RC_BAD_CONTEXT = _esys_binding.TSS2_TCTI_RC_BAD_CONTEXT
TSS2_TCTI_RC_ABI_MISMATCH = _esys_binding.TSS2_TCTI_RC_ABI_MISMATCH
TSS2_TCTI_RC_BAD_REFERENCE = _esys_binding.TSS2_TCTI_RC_BAD_REFERENCE
TSS2_TCTI_RC_INSUFFICIENT_BUFFER = _esys_binding.TSS2_TCTI_RC_INSUFFICIENT_BUFFER
TSS2_TCTI_RC_BAD_SEQUENCE = _esys_binding.TSS2_TCTI_RC_BAD_SEQUENCE
TSS2_TCTI_RC_NO_CONNECTION = _esys_binding.TSS2_TCTI_RC_NO_CONNECTION
TSS2_TCTI_RC_IO_ERROR = _esys_binding.TSS2_TCTI_RC_IO_ERROR
TSS2_TCTI_RC_BAD_VALUE = _esys_binding.TSS2_TCTI_RC_BAD_VALUE
TSS2_TCTI_RC_NOT_PERMITTED = _esys_binding.TSS2_TCTI_RC_NOT_PERMITTED
TSS2_TCTI_RC_MALFORMED_RESPONSE = _esys_binding.TSS2_TCTI_RC_MALFORMED_RESPONSE
TSS2_TCTI_RC_NOT_SUPPORTED = _esys_binding.TSS2_TCTI_RC_NOT_SUPPORTED
TSS2_SYS_RC_GENERAL_FAILURE = _esys_binding.TSS2_SYS_RC_GENERAL_FAILURE
TSS2_SYS_RC_ABI_MISMATCH = _esys_binding.TSS2_SYS_RC_ABI_MISMATCH
TSS2_SYS_RC_BAD_REFERENCE = _esys_binding.TSS2_SYS_RC_BAD_REFERENCE
TSS2_SYS_RC_INSUFFICIENT_BUFFER = _esys_binding.TSS2_SYS_RC_INSUFFICIENT_BUFFER
TSS2_SYS_RC_BAD_SEQUENCE = _esys_binding.TSS2_SYS_RC_BAD_SEQUENCE
TSS2_SYS_RC_BAD_VALUE = _esys_binding.TSS2_SYS_RC_BAD_VALUE
TSS2_SYS_RC_INVALID_SESSIONS = _esys_binding.TSS2_SYS_RC_INVALID_SESSIONS
TSS2_SYS_RC_NO_DECRYPT_PARAM = _esys_binding.TSS2_SYS_RC_NO_DECRYPT_PARAM
TSS2_SYS_RC_NO_ENCRYPT_PARAM = _esys_binding.TSS2_SYS_RC_NO_ENCRYPT_PARAM
TSS2_SYS_RC_BAD_SIZE = _esys_binding.TSS2_SYS_RC_BAD_SIZE
TSS2_SYS_RC_MALFORMED_RESPONSE = _esys_binding.TSS2_SYS_RC_MALFORMED_RESPONSE
TSS2_SYS_RC_INSUFFICIENT_CONTEXT = _esys_binding.TSS2_SYS_RC_INSUFFICIENT_CONTEXT
TSS2_SYS_RC_INSUFFICIENT_RESPONSE = _esys_binding.TSS2_SYS_RC_INSUFFICIENT_RESPONSE
TSS2_SYS_RC_INCOMPATIBLE_TCTI = _esys_binding.TSS2_SYS_RC_INCOMPATIBLE_TCTI
TSS2_SYS_RC_BAD_TCTI_STRUCTURE = _esys_binding.TSS2_SYS_RC_BAD_TCTI_STRUCTURE
TSS2_MU_RC_GENERAL_FAILURE = _esys_binding.TSS2_MU_RC_GENERAL_FAILURE
TSS2_MU_RC_BAD_REFERENCE = _esys_binding.TSS2_MU_RC_BAD_REFERENCE
TSS2_MU_RC_BAD_SIZE = _esys_binding.TSS2_MU_RC_BAD_SIZE
TSS2_MU_RC_BAD_VALUE = _esys_binding.TSS2_MU_RC_BAD_VALUE
TSS2_MU_RC_INSUFFICIENT_BUFFER = _esys_binding.TSS2_MU_RC_INSUFFICIENT_BUFFER
TSS2_ESYS_RC_GENERAL_FAILURE = _esys_binding.TSS2_ESYS_RC_GENERAL_FAILURE
TSS2_ESYS_RC_NOT_IMPLEMENTED = _esys_binding.TSS2_ESYS_RC_NOT_IMPLEMENTED
TSS2_ESYS_RC_ABI_MISMATCH = _esys_binding.TSS2_ESYS_RC_ABI_MISMATCH
TSS2_ESYS_RC_BAD_REFERENCE = _esys_binding.TSS2_ESYS_RC_BAD_REFERENCE
TSS2_ESYS_RC_INSUFFICIENT_BUFFER = _esys_binding.TSS2_ESYS_RC_INSUFFICIENT_BUFFER
TSS2_ESYS_RC_BAD_SEQUENCE = _esys_binding.TSS2_ESYS_RC_BAD_SEQUENCE
TSS2_ESYS_RC_INVALID_SESSIONS = _esys_binding.TSS2_ESYS_RC_INVALID_SESSIONS
TSS2_ESYS_RC_TRY_AGAIN = _esys_binding.TSS2_ESYS_RC_TRY_AGAIN
TSS2_ESYS_RC_IO_ERROR = _esys_binding.TSS2_ESYS_RC_IO_ERROR
TSS2_ESYS_RC_BAD_VALUE = _esys_binding.TSS2_ESYS_RC_BAD_VALUE
TSS2_ESYS_RC_NO_DECRYPT_PARAM = _esys_binding.TSS2_ESYS_RC_NO_DECRYPT_PARAM
TSS2_ESYS_RC_NO_ENCRYPT_PARAM = _esys_binding.TSS2_ESYS_RC_NO_ENCRYPT_PARAM
TSS2_ESYS_RC_BAD_SIZE = _esys_binding.TSS2_ESYS_RC_BAD_SIZE
TSS2_ESYS_RC_MALFORMED_RESPONSE = _esys_binding.TSS2_ESYS_RC_MALFORMED_RESPONSE
TSS2_ESYS_RC_INSUFFICIENT_CONTEXT = _esys_binding.TSS2_ESYS_RC_INSUFFICIENT_CONTEXT
TSS2_ESYS_RC_INSUFFICIENT_RESPONSE = _esys_binding.TSS2_ESYS_RC_INSUFFICIENT_RESPONSE
TSS2_ESYS_RC_INCOMPATIBLE_TCTI = _esys_binding.TSS2_ESYS_RC_INCOMPATIBLE_TCTI
TSS2_ESYS_RC_BAD_TCTI_STRUCTURE = _esys_binding.TSS2_ESYS_RC_BAD_TCTI_STRUCTURE
TSS2_ESYS_RC_MEMORY = _esys_binding.TSS2_ESYS_RC_MEMORY
TSS2_ESYS_RC_BAD_TR = _esys_binding.TSS2_ESYS_RC_BAD_TR
TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONS = _esys_binding.TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONS
TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONS = _esys_binding.TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONS
TSS2_ESYS_RC_RSP_AUTH_FAILED = _esys_binding.TSS2_ESYS_RC_RSP_AUTH_FAILED
class ESYS_TR_PTR(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ESYS_TR_PTR, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ESYS_TR_PTR, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _esys_binding.new_ESYS_TR_PTR()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _esys_binding.delete_ESYS_TR_PTR
    __del__ = lambda self: None

    def assign(self, value: 'unsigned int') -> "void":
        return _esys_binding.ESYS_TR_PTR_assign(self, value)

    def value(self) -> "unsigned int":
        return _esys_binding.ESYS_TR_PTR_value(self)

    def cast(self) -> "unsigned int *":
        return _esys_binding.ESYS_TR_PTR_cast(self)
    if _newclass:
        frompointer = staticmethod(_esys_binding.ESYS_TR_PTR_frompointer)
    else:
        frompointer = _esys_binding.ESYS_TR_PTR_frompointer
ESYS_TR_PTR_swigregister = _esys_binding.ESYS_TR_PTR_swigregister
ESYS_TR_PTR_swigregister(ESYS_TR_PTR)

def ESYS_TR_PTR_frompointer(t: 'unsigned int *') -> "ESYS_TR_PTR *":
    return _esys_binding.ESYS_TR_PTR_frompointer(t)
ESYS_TR_PTR_frompointer = _esys_binding.ESYS_TR_PTR_frompointer


def new_ESYS_TR_PTR_PTR() -> "unsigned int **":
    return _esys_binding.new_ESYS_TR_PTR_PTR()
new_ESYS_TR_PTR_PTR = _esys_binding.new_ESYS_TR_PTR_PTR

def copy_ESYS_TR_PTR_PTR(value: 'unsigned int *') -> "unsigned int **":
    return _esys_binding.copy_ESYS_TR_PTR_PTR(value)
copy_ESYS_TR_PTR_PTR = _esys_binding.copy_ESYS_TR_PTR_PTR

def delete_ESYS_TR_PTR_PTR(obj: 'unsigned int **') -> "void":
    return _esys_binding.delete_ESYS_TR_PTR_PTR(obj)
delete_ESYS_TR_PTR_PTR = _esys_binding.delete_ESYS_TR_PTR_PTR

def ESYS_TR_PTR_PTR_assign(obj: 'unsigned int **', value: 'unsigned int *') -> "void":
    return _esys_binding.ESYS_TR_PTR_PTR_assign(obj, value)
ESYS_TR_PTR_PTR_assign = _esys_binding.ESYS_TR_PTR_PTR_assign

def ESYS_TR_PTR_PTR_value(obj: 'unsigned int **') -> "unsigned int *":
    return _esys_binding.ESYS_TR_PTR_PTR_value(obj)
ESYS_TR_PTR_PTR_value = _esys_binding.ESYS_TR_PTR_PTR_value

def new_ctx_ptr() -> "struct ESYS_CONTEXT **":
    return _esys_binding.new_ctx_ptr()
new_ctx_ptr = _esys_binding.new_ctx_ptr

def copy_ctx_ptr(value: 'struct ESYS_CONTEXT *') -> "struct ESYS_CONTEXT **":
    return _esys_binding.copy_ctx_ptr(value)
copy_ctx_ptr = _esys_binding.copy_ctx_ptr

def delete_ctx_ptr(obj: 'struct ESYS_CONTEXT **') -> "void":
    return _esys_binding.delete_ctx_ptr(obj)
delete_ctx_ptr = _esys_binding.delete_ctx_ptr

def ctx_ptr_assign(obj: 'struct ESYS_CONTEXT **', value: 'struct ESYS_CONTEXT *') -> "void":
    return _esys_binding.ctx_ptr_assign(obj, value)
ctx_ptr_assign = _esys_binding.ctx_ptr_assign

def ctx_ptr_value(obj: 'struct ESYS_CONTEXT **') -> "struct ESYS_CONTEXT *":
    return _esys_binding.ctx_ptr_value(obj)
ctx_ptr_value = _esys_binding.ctx_ptr_value

def new_tcti_ctx_ptr_ptr() -> "struct TSS2_TCTI_CONTEXT **":
    return _esys_binding.new_tcti_ctx_ptr_ptr()
new_tcti_ctx_ptr_ptr = _esys_binding.new_tcti_ctx_ptr_ptr

def copy_tcti_ctx_ptr_ptr(value: 'struct TSS2_TCTI_CONTEXT *') -> "struct TSS2_TCTI_CONTEXT **":
    return _esys_binding.copy_tcti_ctx_ptr_ptr(value)
copy_tcti_ctx_ptr_ptr = _esys_binding.copy_tcti_ctx_ptr_ptr

def delete_tcti_ctx_ptr_ptr(obj: 'struct TSS2_TCTI_CONTEXT **') -> "void":
    return _esys_binding.delete_tcti_ctx_ptr_ptr(obj)
delete_tcti_ctx_ptr_ptr = _esys_binding.delete_tcti_ctx_ptr_ptr

def tcti_ctx_ptr_ptr_assign(obj: 'struct TSS2_TCTI_CONTEXT **', value: 'struct TSS2_TCTI_CONTEXT *') -> "void":
    return _esys_binding.tcti_ctx_ptr_ptr_assign(obj, value)
tcti_ctx_ptr_ptr_assign = _esys_binding.tcti_ctx_ptr_ptr_assign

def tcti_ctx_ptr_ptr_value(obj: 'struct TSS2_TCTI_CONTEXT **') -> "struct TSS2_TCTI_CONTEXT *":
    return _esys_binding.tcti_ctx_ptr_ptr_value(obj)
tcti_ctx_ptr_ptr_value = _esys_binding.tcti_ctx_ptr_ptr_value

def Tss2_TctiLdr_Initialize_Ex(name: 'char const *', conf: 'char const *', context: 'TSS2_TCTI_CONTEXT **') -> "TSS2_RC":
    """Tss2_TctiLdr_Initialize_Ex(char const * name, char const * conf, TSS2_TCTI_CONTEXT ** context) -> TSS2_RC"""
    return _esys_binding.Tss2_TctiLdr_Initialize_Ex(name, conf, context)

def Esys_Initialize(esys_context: 'ESYS_CONTEXT **', tcti: 'TSS2_TCTI_CONTEXT *', abiVersion: 'TSS2_ABI_VERSION') -> "TSS2_RC":
    """Esys_Initialize(ESYS_CONTEXT ** esys_context, TSS2_TCTI_CONTEXT * tcti, TSS2_ABI_VERSION abiVersion) -> TSS2_RC"""
    return _esys_binding.Esys_Initialize(esys_context, tcti, abiVersion)

def Esys_Finalize(context: 'ESYS_CONTEXT **') -> "void":
    """Esys_Finalize(ESYS_CONTEXT ** context)"""
    return _esys_binding.Esys_Finalize(context)

def Esys_GetTcti(esys_context: 'ESYS_CONTEXT *', tcti: 'TSS2_TCTI_CONTEXT **') -> "TSS2_RC":
    """Esys_GetTcti(ESYS_CONTEXT * esys_context, TSS2_TCTI_CONTEXT ** tcti) -> TSS2_RC"""
    return _esys_binding.Esys_GetTcti(esys_context, tcti)

def Esys_GetPollHandles(esys_context: 'ESYS_CONTEXT *', handles: 'TSS2_TCTI_POLL_HANDLE **', count: 'size_t *') -> "TSS2_RC":
    """Esys_GetPollHandles(ESYS_CONTEXT * esys_context, TSS2_TCTI_POLL_HANDLE ** handles, size_t * count) -> TSS2_RC"""
    return _esys_binding.Esys_GetPollHandles(esys_context, handles, count)

def Esys_SetTimeout(esys_context: 'ESYS_CONTEXT *', timeout: 'int32_t') -> "TSS2_RC":
    """Esys_SetTimeout(ESYS_CONTEXT * esys_context, int32_t timeout) -> TSS2_RC"""
    return _esys_binding.Esys_SetTimeout(esys_context, timeout)

def Esys_TR_Serialize(esys_context: 'ESYS_CONTEXT *', object: 'unsigned int', buffer: 'uint8_t **', buffer_size: 'size_t *') -> "TSS2_RC":
    """Esys_TR_Serialize(ESYS_CONTEXT * esys_context, unsigned int object, uint8_t ** buffer, size_t * buffer_size) -> TSS2_RC"""
    return _esys_binding.Esys_TR_Serialize(esys_context, object, buffer, buffer_size)

def Esys_TR_Deserialize(esys_context: 'ESYS_CONTEXT *', buffer: 'uint8_t const *', buffer_size: 'size_t', esys_handle: 'unsigned int *') -> "TSS2_RC":
    """Esys_TR_Deserialize(ESYS_CONTEXT * esys_context, uint8_t const * buffer, size_t buffer_size, unsigned int * esys_handle) -> TSS2_RC"""
    return _esys_binding.Esys_TR_Deserialize(esys_context, buffer, buffer_size, esys_handle)

def Esys_TR_FromTPMPublic_Async(esysContext: 'ESYS_CONTEXT *', tpm_handle: 'TPM2_HANDLE', optionalSession1: 'unsigned int', optionalSession2: 'unsigned int', optionalSession3: 'unsigned int') -> "TSS2_RC":
    """Esys_TR_FromTPMPublic_Async(ESYS_CONTEXT * esysContext, TPM2_HANDLE tpm_handle, unsigned int optionalSession1, unsigned int optionalSession2, unsigned int optionalSession3) -> TSS2_RC"""
    return _esys_binding.Esys_TR_FromTPMPublic_Async(esysContext, tpm_handle, optionalSession1, optionalSession2, optionalSession3)

def Esys_TR_FromTPMPublic_Finish(esysContext: 'ESYS_CONTEXT *', object: 'unsigned int *') -> "TSS2_RC":
    """Esys_TR_FromTPMPublic_Finish(ESYS_CONTEXT * esysContext, unsigned int * object) -> TSS2_RC"""
    return _esys_binding.Esys_TR_FromTPMPublic_Finish(esysContext, object)

def Esys_TR_FromTPMPublic(esysContext: 'ESYS_CONTEXT *', tpm_handle: 'TPM2_HANDLE', optionalSession1: 'unsigned int', optionalSession2: 'unsigned int', optionalSession3: 'unsigned int', object: 'unsigned int *') -> "TSS2_RC":
    """Esys_TR_FromTPMPublic(ESYS_CONTEXT * esysContext, TPM2_HANDLE tpm_handle, unsigned int optionalSession1, unsigned int optionalSession2, unsigned int optionalSession3, unsigned int * object) -> TSS2_RC"""
    return _esys_binding.Esys_TR_FromTPMPublic(esysContext, tpm_handle, optionalSession1, optionalSession2, optionalSession3, object)

def Esys_TR_Close(esys_context: 'ESYS_CONTEXT *', rsrc_handle: 'unsigned int *') -> "TSS2_RC":
    """Esys_TR_Close(ESYS_CONTEXT * esys_context, unsigned int * rsrc_handle) -> TSS2_RC"""
    return _esys_binding.Esys_TR_Close(esys_context, rsrc_handle)

def Esys_TR_SetAuth(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', authValue: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_TR_SetAuth(ESYS_CONTEXT * esysContext, unsigned int handle, TPM2B_DIGEST authValue) -> TSS2_RC"""
    return _esys_binding.Esys_TR_SetAuth(esysContext, handle, authValue)

def Esys_TR_GetName(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', name: 'TPM2B_NAME **') -> "TSS2_RC":
    """Esys_TR_GetName(ESYS_CONTEXT * esysContext, unsigned int handle, TPM2B_NAME ** name) -> TSS2_RC"""
    return _esys_binding.Esys_TR_GetName(esysContext, handle, name)

def Esys_TRSess_GetAttributes(esysContext: 'ESYS_CONTEXT *', session: 'unsigned int', flags: 'TPMA_SESSION *') -> "TSS2_RC":
    """Esys_TRSess_GetAttributes(ESYS_CONTEXT * esysContext, unsigned int session, TPMA_SESSION * flags) -> TSS2_RC"""
    return _esys_binding.Esys_TRSess_GetAttributes(esysContext, session, flags)

def Esys_TRSess_SetAttributes(esysContext: 'ESYS_CONTEXT *', session: 'unsigned int', flags: 'TPMA_SESSION', mask: 'TPMA_SESSION') -> "TSS2_RC":
    """Esys_TRSess_SetAttributes(ESYS_CONTEXT * esysContext, unsigned int session, TPMA_SESSION flags, TPMA_SESSION mask) -> TSS2_RC"""
    return _esys_binding.Esys_TRSess_SetAttributes(esysContext, session, flags, mask)

def Esys_TRSess_GetNonceTPM(esysContext: 'ESYS_CONTEXT *', session: 'unsigned int', nonceTPM: 'TPM2B_NONCE **') -> "TSS2_RC":
    """Esys_TRSess_GetNonceTPM(ESYS_CONTEXT * esysContext, unsigned int session, TPM2B_NONCE ** nonceTPM) -> TSS2_RC"""
    return _esys_binding.Esys_TRSess_GetNonceTPM(esysContext, session, nonceTPM)

def Esys_Startup(esysContext: 'ESYS_CONTEXT *', startupType: 'TPM2_SU') -> "TSS2_RC":
    """Esys_Startup(ESYS_CONTEXT * esysContext, TPM2_SU startupType) -> TSS2_RC"""
    return _esys_binding.Esys_Startup(esysContext, startupType)

def Esys_Startup_Async(esysContext: 'ESYS_CONTEXT *', startupType: 'TPM2_SU') -> "TSS2_RC":
    """Esys_Startup_Async(ESYS_CONTEXT * esysContext, TPM2_SU startupType) -> TSS2_RC"""
    return _esys_binding.Esys_Startup_Async(esysContext, startupType)

def Esys_Startup_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_Startup_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_Startup_Finish(esysContext)

def Esys_Shutdown(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', shutdownType: 'TPM2_SU') -> "TSS2_RC":
    """Esys_Shutdown(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_SU shutdownType) -> TSS2_RC"""
    return _esys_binding.Esys_Shutdown(esysContext, shandle1, shandle2, shandle3, shutdownType)

def Esys_Shutdown_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', shutdownType: 'TPM2_SU') -> "TSS2_RC":
    """Esys_Shutdown_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_SU shutdownType) -> TSS2_RC"""
    return _esys_binding.Esys_Shutdown_Async(esysContext, shandle1, shandle2, shandle3, shutdownType)

def Esys_Shutdown_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_Shutdown_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_Shutdown_Finish(esysContext)

def Esys_SelfTest(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', fullTest: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_SelfTest(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO fullTest) -> TSS2_RC"""
    return _esys_binding.Esys_SelfTest(esysContext, shandle1, shandle2, shandle3, fullTest)

def Esys_SelfTest_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', fullTest: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_SelfTest_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO fullTest) -> TSS2_RC"""
    return _esys_binding.Esys_SelfTest_Async(esysContext, shandle1, shandle2, shandle3, fullTest)

def Esys_SelfTest_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_SelfTest_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_SelfTest_Finish(esysContext)

def Esys_IncrementalSelfTest(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', toTest: 'TPML_ALG', toDoList: 'TPML_ALG **') -> "TSS2_RC":
    """Esys_IncrementalSelfTest(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_ALG toTest, TPML_ALG ** toDoList) -> TSS2_RC"""
    return _esys_binding.Esys_IncrementalSelfTest(esysContext, shandle1, shandle2, shandle3, toTest, toDoList)

def Esys_IncrementalSelfTest_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', toTest: 'TPML_ALG') -> "TSS2_RC":
    """Esys_IncrementalSelfTest_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_ALG toTest) -> TSS2_RC"""
    return _esys_binding.Esys_IncrementalSelfTest_Async(esysContext, shandle1, shandle2, shandle3, toTest)

def Esys_IncrementalSelfTest_Finish(esysContext: 'ESYS_CONTEXT *', toDoList: 'TPML_ALG **') -> "TSS2_RC":
    """Esys_IncrementalSelfTest_Finish(ESYS_CONTEXT * esysContext, TPML_ALG ** toDoList) -> TSS2_RC"""
    return _esys_binding.Esys_IncrementalSelfTest_Finish(esysContext, toDoList)

def Esys_GetTestResult(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', outData: 'TPM2B_MAX_BUFFER **', testResult: 'TPM2_RC *') -> "TSS2_RC":
    """Esys_GetTestResult(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER ** outData, TPM2_RC * testResult) -> TSS2_RC"""
    return _esys_binding.Esys_GetTestResult(esysContext, shandle1, shandle2, shandle3, outData, testResult)

def Esys_GetTestResult_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_GetTestResult_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_GetTestResult_Async(esysContext, shandle1, shandle2, shandle3)

def Esys_GetTestResult_Finish(esysContext: 'ESYS_CONTEXT *', outData: 'TPM2B_MAX_BUFFER **', testResult: 'TPM2_RC *') -> "TSS2_RC":
    """Esys_GetTestResult_Finish(ESYS_CONTEXT * esysContext, TPM2B_MAX_BUFFER ** outData, TPM2_RC * testResult) -> TSS2_RC"""
    return _esys_binding.Esys_GetTestResult_Finish(esysContext, outData, testResult)

def Esys_StartAuthSession(esysContext: 'ESYS_CONTEXT *', tpmKey: 'unsigned int', bind: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nonceCaller: 'TPM2B_DIGEST', sessionType: 'TPM2_SE', symmetric: 'TPMT_SYM_DEF', authHash: 'TPMI_ALG_HASH', sessionHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_StartAuthSession(ESYS_CONTEXT * esysContext, unsigned int tpmKey, unsigned int bind, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nonceCaller, TPM2_SE sessionType, TPMT_SYM_DEF symmetric, TPMI_ALG_HASH authHash, unsigned int * sessionHandle) -> TSS2_RC"""
    return _esys_binding.Esys_StartAuthSession(esysContext, tpmKey, bind, shandle1, shandle2, shandle3, nonceCaller, sessionType, symmetric, authHash, sessionHandle)

def Esys_StartAuthSession_Async(esysContext: 'ESYS_CONTEXT *', tpmKey: 'unsigned int', bind: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nonceCaller: 'TPM2B_DIGEST', sessionType: 'TPM2_SE', symmetric: 'TPMT_SYM_DEF', authHash: 'TPMI_ALG_HASH') -> "TSS2_RC":
    """Esys_StartAuthSession_Async(ESYS_CONTEXT * esysContext, unsigned int tpmKey, unsigned int bind, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nonceCaller, TPM2_SE sessionType, TPMT_SYM_DEF symmetric, TPMI_ALG_HASH authHash) -> TSS2_RC"""
    return _esys_binding.Esys_StartAuthSession_Async(esysContext, tpmKey, bind, shandle1, shandle2, shandle3, nonceCaller, sessionType, symmetric, authHash)

def Esys_StartAuthSession_Finish(esysContext: 'ESYS_CONTEXT *', sessionHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_StartAuthSession_Finish(ESYS_CONTEXT * esysContext, unsigned int * sessionHandle) -> TSS2_RC"""
    return _esys_binding.Esys_StartAuthSession_Finish(esysContext, sessionHandle)

def Esys_PolicyRestart(esysContext: 'ESYS_CONTEXT *', sessionHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyRestart(ESYS_CONTEXT * esysContext, unsigned int sessionHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyRestart(esysContext, sessionHandle, shandle1, shandle2, shandle3)

def Esys_PolicyRestart_Async(esysContext: 'ESYS_CONTEXT *', sessionHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyRestart_Async(ESYS_CONTEXT * esysContext, unsigned int sessionHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyRestart_Async(esysContext, sessionHandle, shandle1, shandle2, shandle3)

def Esys_PolicyRestart_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyRestart_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyRestart_Finish(esysContext)

def Esys_Create(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inSensitive: 'TPM2B_SENSITIVE_CREATE', inPublic: 'TPM2B_PUBLIC', outsideInfo: 'TPM2B_DATA', creationPCR: 'TPML_PCR_SELECTION', outPrivate: 'TPM2B_PRIVATE **', outPublic: 'TPM2B_PUBLIC **', creationData: 'TPM2B_CREATION_DATA **', creationHash: 'TPM2B_DIGEST **', creationTicket: 'TPMT_TK_CREATION **') -> "TSS2_RC":
    """Esys_Create(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_CREATE inSensitive, TPM2B_PUBLIC inPublic, TPM2B_DATA outsideInfo, TPML_PCR_SELECTION creationPCR, TPM2B_PRIVATE ** outPrivate, TPM2B_PUBLIC ** outPublic, TPM2B_CREATION_DATA ** creationData, TPM2B_DIGEST ** creationHash, TPMT_TK_CREATION ** creationTicket) -> TSS2_RC"""
    return _esys_binding.Esys_Create(esysContext, parentHandle, shandle1, shandle2, shandle3, inSensitive, inPublic, outsideInfo, creationPCR, outPrivate, outPublic, creationData, creationHash, creationTicket)

def Esys_Create_Async(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inSensitive: 'TPM2B_SENSITIVE_CREATE', inPublic: 'TPM2B_PUBLIC', outsideInfo: 'TPM2B_DATA', creationPCR: 'TPML_PCR_SELECTION') -> "TSS2_RC":
    """Esys_Create_Async(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_CREATE inSensitive, TPM2B_PUBLIC inPublic, TPM2B_DATA outsideInfo, TPML_PCR_SELECTION creationPCR) -> TSS2_RC"""
    return _esys_binding.Esys_Create_Async(esysContext, parentHandle, shandle1, shandle2, shandle3, inSensitive, inPublic, outsideInfo, creationPCR)

def Esys_Create_Finish(esysContext: 'ESYS_CONTEXT *', outPrivate: 'TPM2B_PRIVATE **', outPublic: 'TPM2B_PUBLIC **', creationData: 'TPM2B_CREATION_DATA **', creationHash: 'TPM2B_DIGEST **', creationTicket: 'TPMT_TK_CREATION **') -> "TSS2_RC":
    """Esys_Create_Finish(ESYS_CONTEXT * esysContext, TPM2B_PRIVATE ** outPrivate, TPM2B_PUBLIC ** outPublic, TPM2B_CREATION_DATA ** creationData, TPM2B_DIGEST ** creationHash, TPMT_TK_CREATION ** creationTicket) -> TSS2_RC"""
    return _esys_binding.Esys_Create_Finish(esysContext, outPrivate, outPublic, creationData, creationHash, creationTicket)

def Esys_Load(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inPrivate: 'TPM2B_PRIVATE', inPublic: 'TPM2B_PUBLIC', objectHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_Load(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PRIVATE inPrivate, TPM2B_PUBLIC inPublic, unsigned int * objectHandle) -> TSS2_RC"""
    return _esys_binding.Esys_Load(esysContext, parentHandle, shandle1, shandle2, shandle3, inPrivate, inPublic, objectHandle)

def Esys_Load_Async(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inPrivate: 'TPM2B_PRIVATE', inPublic: 'TPM2B_PUBLIC') -> "TSS2_RC":
    """Esys_Load_Async(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PRIVATE inPrivate, TPM2B_PUBLIC inPublic) -> TSS2_RC"""
    return _esys_binding.Esys_Load_Async(esysContext, parentHandle, shandle1, shandle2, shandle3, inPrivate, inPublic)

def Esys_Load_Finish(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_Load_Finish(ESYS_CONTEXT * esysContext, unsigned int * objectHandle) -> TSS2_RC"""
    return _esys_binding.Esys_Load_Finish(esysContext, objectHandle)

def Esys_LoadExternal(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inPrivate: 'TPM2B_SENSITIVE', inPublic: 'TPM2B_PUBLIC', hierarchy: 'TPMI_RH_HIERARCHY', objectHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_LoadExternal(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE inPrivate, TPM2B_PUBLIC inPublic, TPMI_RH_HIERARCHY hierarchy, unsigned int * objectHandle) -> TSS2_RC"""
    return _esys_binding.Esys_LoadExternal(esysContext, shandle1, shandle2, shandle3, inPrivate, inPublic, hierarchy, objectHandle)

def Esys_LoadExternal_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inPrivate: 'TPM2B_SENSITIVE', inPublic: 'TPM2B_PUBLIC', hierarchy: 'TPMI_RH_HIERARCHY') -> "TSS2_RC":
    """Esys_LoadExternal_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE inPrivate, TPM2B_PUBLIC inPublic, TPMI_RH_HIERARCHY hierarchy) -> TSS2_RC"""
    return _esys_binding.Esys_LoadExternal_Async(esysContext, shandle1, shandle2, shandle3, inPrivate, inPublic, hierarchy)

def Esys_LoadExternal_Finish(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_LoadExternal_Finish(ESYS_CONTEXT * esysContext, unsigned int * objectHandle) -> TSS2_RC"""
    return _esys_binding.Esys_LoadExternal_Finish(esysContext, objectHandle)

def Esys_ReadPublic(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', outPublic: 'TPM2B_PUBLIC **', name: 'TPM2B_NAME **', qualifiedName: 'TPM2B_NAME **') -> "TSS2_RC":
    """Esys_ReadPublic(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PUBLIC ** outPublic, TPM2B_NAME ** name, TPM2B_NAME ** qualifiedName) -> TSS2_RC"""
    return _esys_binding.Esys_ReadPublic(esysContext, objectHandle, shandle1, shandle2, shandle3, outPublic, name, qualifiedName)

def Esys_ReadPublic_Async(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_ReadPublic_Async(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_ReadPublic_Async(esysContext, objectHandle, shandle1, shandle2, shandle3)

def Esys_ReadPublic_Finish(esysContext: 'ESYS_CONTEXT *', outPublic: 'TPM2B_PUBLIC **', name: 'TPM2B_NAME **', qualifiedName: 'TPM2B_NAME **') -> "TSS2_RC":
    """Esys_ReadPublic_Finish(ESYS_CONTEXT * esysContext, TPM2B_PUBLIC ** outPublic, TPM2B_NAME ** name, TPM2B_NAME ** qualifiedName) -> TSS2_RC"""
    return _esys_binding.Esys_ReadPublic_Finish(esysContext, outPublic, name, qualifiedName)

def Esys_ActivateCredential(esysContext: 'ESYS_CONTEXT *', activateHandle: 'unsigned int', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', credentialBlob: 'TPM2B_ID_OBJECT', secret: 'TPM2B_ENCRYPTED_SECRET', certInfo: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_ActivateCredential(ESYS_CONTEXT * esysContext, unsigned int activateHandle, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ID_OBJECT credentialBlob, TPM2B_ENCRYPTED_SECRET secret, TPM2B_DIGEST ** certInfo) -> TSS2_RC"""
    return _esys_binding.Esys_ActivateCredential(esysContext, activateHandle, keyHandle, shandle1, shandle2, shandle3, credentialBlob, secret, certInfo)

def Esys_ActivateCredential_Async(esysContext: 'ESYS_CONTEXT *', activateHandle: 'unsigned int', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', credentialBlob: 'TPM2B_ID_OBJECT', secret: 'TPM2B_ENCRYPTED_SECRET') -> "TSS2_RC":
    """Esys_ActivateCredential_Async(ESYS_CONTEXT * esysContext, unsigned int activateHandle, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ID_OBJECT credentialBlob, TPM2B_ENCRYPTED_SECRET secret) -> TSS2_RC"""
    return _esys_binding.Esys_ActivateCredential_Async(esysContext, activateHandle, keyHandle, shandle1, shandle2, shandle3, credentialBlob, secret)

def Esys_ActivateCredential_Finish(esysContext: 'ESYS_CONTEXT *', certInfo: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_ActivateCredential_Finish(ESYS_CONTEXT * esysContext, TPM2B_DIGEST ** certInfo) -> TSS2_RC"""
    return _esys_binding.Esys_ActivateCredential_Finish(esysContext, certInfo)

def Esys_MakeCredential(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', credential: 'TPM2B_DIGEST', objectName: 'TPM2B_NAME', credentialBlob: 'TPM2B_ID_OBJECT **', secret: 'TPM2B_ENCRYPTED_SECRET **') -> "TSS2_RC":
    """Esys_MakeCredential(ESYS_CONTEXT * esysContext, unsigned int handle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST credential, TPM2B_NAME objectName, TPM2B_ID_OBJECT ** credentialBlob, TPM2B_ENCRYPTED_SECRET ** secret) -> TSS2_RC"""
    return _esys_binding.Esys_MakeCredential(esysContext, handle, shandle1, shandle2, shandle3, credential, objectName, credentialBlob, secret)

def Esys_MakeCredential_Async(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', credential: 'TPM2B_DIGEST', objectName: 'TPM2B_NAME') -> "TSS2_RC":
    """Esys_MakeCredential_Async(ESYS_CONTEXT * esysContext, unsigned int handle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST credential, TPM2B_NAME objectName) -> TSS2_RC"""
    return _esys_binding.Esys_MakeCredential_Async(esysContext, handle, shandle1, shandle2, shandle3, credential, objectName)

def Esys_MakeCredential_Finish(esysContext: 'ESYS_CONTEXT *', credentialBlob: 'TPM2B_ID_OBJECT **', secret: 'TPM2B_ENCRYPTED_SECRET **') -> "TSS2_RC":
    """Esys_MakeCredential_Finish(ESYS_CONTEXT * esysContext, TPM2B_ID_OBJECT ** credentialBlob, TPM2B_ENCRYPTED_SECRET ** secret) -> TSS2_RC"""
    return _esys_binding.Esys_MakeCredential_Finish(esysContext, credentialBlob, secret)

def Esys_Unseal(esysContext: 'ESYS_CONTEXT *', itemHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', outData: 'TPM2B_SENSITIVE_DATA **') -> "TSS2_RC":
    """Esys_Unseal(ESYS_CONTEXT * esysContext, unsigned int itemHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_DATA ** outData) -> TSS2_RC"""
    return _esys_binding.Esys_Unseal(esysContext, itemHandle, shandle1, shandle2, shandle3, outData)

def Esys_Unseal_Async(esysContext: 'ESYS_CONTEXT *', itemHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_Unseal_Async(ESYS_CONTEXT * esysContext, unsigned int itemHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_Unseal_Async(esysContext, itemHandle, shandle1, shandle2, shandle3)

def Esys_Unseal_Finish(esysContext: 'ESYS_CONTEXT *', outData: 'TPM2B_SENSITIVE_DATA **') -> "TSS2_RC":
    """Esys_Unseal_Finish(ESYS_CONTEXT * esysContext, TPM2B_SENSITIVE_DATA ** outData) -> TSS2_RC"""
    return _esys_binding.Esys_Unseal_Finish(esysContext, outData)

def Esys_ObjectChangeAuth(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newAuth: 'TPM2B_DIGEST', outPrivate: 'TPM2B_PRIVATE **') -> "TSS2_RC":
    """Esys_ObjectChangeAuth(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST newAuth, TPM2B_PRIVATE ** outPrivate) -> TSS2_RC"""
    return _esys_binding.Esys_ObjectChangeAuth(esysContext, objectHandle, parentHandle, shandle1, shandle2, shandle3, newAuth, outPrivate)

def Esys_ObjectChangeAuth_Async(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newAuth: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_ObjectChangeAuth_Async(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST newAuth) -> TSS2_RC"""
    return _esys_binding.Esys_ObjectChangeAuth_Async(esysContext, objectHandle, parentHandle, shandle1, shandle2, shandle3, newAuth)

def Esys_ObjectChangeAuth_Finish(esysContext: 'ESYS_CONTEXT *', outPrivate: 'TPM2B_PRIVATE **') -> "TSS2_RC":
    """Esys_ObjectChangeAuth_Finish(ESYS_CONTEXT * esysContext, TPM2B_PRIVATE ** outPrivate) -> TSS2_RC"""
    return _esys_binding.Esys_ObjectChangeAuth_Finish(esysContext, outPrivate)

def Esys_CreateLoaded(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inSensitive: 'TPM2B_SENSITIVE_CREATE', inPublic: 'TPM2B_TEMPLATE', objectHandle: 'unsigned int *', outPrivate: 'TPM2B_PRIVATE **', outPublic: 'TPM2B_PUBLIC **') -> "TSS2_RC":
    """Esys_CreateLoaded(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_CREATE inSensitive, TPM2B_TEMPLATE inPublic, unsigned int * objectHandle, TPM2B_PRIVATE ** outPrivate, TPM2B_PUBLIC ** outPublic) -> TSS2_RC"""
    return _esys_binding.Esys_CreateLoaded(esysContext, parentHandle, shandle1, shandle2, shandle3, inSensitive, inPublic, objectHandle, outPrivate, outPublic)

def Esys_CreateLoaded_Async(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inSensitive: 'TPM2B_SENSITIVE_CREATE', inPublic: 'TPM2B_TEMPLATE') -> "TSS2_RC":
    """Esys_CreateLoaded_Async(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_CREATE inSensitive, TPM2B_TEMPLATE inPublic) -> TSS2_RC"""
    return _esys_binding.Esys_CreateLoaded_Async(esysContext, parentHandle, shandle1, shandle2, shandle3, inSensitive, inPublic)

def Esys_CreateLoaded_Finish(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int *', outPrivate: 'TPM2B_PRIVATE **', outPublic: 'TPM2B_PUBLIC **') -> "TSS2_RC":
    """Esys_CreateLoaded_Finish(ESYS_CONTEXT * esysContext, unsigned int * objectHandle, TPM2B_PRIVATE ** outPrivate, TPM2B_PUBLIC ** outPublic) -> TSS2_RC"""
    return _esys_binding.Esys_CreateLoaded_Finish(esysContext, objectHandle, outPrivate, outPublic)

def Esys_Duplicate(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', newParentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', encryptionKeyIn: 'TPM2B_DATA', symmetricAlg: 'TPMT_SYM_DEF_OBJECT', encryptionKeyOut: 'TPM2B_DATA **', duplicate: 'TPM2B_PRIVATE **', outSymSeed: 'TPM2B_ENCRYPTED_SECRET **') -> "TSS2_RC":
    """Esys_Duplicate(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int newParentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA encryptionKeyIn, TPMT_SYM_DEF_OBJECT symmetricAlg, TPM2B_DATA ** encryptionKeyOut, TPM2B_PRIVATE ** duplicate, TPM2B_ENCRYPTED_SECRET ** outSymSeed) -> TSS2_RC"""
    return _esys_binding.Esys_Duplicate(esysContext, objectHandle, newParentHandle, shandle1, shandle2, shandle3, encryptionKeyIn, symmetricAlg, encryptionKeyOut, duplicate, outSymSeed)

def Esys_Duplicate_Async(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', newParentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', encryptionKeyIn: 'TPM2B_DATA', symmetricAlg: 'TPMT_SYM_DEF_OBJECT') -> "TSS2_RC":
    """Esys_Duplicate_Async(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int newParentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA encryptionKeyIn, TPMT_SYM_DEF_OBJECT symmetricAlg) -> TSS2_RC"""
    return _esys_binding.Esys_Duplicate_Async(esysContext, objectHandle, newParentHandle, shandle1, shandle2, shandle3, encryptionKeyIn, symmetricAlg)

def Esys_Duplicate_Finish(esysContext: 'ESYS_CONTEXT *', encryptionKeyOut: 'TPM2B_DATA **', duplicate: 'TPM2B_PRIVATE **', outSymSeed: 'TPM2B_ENCRYPTED_SECRET **') -> "TSS2_RC":
    """Esys_Duplicate_Finish(ESYS_CONTEXT * esysContext, TPM2B_DATA ** encryptionKeyOut, TPM2B_PRIVATE ** duplicate, TPM2B_ENCRYPTED_SECRET ** outSymSeed) -> TSS2_RC"""
    return _esys_binding.Esys_Duplicate_Finish(esysContext, encryptionKeyOut, duplicate, outSymSeed)

def Esys_Rewrap(esysContext: 'ESYS_CONTEXT *', oldParent: 'unsigned int', newParent: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inDuplicate: 'TPM2B_PRIVATE', name: 'TPM2B_NAME', inSymSeed: 'TPM2B_ENCRYPTED_SECRET', outDuplicate: 'TPM2B_PRIVATE **', outSymSeed: 'TPM2B_ENCRYPTED_SECRET **') -> "TSS2_RC":
    """Esys_Rewrap(ESYS_CONTEXT * esysContext, unsigned int oldParent, unsigned int newParent, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PRIVATE inDuplicate, TPM2B_NAME name, TPM2B_ENCRYPTED_SECRET inSymSeed, TPM2B_PRIVATE ** outDuplicate, TPM2B_ENCRYPTED_SECRET ** outSymSeed) -> TSS2_RC"""
    return _esys_binding.Esys_Rewrap(esysContext, oldParent, newParent, shandle1, shandle2, shandle3, inDuplicate, name, inSymSeed, outDuplicate, outSymSeed)

def Esys_Rewrap_Async(esysContext: 'ESYS_CONTEXT *', oldParent: 'unsigned int', newParent: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inDuplicate: 'TPM2B_PRIVATE', name: 'TPM2B_NAME', inSymSeed: 'TPM2B_ENCRYPTED_SECRET') -> "TSS2_RC":
    """Esys_Rewrap_Async(ESYS_CONTEXT * esysContext, unsigned int oldParent, unsigned int newParent, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PRIVATE inDuplicate, TPM2B_NAME name, TPM2B_ENCRYPTED_SECRET inSymSeed) -> TSS2_RC"""
    return _esys_binding.Esys_Rewrap_Async(esysContext, oldParent, newParent, shandle1, shandle2, shandle3, inDuplicate, name, inSymSeed)

def Esys_Rewrap_Finish(esysContext: 'ESYS_CONTEXT *', outDuplicate: 'TPM2B_PRIVATE **', outSymSeed: 'TPM2B_ENCRYPTED_SECRET **') -> "TSS2_RC":
    """Esys_Rewrap_Finish(ESYS_CONTEXT * esysContext, TPM2B_PRIVATE ** outDuplicate, TPM2B_ENCRYPTED_SECRET ** outSymSeed) -> TSS2_RC"""
    return _esys_binding.Esys_Rewrap_Finish(esysContext, outDuplicate, outSymSeed)

def Esys_Import(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', encryptionKey: 'TPM2B_DATA', objectPublic: 'TPM2B_PUBLIC', duplicate: 'TPM2B_PRIVATE', inSymSeed: 'TPM2B_ENCRYPTED_SECRET', symmetricAlg: 'TPMT_SYM_DEF_OBJECT', outPrivate: 'TPM2B_PRIVATE **') -> "TSS2_RC":
    """Esys_Import(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA encryptionKey, TPM2B_PUBLIC objectPublic, TPM2B_PRIVATE duplicate, TPM2B_ENCRYPTED_SECRET inSymSeed, TPMT_SYM_DEF_OBJECT symmetricAlg, TPM2B_PRIVATE ** outPrivate) -> TSS2_RC"""
    return _esys_binding.Esys_Import(esysContext, parentHandle, shandle1, shandle2, shandle3, encryptionKey, objectPublic, duplicate, inSymSeed, symmetricAlg, outPrivate)

def Esys_Import_Async(esysContext: 'ESYS_CONTEXT *', parentHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', encryptionKey: 'TPM2B_DATA', objectPublic: 'TPM2B_PUBLIC', duplicate: 'TPM2B_PRIVATE', inSymSeed: 'TPM2B_ENCRYPTED_SECRET', symmetricAlg: 'TPMT_SYM_DEF_OBJECT') -> "TSS2_RC":
    """Esys_Import_Async(ESYS_CONTEXT * esysContext, unsigned int parentHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA encryptionKey, TPM2B_PUBLIC objectPublic, TPM2B_PRIVATE duplicate, TPM2B_ENCRYPTED_SECRET inSymSeed, TPMT_SYM_DEF_OBJECT symmetricAlg) -> TSS2_RC"""
    return _esys_binding.Esys_Import_Async(esysContext, parentHandle, shandle1, shandle2, shandle3, encryptionKey, objectPublic, duplicate, inSymSeed, symmetricAlg)

def Esys_Import_Finish(esysContext: 'ESYS_CONTEXT *', outPrivate: 'TPM2B_PRIVATE **') -> "TSS2_RC":
    """Esys_Import_Finish(ESYS_CONTEXT * esysContext, TPM2B_PRIVATE ** outPrivate) -> TSS2_RC"""
    return _esys_binding.Esys_Import_Finish(esysContext, outPrivate)

def Esys_RSA_Encrypt(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', message: 'TPM2B_PUBLIC_KEY_RSA', inScheme: 'TPMT_RSA_DECRYPT', label: 'TPM2B_DATA', outData: 'TPM2B_PUBLIC_KEY_RSA **') -> "TSS2_RC":
    """Esys_RSA_Encrypt(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PUBLIC_KEY_RSA message, TPMT_RSA_DECRYPT inScheme, TPM2B_DATA label, TPM2B_PUBLIC_KEY_RSA ** outData) -> TSS2_RC"""
    return _esys_binding.Esys_RSA_Encrypt(esysContext, keyHandle, shandle1, shandle2, shandle3, message, inScheme, label, outData)

def Esys_RSA_Encrypt_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', message: 'TPM2B_PUBLIC_KEY_RSA', inScheme: 'TPMT_RSA_DECRYPT', label: 'TPM2B_DATA') -> "TSS2_RC":
    """Esys_RSA_Encrypt_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PUBLIC_KEY_RSA message, TPMT_RSA_DECRYPT inScheme, TPM2B_DATA label) -> TSS2_RC"""
    return _esys_binding.Esys_RSA_Encrypt_Async(esysContext, keyHandle, shandle1, shandle2, shandle3, message, inScheme, label)

def Esys_RSA_Encrypt_Finish(esysContext: 'ESYS_CONTEXT *', outData: 'TPM2B_PUBLIC_KEY_RSA **') -> "TSS2_RC":
    """Esys_RSA_Encrypt_Finish(ESYS_CONTEXT * esysContext, TPM2B_PUBLIC_KEY_RSA ** outData) -> TSS2_RC"""
    return _esys_binding.Esys_RSA_Encrypt_Finish(esysContext, outData)

def Esys_RSA_Decrypt(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', cipherText: 'TPM2B_PUBLIC_KEY_RSA', inScheme: 'TPMT_RSA_DECRYPT', label: 'TPM2B_DATA', message: 'TPM2B_PUBLIC_KEY_RSA **') -> "TSS2_RC":
    """Esys_RSA_Decrypt(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PUBLIC_KEY_RSA cipherText, TPMT_RSA_DECRYPT inScheme, TPM2B_DATA label, TPM2B_PUBLIC_KEY_RSA ** message) -> TSS2_RC"""
    return _esys_binding.Esys_RSA_Decrypt(esysContext, keyHandle, shandle1, shandle2, shandle3, cipherText, inScheme, label, message)

def Esys_RSA_Decrypt_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', cipherText: 'TPM2B_PUBLIC_KEY_RSA', inScheme: 'TPMT_RSA_DECRYPT', label: 'TPM2B_DATA') -> "TSS2_RC":
    """Esys_RSA_Decrypt_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_PUBLIC_KEY_RSA cipherText, TPMT_RSA_DECRYPT inScheme, TPM2B_DATA label) -> TSS2_RC"""
    return _esys_binding.Esys_RSA_Decrypt_Async(esysContext, keyHandle, shandle1, shandle2, shandle3, cipherText, inScheme, label)

def Esys_RSA_Decrypt_Finish(esysContext: 'ESYS_CONTEXT *', message: 'TPM2B_PUBLIC_KEY_RSA **') -> "TSS2_RC":
    """Esys_RSA_Decrypt_Finish(ESYS_CONTEXT * esysContext, TPM2B_PUBLIC_KEY_RSA ** message) -> TSS2_RC"""
    return _esys_binding.Esys_RSA_Decrypt_Finish(esysContext, message)

def Esys_ECDH_KeyGen(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', zPoint: 'TPM2B_ECC_POINT **', pubPoint: 'TPM2B_ECC_POINT **') -> "TSS2_RC":
    """Esys_ECDH_KeyGen(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ECC_POINT ** zPoint, TPM2B_ECC_POINT ** pubPoint) -> TSS2_RC"""
    return _esys_binding.Esys_ECDH_KeyGen(esysContext, keyHandle, shandle1, shandle2, shandle3, zPoint, pubPoint)

def Esys_ECDH_KeyGen_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_ECDH_KeyGen_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_ECDH_KeyGen_Async(esysContext, keyHandle, shandle1, shandle2, shandle3)

def Esys_ECDH_KeyGen_Finish(esysContext: 'ESYS_CONTEXT *', zPoint: 'TPM2B_ECC_POINT **', pubPoint: 'TPM2B_ECC_POINT **') -> "TSS2_RC":
    """Esys_ECDH_KeyGen_Finish(ESYS_CONTEXT * esysContext, TPM2B_ECC_POINT ** zPoint, TPM2B_ECC_POINT ** pubPoint) -> TSS2_RC"""
    return _esys_binding.Esys_ECDH_KeyGen_Finish(esysContext, zPoint, pubPoint)

def Esys_ECDH_ZGen(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inPoint: 'TPM2B_ECC_POINT', outPoint: 'TPM2B_ECC_POINT **') -> "TSS2_RC":
    """Esys_ECDH_ZGen(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ECC_POINT inPoint, TPM2B_ECC_POINT ** outPoint) -> TSS2_RC"""
    return _esys_binding.Esys_ECDH_ZGen(esysContext, keyHandle, shandle1, shandle2, shandle3, inPoint, outPoint)

def Esys_ECDH_ZGen_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inPoint: 'TPM2B_ECC_POINT') -> "TSS2_RC":
    """Esys_ECDH_ZGen_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ECC_POINT inPoint) -> TSS2_RC"""
    return _esys_binding.Esys_ECDH_ZGen_Async(esysContext, keyHandle, shandle1, shandle2, shandle3, inPoint)

def Esys_ECDH_ZGen_Finish(esysContext: 'ESYS_CONTEXT *', outPoint: 'TPM2B_ECC_POINT **') -> "TSS2_RC":
    """Esys_ECDH_ZGen_Finish(ESYS_CONTEXT * esysContext, TPM2B_ECC_POINT ** outPoint) -> TSS2_RC"""
    return _esys_binding.Esys_ECDH_ZGen_Finish(esysContext, outPoint)

def Esys_ECC_Parameters(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', curveID: 'TPMI_ECC_CURVE', parameters: 'TPMS_ALGORITHM_DETAIL_ECC **') -> "TSS2_RC":
    """Esys_ECC_Parameters(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_ECC_CURVE curveID, TPMS_ALGORITHM_DETAIL_ECC ** parameters) -> TSS2_RC"""
    return _esys_binding.Esys_ECC_Parameters(esysContext, shandle1, shandle2, shandle3, curveID, parameters)

def Esys_ECC_Parameters_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', curveID: 'TPMI_ECC_CURVE') -> "TSS2_RC":
    """Esys_ECC_Parameters_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_ECC_CURVE curveID) -> TSS2_RC"""
    return _esys_binding.Esys_ECC_Parameters_Async(esysContext, shandle1, shandle2, shandle3, curveID)

def Esys_ECC_Parameters_Finish(esysContext: 'ESYS_CONTEXT *', parameters: 'TPMS_ALGORITHM_DETAIL_ECC **') -> "TSS2_RC":
    """Esys_ECC_Parameters_Finish(ESYS_CONTEXT * esysContext, TPMS_ALGORITHM_DETAIL_ECC ** parameters) -> TSS2_RC"""
    return _esys_binding.Esys_ECC_Parameters_Finish(esysContext, parameters)

def Esys_ZGen_2Phase(esysContext: 'ESYS_CONTEXT *', keyA: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inQsB: 'TPM2B_ECC_POINT', inQeB: 'TPM2B_ECC_POINT', inScheme: 'TPMI_ECC_KEY_EXCHANGE', counter: 'UINT16', outZ1: 'TPM2B_ECC_POINT **', outZ2: 'TPM2B_ECC_POINT **') -> "TSS2_RC":
    """Esys_ZGen_2Phase(ESYS_CONTEXT * esysContext, unsigned int keyA, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ECC_POINT inQsB, TPM2B_ECC_POINT inQeB, TPMI_ECC_KEY_EXCHANGE inScheme, UINT16 counter, TPM2B_ECC_POINT ** outZ1, TPM2B_ECC_POINT ** outZ2) -> TSS2_RC"""
    return _esys_binding.Esys_ZGen_2Phase(esysContext, keyA, shandle1, shandle2, shandle3, inQsB, inQeB, inScheme, counter, outZ1, outZ2)

def Esys_ZGen_2Phase_Async(esysContext: 'ESYS_CONTEXT *', keyA: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inQsB: 'TPM2B_ECC_POINT', inQeB: 'TPM2B_ECC_POINT', inScheme: 'TPMI_ECC_KEY_EXCHANGE', counter: 'UINT16') -> "TSS2_RC":
    """Esys_ZGen_2Phase_Async(ESYS_CONTEXT * esysContext, unsigned int keyA, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ECC_POINT inQsB, TPM2B_ECC_POINT inQeB, TPMI_ECC_KEY_EXCHANGE inScheme, UINT16 counter) -> TSS2_RC"""
    return _esys_binding.Esys_ZGen_2Phase_Async(esysContext, keyA, shandle1, shandle2, shandle3, inQsB, inQeB, inScheme, counter)

def Esys_ZGen_2Phase_Finish(esysContext: 'ESYS_CONTEXT *', outZ1: 'TPM2B_ECC_POINT **', outZ2: 'TPM2B_ECC_POINT **') -> "TSS2_RC":
    """Esys_ZGen_2Phase_Finish(ESYS_CONTEXT * esysContext, TPM2B_ECC_POINT ** outZ1, TPM2B_ECC_POINT ** outZ2) -> TSS2_RC"""
    return _esys_binding.Esys_ZGen_2Phase_Finish(esysContext, outZ1, outZ2)

def Esys_EncryptDecrypt(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', decrypt: 'TPMI_YES_NO', mode: 'TPMI_ALG_SYM_MODE', ivIn: 'TPM2B_IV', inData: 'TPM2B_MAX_BUFFER', outData: 'TPM2B_MAX_BUFFER **', ivOut: 'TPM2B_IV **') -> "TSS2_RC":
    """Esys_EncryptDecrypt(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO decrypt, TPMI_ALG_SYM_MODE mode, TPM2B_IV ivIn, TPM2B_MAX_BUFFER inData, TPM2B_MAX_BUFFER ** outData, TPM2B_IV ** ivOut) -> TSS2_RC"""
    return _esys_binding.Esys_EncryptDecrypt(esysContext, keyHandle, shandle1, shandle2, shandle3, decrypt, mode, ivIn, inData, outData, ivOut)

def Esys_EncryptDecrypt_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', decrypt: 'TPMI_YES_NO', mode: 'TPMI_ALG_SYM_MODE', ivIn: 'TPM2B_IV', inData: 'TPM2B_MAX_BUFFER') -> "TSS2_RC":
    """Esys_EncryptDecrypt_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO decrypt, TPMI_ALG_SYM_MODE mode, TPM2B_IV ivIn, TPM2B_MAX_BUFFER inData) -> TSS2_RC"""
    return _esys_binding.Esys_EncryptDecrypt_Async(esysContext, keyHandle, shandle1, shandle2, shandle3, decrypt, mode, ivIn, inData)

def Esys_EncryptDecrypt_Finish(esysContext: 'ESYS_CONTEXT *', outData: 'TPM2B_MAX_BUFFER **', ivOut: 'TPM2B_IV **') -> "TSS2_RC":
    """Esys_EncryptDecrypt_Finish(ESYS_CONTEXT * esysContext, TPM2B_MAX_BUFFER ** outData, TPM2B_IV ** ivOut) -> TSS2_RC"""
    return _esys_binding.Esys_EncryptDecrypt_Finish(esysContext, outData, ivOut)

def Esys_EncryptDecrypt2(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inData: 'TPM2B_MAX_BUFFER', decrypt: 'TPMI_YES_NO', mode: 'TPMI_ALG_SYM_MODE', ivIn: 'TPM2B_IV', outData: 'TPM2B_MAX_BUFFER **', ivOut: 'TPM2B_IV **') -> "TSS2_RC":
    """Esys_EncryptDecrypt2(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER inData, TPMI_YES_NO decrypt, TPMI_ALG_SYM_MODE mode, TPM2B_IV ivIn, TPM2B_MAX_BUFFER ** outData, TPM2B_IV ** ivOut) -> TSS2_RC"""
    return _esys_binding.Esys_EncryptDecrypt2(esysContext, keyHandle, shandle1, shandle2, shandle3, inData, decrypt, mode, ivIn, outData, ivOut)

def Esys_EncryptDecrypt2_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inData: 'TPM2B_MAX_BUFFER', decrypt: 'TPMI_YES_NO', mode: 'TPMI_ALG_SYM_MODE', ivIn: 'TPM2B_IV') -> "TSS2_RC":
    """Esys_EncryptDecrypt2_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER inData, TPMI_YES_NO decrypt, TPMI_ALG_SYM_MODE mode, TPM2B_IV ivIn) -> TSS2_RC"""
    return _esys_binding.Esys_EncryptDecrypt2_Async(esysContext, keyHandle, shandle1, shandle2, shandle3, inData, decrypt, mode, ivIn)

def Esys_EncryptDecrypt2_Finish(esysContext: 'ESYS_CONTEXT *', outData: 'TPM2B_MAX_BUFFER **', ivOut: 'TPM2B_IV **') -> "TSS2_RC":
    """Esys_EncryptDecrypt2_Finish(ESYS_CONTEXT * esysContext, TPM2B_MAX_BUFFER ** outData, TPM2B_IV ** ivOut) -> TSS2_RC"""
    return _esys_binding.Esys_EncryptDecrypt2_Finish(esysContext, outData, ivOut)

def Esys_Hash(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', data: 'TPM2B_MAX_BUFFER', hashAlg: 'TPMI_ALG_HASH', hierarchy: 'TPMI_RH_HIERARCHY', outHash: 'TPM2B_DIGEST **', validation: 'TPMT_TK_HASHCHECK **') -> "TSS2_RC":
    """Esys_Hash(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER data, TPMI_ALG_HASH hashAlg, TPMI_RH_HIERARCHY hierarchy, TPM2B_DIGEST ** outHash, TPMT_TK_HASHCHECK ** validation) -> TSS2_RC"""
    return _esys_binding.Esys_Hash(esysContext, shandle1, shandle2, shandle3, data, hashAlg, hierarchy, outHash, validation)

def Esys_Hash_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', data: 'TPM2B_MAX_BUFFER', hashAlg: 'TPMI_ALG_HASH', hierarchy: 'TPMI_RH_HIERARCHY') -> "TSS2_RC":
    """Esys_Hash_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER data, TPMI_ALG_HASH hashAlg, TPMI_RH_HIERARCHY hierarchy) -> TSS2_RC"""
    return _esys_binding.Esys_Hash_Async(esysContext, shandle1, shandle2, shandle3, data, hashAlg, hierarchy)

def Esys_Hash_Finish(esysContext: 'ESYS_CONTEXT *', outHash: 'TPM2B_DIGEST **', validation: 'TPMT_TK_HASHCHECK **') -> "TSS2_RC":
    """Esys_Hash_Finish(ESYS_CONTEXT * esysContext, TPM2B_DIGEST ** outHash, TPMT_TK_HASHCHECK ** validation) -> TSS2_RC"""
    return _esys_binding.Esys_Hash_Finish(esysContext, outHash, validation)

def Esys_HMAC(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER', hashAlg: 'TPMI_ALG_HASH', outHMAC: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_HMAC(ESYS_CONTEXT * esysContext, unsigned int handle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer, TPMI_ALG_HASH hashAlg, TPM2B_DIGEST ** outHMAC) -> TSS2_RC"""
    return _esys_binding.Esys_HMAC(esysContext, handle, shandle1, shandle2, shandle3, buffer, hashAlg, outHMAC)

def Esys_HMAC_Async(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER', hashAlg: 'TPMI_ALG_HASH') -> "TSS2_RC":
    """Esys_HMAC_Async(ESYS_CONTEXT * esysContext, unsigned int handle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer, TPMI_ALG_HASH hashAlg) -> TSS2_RC"""
    return _esys_binding.Esys_HMAC_Async(esysContext, handle, shandle1, shandle2, shandle3, buffer, hashAlg)

def Esys_HMAC_Finish(esysContext: 'ESYS_CONTEXT *', outHMAC: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_HMAC_Finish(ESYS_CONTEXT * esysContext, TPM2B_DIGEST ** outHMAC) -> TSS2_RC"""
    return _esys_binding.Esys_HMAC_Finish(esysContext, outHMAC)

def Esys_GetRandom(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', bytesRequested: 'UINT16', randomBytes: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_GetRandom(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT16 bytesRequested, TPM2B_DIGEST ** randomBytes) -> TSS2_RC"""
    return _esys_binding.Esys_GetRandom(esysContext, shandle1, shandle2, shandle3, bytesRequested, randomBytes)

def Esys_GetRandom_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', bytesRequested: 'UINT16') -> "TSS2_RC":
    """Esys_GetRandom_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT16 bytesRequested) -> TSS2_RC"""
    return _esys_binding.Esys_GetRandom_Async(esysContext, shandle1, shandle2, shandle3, bytesRequested)

def Esys_GetRandom_Finish(esysContext: 'ESYS_CONTEXT *', randomBytes: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_GetRandom_Finish(ESYS_CONTEXT * esysContext, TPM2B_DIGEST ** randomBytes) -> TSS2_RC"""
    return _esys_binding.Esys_GetRandom_Finish(esysContext, randomBytes)

def Esys_StirRandom(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inData: 'TPM2B_SENSITIVE_DATA') -> "TSS2_RC":
    """Esys_StirRandom(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_DATA inData) -> TSS2_RC"""
    return _esys_binding.Esys_StirRandom(esysContext, shandle1, shandle2, shandle3, inData)

def Esys_StirRandom_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inData: 'TPM2B_SENSITIVE_DATA') -> "TSS2_RC":
    """Esys_StirRandom_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_DATA inData) -> TSS2_RC"""
    return _esys_binding.Esys_StirRandom_Async(esysContext, shandle1, shandle2, shandle3, inData)

def Esys_StirRandom_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_StirRandom_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_StirRandom_Finish(esysContext)

def Esys_HMAC_Start(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH', sequenceHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_HMAC_Start(ESYS_CONTEXT * esysContext, unsigned int handle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth, TPMI_ALG_HASH hashAlg, unsigned int * sequenceHandle) -> TSS2_RC"""
    return _esys_binding.Esys_HMAC_Start(esysContext, handle, shandle1, shandle2, shandle3, auth, hashAlg, sequenceHandle)

def Esys_HMAC_Start_Async(esysContext: 'ESYS_CONTEXT *', handle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH') -> "TSS2_RC":
    """Esys_HMAC_Start_Async(ESYS_CONTEXT * esysContext, unsigned int handle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth, TPMI_ALG_HASH hashAlg) -> TSS2_RC"""
    return _esys_binding.Esys_HMAC_Start_Async(esysContext, handle, shandle1, shandle2, shandle3, auth, hashAlg)

def Esys_HMAC_Start_Finish(esysContext: 'ESYS_CONTEXT *', sequenceHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_HMAC_Start_Finish(ESYS_CONTEXT * esysContext, unsigned int * sequenceHandle) -> TSS2_RC"""
    return _esys_binding.Esys_HMAC_Start_Finish(esysContext, sequenceHandle)

def Esys_HashSequenceStart(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH', sequenceHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_HashSequenceStart(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth, TPMI_ALG_HASH hashAlg, unsigned int * sequenceHandle) -> TSS2_RC"""
    return _esys_binding.Esys_HashSequenceStart(esysContext, shandle1, shandle2, shandle3, auth, hashAlg, sequenceHandle)

def Esys_HashSequenceStart_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH') -> "TSS2_RC":
    """Esys_HashSequenceStart_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth, TPMI_ALG_HASH hashAlg) -> TSS2_RC"""
    return _esys_binding.Esys_HashSequenceStart_Async(esysContext, shandle1, shandle2, shandle3, auth, hashAlg)

def Esys_HashSequenceStart_Finish(esysContext: 'ESYS_CONTEXT *', sequenceHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_HashSequenceStart_Finish(ESYS_CONTEXT * esysContext, unsigned int * sequenceHandle) -> TSS2_RC"""
    return _esys_binding.Esys_HashSequenceStart_Finish(esysContext, sequenceHandle)

def Esys_SequenceUpdate(esysContext: 'ESYS_CONTEXT *', sequenceHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER') -> "TSS2_RC":
    """Esys_SequenceUpdate(ESYS_CONTEXT * esysContext, unsigned int sequenceHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer) -> TSS2_RC"""
    return _esys_binding.Esys_SequenceUpdate(esysContext, sequenceHandle, shandle1, shandle2, shandle3, buffer)

def Esys_SequenceUpdate_Async(esysContext: 'ESYS_CONTEXT *', sequenceHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER') -> "TSS2_RC":
    """Esys_SequenceUpdate_Async(ESYS_CONTEXT * esysContext, unsigned int sequenceHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer) -> TSS2_RC"""
    return _esys_binding.Esys_SequenceUpdate_Async(esysContext, sequenceHandle, shandle1, shandle2, shandle3, buffer)

def Esys_SequenceUpdate_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_SequenceUpdate_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_SequenceUpdate_Finish(esysContext)

def Esys_SequenceComplete(esysContext: 'ESYS_CONTEXT *', sequenceHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER', hierarchy: 'TPMI_RH_HIERARCHY', result: 'TPM2B_DIGEST **', validation: 'TPMT_TK_HASHCHECK **') -> "TSS2_RC":
    """Esys_SequenceComplete(ESYS_CONTEXT * esysContext, unsigned int sequenceHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer, TPMI_RH_HIERARCHY hierarchy, TPM2B_DIGEST ** result, TPMT_TK_HASHCHECK ** validation) -> TSS2_RC"""
    return _esys_binding.Esys_SequenceComplete(esysContext, sequenceHandle, shandle1, shandle2, shandle3, buffer, hierarchy, result, validation)

def Esys_SequenceComplete_Async(esysContext: 'ESYS_CONTEXT *', sequenceHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER', hierarchy: 'TPMI_RH_HIERARCHY') -> "TSS2_RC":
    """Esys_SequenceComplete_Async(ESYS_CONTEXT * esysContext, unsigned int sequenceHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer, TPMI_RH_HIERARCHY hierarchy) -> TSS2_RC"""
    return _esys_binding.Esys_SequenceComplete_Async(esysContext, sequenceHandle, shandle1, shandle2, shandle3, buffer, hierarchy)

def Esys_SequenceComplete_Finish(esysContext: 'ESYS_CONTEXT *', result: 'TPM2B_DIGEST **', validation: 'TPMT_TK_HASHCHECK **') -> "TSS2_RC":
    """Esys_SequenceComplete_Finish(ESYS_CONTEXT * esysContext, TPM2B_DIGEST ** result, TPMT_TK_HASHCHECK ** validation) -> TSS2_RC"""
    return _esys_binding.Esys_SequenceComplete_Finish(esysContext, result, validation)

def Esys_EventSequenceComplete(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', sequenceHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER', results: 'TPML_DIGEST_VALUES **') -> "TSS2_RC":
    """Esys_EventSequenceComplete(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int sequenceHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer, TPML_DIGEST_VALUES ** results) -> TSS2_RC"""
    return _esys_binding.Esys_EventSequenceComplete(esysContext, pcrHandle, sequenceHandle, shandle1, shandle2, shandle3, buffer, results)

def Esys_EventSequenceComplete_Async(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', sequenceHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', buffer: 'TPM2B_MAX_BUFFER') -> "TSS2_RC":
    """Esys_EventSequenceComplete_Async(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int sequenceHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER buffer) -> TSS2_RC"""
    return _esys_binding.Esys_EventSequenceComplete_Async(esysContext, pcrHandle, sequenceHandle, shandle1, shandle2, shandle3, buffer)

def Esys_EventSequenceComplete_Finish(esysContext: 'ESYS_CONTEXT *', results: 'TPML_DIGEST_VALUES **') -> "TSS2_RC":
    """Esys_EventSequenceComplete_Finish(ESYS_CONTEXT * esysContext, TPML_DIGEST_VALUES ** results) -> TSS2_RC"""
    return _esys_binding.Esys_EventSequenceComplete_Finish(esysContext, results)

def Esys_Certify(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', certifyInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_Certify(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, TPM2B_ATTEST ** certifyInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_Certify(esysContext, objectHandle, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme, certifyInfo, signature)

def Esys_Certify_Async(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME') -> "TSS2_RC":
    """Esys_Certify_Async(ESYS_CONTEXT * esysContext, unsigned int objectHandle, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme) -> TSS2_RC"""
    return _esys_binding.Esys_Certify_Async(esysContext, objectHandle, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme)

def Esys_Certify_Finish(esysContext: 'ESYS_CONTEXT *', certifyInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_Certify_Finish(ESYS_CONTEXT * esysContext, TPM2B_ATTEST ** certifyInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_Certify_Finish(esysContext, certifyInfo, signature)

def Esys_CertifyCreation(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', objectHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', creationHash: 'TPM2B_DIGEST', inScheme: 'TPMT_SIG_SCHEME', creationTicket: 'TPMT_TK_CREATION', certifyInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_CertifyCreation(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int objectHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPM2B_DIGEST creationHash, TPMT_SIG_SCHEME inScheme, TPMT_TK_CREATION creationTicket, TPM2B_ATTEST ** certifyInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_CertifyCreation(esysContext, signHandle, objectHandle, shandle1, shandle2, shandle3, qualifyingData, creationHash, inScheme, creationTicket, certifyInfo, signature)

def Esys_CertifyCreation_Async(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', objectHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', creationHash: 'TPM2B_DIGEST', inScheme: 'TPMT_SIG_SCHEME', creationTicket: 'TPMT_TK_CREATION') -> "TSS2_RC":
    """Esys_CertifyCreation_Async(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int objectHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPM2B_DIGEST creationHash, TPMT_SIG_SCHEME inScheme, TPMT_TK_CREATION creationTicket) -> TSS2_RC"""
    return _esys_binding.Esys_CertifyCreation_Async(esysContext, signHandle, objectHandle, shandle1, shandle2, shandle3, qualifyingData, creationHash, inScheme, creationTicket)

def Esys_CertifyCreation_Finish(esysContext: 'ESYS_CONTEXT *', certifyInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_CertifyCreation_Finish(ESYS_CONTEXT * esysContext, TPM2B_ATTEST ** certifyInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_CertifyCreation_Finish(esysContext, certifyInfo, signature)

def Esys_Quote(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', PCRselect: 'TPML_PCR_SELECTION', quoted: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_Quote(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, TPML_PCR_SELECTION PCRselect, TPM2B_ATTEST ** quoted, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_Quote(esysContext, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme, PCRselect, quoted, signature)

def Esys_Quote_Async(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', PCRselect: 'TPML_PCR_SELECTION') -> "TSS2_RC":
    """Esys_Quote_Async(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, TPML_PCR_SELECTION PCRselect) -> TSS2_RC"""
    return _esys_binding.Esys_Quote_Async(esysContext, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme, PCRselect)

def Esys_Quote_Finish(esysContext: 'ESYS_CONTEXT *', quoted: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_Quote_Finish(ESYS_CONTEXT * esysContext, TPM2B_ATTEST ** quoted, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_Quote_Finish(esysContext, quoted, signature)

def Esys_GetSessionAuditDigest(esysContext: 'ESYS_CONTEXT *', privacyAdminHandle: 'unsigned int', signHandle: 'unsigned int', sessionHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', auditInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_GetSessionAuditDigest(ESYS_CONTEXT * esysContext, unsigned int privacyAdminHandle, unsigned int signHandle, unsigned int sessionHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, TPM2B_ATTEST ** auditInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_GetSessionAuditDigest(esysContext, privacyAdminHandle, signHandle, sessionHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme, auditInfo, signature)

def Esys_GetSessionAuditDigest_Async(esysContext: 'ESYS_CONTEXT *', privacyAdminHandle: 'unsigned int', signHandle: 'unsigned int', sessionHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME') -> "TSS2_RC":
    """Esys_GetSessionAuditDigest_Async(ESYS_CONTEXT * esysContext, unsigned int privacyAdminHandle, unsigned int signHandle, unsigned int sessionHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme) -> TSS2_RC"""
    return _esys_binding.Esys_GetSessionAuditDigest_Async(esysContext, privacyAdminHandle, signHandle, sessionHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme)

def Esys_GetSessionAuditDigest_Finish(esysContext: 'ESYS_CONTEXT *', auditInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_GetSessionAuditDigest_Finish(ESYS_CONTEXT * esysContext, TPM2B_ATTEST ** auditInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_GetSessionAuditDigest_Finish(esysContext, auditInfo, signature)

def Esys_GetCommandAuditDigest(esysContext: 'ESYS_CONTEXT *', privacyHandle: 'unsigned int', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', auditInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_GetCommandAuditDigest(ESYS_CONTEXT * esysContext, unsigned int privacyHandle, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, TPM2B_ATTEST ** auditInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_GetCommandAuditDigest(esysContext, privacyHandle, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme, auditInfo, signature)

def Esys_GetCommandAuditDigest_Async(esysContext: 'ESYS_CONTEXT *', privacyHandle: 'unsigned int', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME') -> "TSS2_RC":
    """Esys_GetCommandAuditDigest_Async(ESYS_CONTEXT * esysContext, unsigned int privacyHandle, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme) -> TSS2_RC"""
    return _esys_binding.Esys_GetCommandAuditDigest_Async(esysContext, privacyHandle, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme)

def Esys_GetCommandAuditDigest_Finish(esysContext: 'ESYS_CONTEXT *', auditInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_GetCommandAuditDigest_Finish(ESYS_CONTEXT * esysContext, TPM2B_ATTEST ** auditInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_GetCommandAuditDigest_Finish(esysContext, auditInfo, signature)

def Esys_GetTime(esysContext: 'ESYS_CONTEXT *', privacyAdminHandle: 'unsigned int', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', timeInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_GetTime(ESYS_CONTEXT * esysContext, unsigned int privacyAdminHandle, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, TPM2B_ATTEST ** timeInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_GetTime(esysContext, privacyAdminHandle, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme, timeInfo, signature)

def Esys_GetTime_Async(esysContext: 'ESYS_CONTEXT *', privacyAdminHandle: 'unsigned int', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME') -> "TSS2_RC":
    """Esys_GetTime_Async(ESYS_CONTEXT * esysContext, unsigned int privacyAdminHandle, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme) -> TSS2_RC"""
    return _esys_binding.Esys_GetTime_Async(esysContext, privacyAdminHandle, signHandle, shandle1, shandle2, shandle3, qualifyingData, inScheme)

def Esys_GetTime_Finish(esysContext: 'ESYS_CONTEXT *', timeInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_GetTime_Finish(ESYS_CONTEXT * esysContext, TPM2B_ATTEST ** timeInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_GetTime_Finish(esysContext, timeInfo, signature)

def Esys_Commit(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', P1: 'TPM2B_ECC_POINT', s2: 'TPM2B_SENSITIVE_DATA', y2: 'TPM2B_ECC_PARAMETER', K: 'TPM2B_ECC_POINT **', L: 'TPM2B_ECC_POINT **', E: 'TPM2B_ECC_POINT **', counter: 'UINT16 *') -> "TSS2_RC":
    """Esys_Commit(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ECC_POINT P1, TPM2B_SENSITIVE_DATA s2, TPM2B_ECC_PARAMETER y2, TPM2B_ECC_POINT ** K, TPM2B_ECC_POINT ** L, TPM2B_ECC_POINT ** E, UINT16 * counter) -> TSS2_RC"""
    return _esys_binding.Esys_Commit(esysContext, signHandle, shandle1, shandle2, shandle3, P1, s2, y2, K, L, E, counter)

def Esys_Commit_Async(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', P1: 'TPM2B_ECC_POINT', s2: 'TPM2B_SENSITIVE_DATA', y2: 'TPM2B_ECC_PARAMETER') -> "TSS2_RC":
    """Esys_Commit_Async(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_ECC_POINT P1, TPM2B_SENSITIVE_DATA s2, TPM2B_ECC_PARAMETER y2) -> TSS2_RC"""
    return _esys_binding.Esys_Commit_Async(esysContext, signHandle, shandle1, shandle2, shandle3, P1, s2, y2)

def Esys_Commit_Finish(esysContext: 'ESYS_CONTEXT *', K: 'TPM2B_ECC_POINT **', L: 'TPM2B_ECC_POINT **', E: 'TPM2B_ECC_POINT **', counter: 'UINT16 *') -> "TSS2_RC":
    """Esys_Commit_Finish(ESYS_CONTEXT * esysContext, TPM2B_ECC_POINT ** K, TPM2B_ECC_POINT ** L, TPM2B_ECC_POINT ** E, UINT16 * counter) -> TSS2_RC"""
    return _esys_binding.Esys_Commit_Finish(esysContext, K, L, E, counter)

def Esys_EC_Ephemeral(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', curveID: 'TPMI_ECC_CURVE', Q: 'TPM2B_ECC_POINT **', counter: 'UINT16 *') -> "TSS2_RC":
    """Esys_EC_Ephemeral(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_ECC_CURVE curveID, TPM2B_ECC_POINT ** Q, UINT16 * counter) -> TSS2_RC"""
    return _esys_binding.Esys_EC_Ephemeral(esysContext, shandle1, shandle2, shandle3, curveID, Q, counter)

def Esys_EC_Ephemeral_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', curveID: 'TPMI_ECC_CURVE') -> "TSS2_RC":
    """Esys_EC_Ephemeral_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_ECC_CURVE curveID) -> TSS2_RC"""
    return _esys_binding.Esys_EC_Ephemeral_Async(esysContext, shandle1, shandle2, shandle3, curveID)

def Esys_EC_Ephemeral_Finish(esysContext: 'ESYS_CONTEXT *', Q: 'TPM2B_ECC_POINT **', counter: 'UINT16 *') -> "TSS2_RC":
    """Esys_EC_Ephemeral_Finish(ESYS_CONTEXT * esysContext, TPM2B_ECC_POINT ** Q, UINT16 * counter) -> TSS2_RC"""
    return _esys_binding.Esys_EC_Ephemeral_Finish(esysContext, Q, counter)

def Esys_VerifySignature(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', digest: 'TPM2B_DIGEST', signature: 'TPMT_SIGNATURE', validation: 'TPMT_TK_VERIFIED **') -> "TSS2_RC":
    """Esys_VerifySignature(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST digest, TPMT_SIGNATURE signature, TPMT_TK_VERIFIED ** validation) -> TSS2_RC"""
    return _esys_binding.Esys_VerifySignature(esysContext, keyHandle, shandle1, shandle2, shandle3, digest, signature, validation)

def Esys_VerifySignature_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', digest: 'TPM2B_DIGEST', signature: 'TPMT_SIGNATURE') -> "TSS2_RC":
    """Esys_VerifySignature_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST digest, TPMT_SIGNATURE signature) -> TSS2_RC"""
    return _esys_binding.Esys_VerifySignature_Async(esysContext, keyHandle, shandle1, shandle2, shandle3, digest, signature)

def Esys_VerifySignature_Finish(esysContext: 'ESYS_CONTEXT *', validation: 'TPMT_TK_VERIFIED **') -> "TSS2_RC":
    """Esys_VerifySignature_Finish(ESYS_CONTEXT * esysContext, TPMT_TK_VERIFIED ** validation) -> TSS2_RC"""
    return _esys_binding.Esys_VerifySignature_Finish(esysContext, validation)

def Esys_Sign(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', digest: 'TPM2B_DIGEST', inScheme: 'TPMT_SIG_SCHEME', validation: 'TPMT_TK_HASHCHECK', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_Sign(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST digest, TPMT_SIG_SCHEME inScheme, TPMT_TK_HASHCHECK validation, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_Sign(esysContext, keyHandle, shandle1, shandle2, shandle3, digest, inScheme, validation, signature)

def Esys_Sign_Async(esysContext: 'ESYS_CONTEXT *', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', digest: 'TPM2B_DIGEST', inScheme: 'TPMT_SIG_SCHEME', validation: 'TPMT_TK_HASHCHECK') -> "TSS2_RC":
    """Esys_Sign_Async(ESYS_CONTEXT * esysContext, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST digest, TPMT_SIG_SCHEME inScheme, TPMT_TK_HASHCHECK validation) -> TSS2_RC"""
    return _esys_binding.Esys_Sign_Async(esysContext, keyHandle, shandle1, shandle2, shandle3, digest, inScheme, validation)

def Esys_Sign_Finish(esysContext: 'ESYS_CONTEXT *', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_Sign_Finish(ESYS_CONTEXT * esysContext, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_Sign_Finish(esysContext, signature)

def Esys_SetCommandCodeAuditStatus(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auditAlg: 'TPMI_ALG_HASH', setList: 'TPML_CC', clearList: 'TPML_CC') -> "TSS2_RC":
    """Esys_SetCommandCodeAuditStatus(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_ALG_HASH auditAlg, TPML_CC setList, TPML_CC clearList) -> TSS2_RC"""
    return _esys_binding.Esys_SetCommandCodeAuditStatus(esysContext, auth, shandle1, shandle2, shandle3, auditAlg, setList, clearList)

def Esys_SetCommandCodeAuditStatus_Async(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auditAlg: 'TPMI_ALG_HASH', setList: 'TPML_CC', clearList: 'TPML_CC') -> "TSS2_RC":
    """Esys_SetCommandCodeAuditStatus_Async(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_ALG_HASH auditAlg, TPML_CC setList, TPML_CC clearList) -> TSS2_RC"""
    return _esys_binding.Esys_SetCommandCodeAuditStatus_Async(esysContext, auth, shandle1, shandle2, shandle3, auditAlg, setList, clearList)

def Esys_SetCommandCodeAuditStatus_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_SetCommandCodeAuditStatus_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_SetCommandCodeAuditStatus_Finish(esysContext)

def Esys_PCR_Extend(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', digests: 'TPML_DIGEST_VALUES') -> "TSS2_RC":
    """Esys_PCR_Extend(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_DIGEST_VALUES digests) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Extend(esysContext, pcrHandle, shandle1, shandle2, shandle3, digests)

def Esys_PCR_Extend_Async(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', digests: 'TPML_DIGEST_VALUES') -> "TSS2_RC":
    """Esys_PCR_Extend_Async(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_DIGEST_VALUES digests) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Extend_Async(esysContext, pcrHandle, shandle1, shandle2, shandle3, digests)

def Esys_PCR_Extend_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PCR_Extend_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Extend_Finish(esysContext)

def Esys_PCR_Event(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', eventData: 'TPM2B_EVENT', digests: 'TPML_DIGEST_VALUES **') -> "TSS2_RC":
    """Esys_PCR_Event(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_EVENT eventData, TPML_DIGEST_VALUES ** digests) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Event(esysContext, pcrHandle, shandle1, shandle2, shandle3, eventData, digests)

def Esys_PCR_Event_Async(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', eventData: 'TPM2B_EVENT') -> "TSS2_RC":
    """Esys_PCR_Event_Async(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_EVENT eventData) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Event_Async(esysContext, pcrHandle, shandle1, shandle2, shandle3, eventData)

def Esys_PCR_Event_Finish(esysContext: 'ESYS_CONTEXT *', digests: 'TPML_DIGEST_VALUES **') -> "TSS2_RC":
    """Esys_PCR_Event_Finish(ESYS_CONTEXT * esysContext, TPML_DIGEST_VALUES ** digests) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Event_Finish(esysContext, digests)

def Esys_PCR_Read(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pcrSelectionIn: 'TPML_PCR_SELECTION', pcrUpdateCounter: 'UINT32 *', pcrSelectionOut: 'TPML_PCR_SELECTION **', pcrValues: 'TPML_DIGEST **') -> "TSS2_RC":
    """Esys_PCR_Read(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_PCR_SELECTION pcrSelectionIn, UINT32 * pcrUpdateCounter, TPML_PCR_SELECTION ** pcrSelectionOut, TPML_DIGEST ** pcrValues) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Read(esysContext, shandle1, shandle2, shandle3, pcrSelectionIn, pcrUpdateCounter, pcrSelectionOut, pcrValues)

def Esys_PCR_Read_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pcrSelectionIn: 'TPML_PCR_SELECTION') -> "TSS2_RC":
    """Esys_PCR_Read_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_PCR_SELECTION pcrSelectionIn) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Read_Async(esysContext, shandle1, shandle2, shandle3, pcrSelectionIn)

def Esys_PCR_Read_Finish(esysContext: 'ESYS_CONTEXT *', pcrUpdateCounter: 'UINT32 *', pcrSelectionOut: 'TPML_PCR_SELECTION **', pcrValues: 'TPML_DIGEST **') -> "TSS2_RC":
    """Esys_PCR_Read_Finish(ESYS_CONTEXT * esysContext, UINT32 * pcrUpdateCounter, TPML_PCR_SELECTION ** pcrSelectionOut, TPML_DIGEST ** pcrValues) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Read_Finish(esysContext, pcrUpdateCounter, pcrSelectionOut, pcrValues)

def Esys_PCR_Allocate(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pcrAllocation: 'TPML_PCR_SELECTION', allocationSuccess: 'TPMI_YES_NO *', maxPCR: 'UINT32 *', sizeNeeded: 'UINT32 *', sizeAvailable: 'UINT32 *') -> "TSS2_RC":
    """Esys_PCR_Allocate(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_PCR_SELECTION pcrAllocation, TPMI_YES_NO * allocationSuccess, UINT32 * maxPCR, UINT32 * sizeNeeded, UINT32 * sizeAvailable) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Allocate(esysContext, authHandle, shandle1, shandle2, shandle3, pcrAllocation, allocationSuccess, maxPCR, sizeNeeded, sizeAvailable)

def Esys_PCR_Allocate_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pcrAllocation: 'TPML_PCR_SELECTION') -> "TSS2_RC":
    """Esys_PCR_Allocate_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_PCR_SELECTION pcrAllocation) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Allocate_Async(esysContext, authHandle, shandle1, shandle2, shandle3, pcrAllocation)

def Esys_PCR_Allocate_Finish(esysContext: 'ESYS_CONTEXT *', allocationSuccess: 'TPMI_YES_NO *', maxPCR: 'UINT32 *', sizeNeeded: 'UINT32 *', sizeAvailable: 'UINT32 *') -> "TSS2_RC":
    """Esys_PCR_Allocate_Finish(ESYS_CONTEXT * esysContext, TPMI_YES_NO * allocationSuccess, UINT32 * maxPCR, UINT32 * sizeNeeded, UINT32 * sizeAvailable) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Allocate_Finish(esysContext, allocationSuccess, maxPCR, sizeNeeded, sizeAvailable)

def Esys_PCR_SetAuthPolicy(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', authPolicy: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH', pcrNum: 'TPMI_DH_PCR') -> "TSS2_RC":
    """Esys_PCR_SetAuthPolicy(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST authPolicy, TPMI_ALG_HASH hashAlg, TPMI_DH_PCR pcrNum) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_SetAuthPolicy(esysContext, authHandle, shandle1, shandle2, shandle3, authPolicy, hashAlg, pcrNum)

def Esys_PCR_SetAuthPolicy_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', authPolicy: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH', pcrNum: 'TPMI_DH_PCR') -> "TSS2_RC":
    """Esys_PCR_SetAuthPolicy_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST authPolicy, TPMI_ALG_HASH hashAlg, TPMI_DH_PCR pcrNum) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_SetAuthPolicy_Async(esysContext, authHandle, shandle1, shandle2, shandle3, authPolicy, hashAlg, pcrNum)

def Esys_PCR_SetAuthPolicy_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PCR_SetAuthPolicy_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_SetAuthPolicy_Finish(esysContext)

def Esys_PCR_SetAuthValue(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PCR_SetAuthValue(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_SetAuthValue(esysContext, pcrHandle, shandle1, shandle2, shandle3, auth)

def Esys_PCR_SetAuthValue_Async(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PCR_SetAuthValue_Async(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_SetAuthValue_Async(esysContext, pcrHandle, shandle1, shandle2, shandle3, auth)

def Esys_PCR_SetAuthValue_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PCR_SetAuthValue_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_SetAuthValue_Finish(esysContext)

def Esys_PCR_Reset(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PCR_Reset(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Reset(esysContext, pcrHandle, shandle1, shandle2, shandle3)

def Esys_PCR_Reset_Async(esysContext: 'ESYS_CONTEXT *', pcrHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PCR_Reset_Async(ESYS_CONTEXT * esysContext, unsigned int pcrHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Reset_Async(esysContext, pcrHandle, shandle1, shandle2, shandle3)

def Esys_PCR_Reset_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PCR_Reset_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PCR_Reset_Finish(esysContext)

def Esys_PolicySigned(esysContext: 'ESYS_CONTEXT *', authObject: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nonceTPM: 'TPM2B_DIGEST', cpHashA: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', expiration: 'INT32', auth: 'TPMT_SIGNATURE', timeout: 'TPM2B_TIMEOUT **', policyTicket: 'TPMT_TK_AUTH **') -> "TSS2_RC":
    """Esys_PolicySigned(ESYS_CONTEXT * esysContext, unsigned int authObject, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nonceTPM, TPM2B_DIGEST cpHashA, TPM2B_DIGEST policyRef, INT32 expiration, TPMT_SIGNATURE auth, TPM2B_TIMEOUT ** timeout, TPMT_TK_AUTH ** policyTicket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicySigned(esysContext, authObject, policySession, shandle1, shandle2, shandle3, nonceTPM, cpHashA, policyRef, expiration, auth, timeout, policyTicket)

def Esys_PolicySigned_Async(esysContext: 'ESYS_CONTEXT *', authObject: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nonceTPM: 'TPM2B_DIGEST', cpHashA: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', expiration: 'INT32', auth: 'TPMT_SIGNATURE') -> "TSS2_RC":
    """Esys_PolicySigned_Async(ESYS_CONTEXT * esysContext, unsigned int authObject, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nonceTPM, TPM2B_DIGEST cpHashA, TPM2B_DIGEST policyRef, INT32 expiration, TPMT_SIGNATURE auth) -> TSS2_RC"""
    return _esys_binding.Esys_PolicySigned_Async(esysContext, authObject, policySession, shandle1, shandle2, shandle3, nonceTPM, cpHashA, policyRef, expiration, auth)

def Esys_PolicySigned_Finish(esysContext: 'ESYS_CONTEXT *', timeout: 'TPM2B_TIMEOUT **', policyTicket: 'TPMT_TK_AUTH **') -> "TSS2_RC":
    """Esys_PolicySigned_Finish(ESYS_CONTEXT * esysContext, TPM2B_TIMEOUT ** timeout, TPMT_TK_AUTH ** policyTicket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicySigned_Finish(esysContext, timeout, policyTicket)

def Esys_PolicySecret(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nonceTPM: 'TPM2B_DIGEST', cpHashA: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', expiration: 'INT32', timeout: 'TPM2B_TIMEOUT **', policyTicket: 'TPMT_TK_AUTH **') -> "TSS2_RC":
    """Esys_PolicySecret(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nonceTPM, TPM2B_DIGEST cpHashA, TPM2B_DIGEST policyRef, INT32 expiration, TPM2B_TIMEOUT ** timeout, TPMT_TK_AUTH ** policyTicket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicySecret(esysContext, authHandle, policySession, shandle1, shandle2, shandle3, nonceTPM, cpHashA, policyRef, expiration, timeout, policyTicket)

def Esys_PolicySecret_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nonceTPM: 'TPM2B_DIGEST', cpHashA: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', expiration: 'INT32') -> "TSS2_RC":
    """Esys_PolicySecret_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nonceTPM, TPM2B_DIGEST cpHashA, TPM2B_DIGEST policyRef, INT32 expiration) -> TSS2_RC"""
    return _esys_binding.Esys_PolicySecret_Async(esysContext, authHandle, policySession, shandle1, shandle2, shandle3, nonceTPM, cpHashA, policyRef, expiration)

def Esys_PolicySecret_Finish(esysContext: 'ESYS_CONTEXT *', timeout: 'TPM2B_TIMEOUT **', policyTicket: 'TPMT_TK_AUTH **') -> "TSS2_RC":
    """Esys_PolicySecret_Finish(ESYS_CONTEXT * esysContext, TPM2B_TIMEOUT ** timeout, TPMT_TK_AUTH ** policyTicket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicySecret_Finish(esysContext, timeout, policyTicket)

def Esys_PolicyTicket(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', timeout: 'TPM2B_DIGEST', cpHashA: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', authName: 'TPM2B_NAME', ticket: 'TPMT_TK_AUTH') -> "TSS2_RC":
    """Esys_PolicyTicket(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST timeout, TPM2B_DIGEST cpHashA, TPM2B_DIGEST policyRef, TPM2B_NAME authName, TPMT_TK_AUTH ticket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyTicket(esysContext, policySession, shandle1, shandle2, shandle3, timeout, cpHashA, policyRef, authName, ticket)

def Esys_PolicyTicket_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', timeout: 'TPM2B_DIGEST', cpHashA: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', authName: 'TPM2B_NAME', ticket: 'TPMT_TK_AUTH') -> "TSS2_RC":
    """Esys_PolicyTicket_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST timeout, TPM2B_DIGEST cpHashA, TPM2B_DIGEST policyRef, TPM2B_NAME authName, TPMT_TK_AUTH ticket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyTicket_Async(esysContext, policySession, shandle1, shandle2, shandle3, timeout, cpHashA, policyRef, authName, ticket)

def Esys_PolicyTicket_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyTicket_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyTicket_Finish(esysContext)

def Esys_PolicyOR(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pHashList: 'TPML_DIGEST') -> "TSS2_RC":
    """Esys_PolicyOR(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_DIGEST pHashList) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyOR(esysContext, policySession, shandle1, shandle2, shandle3, pHashList)

def Esys_PolicyOR_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pHashList: 'TPML_DIGEST') -> "TSS2_RC":
    """Esys_PolicyOR_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_DIGEST pHashList) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyOR_Async(esysContext, policySession, shandle1, shandle2, shandle3, pHashList)

def Esys_PolicyOR_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyOR_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyOR_Finish(esysContext)

def Esys_PolicyPCR(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pcrDigest: 'TPM2B_DIGEST', pcrs: 'TPML_PCR_SELECTION') -> "TSS2_RC":
    """Esys_PolicyPCR(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST pcrDigest, TPML_PCR_SELECTION pcrs) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPCR(esysContext, policySession, shandle1, shandle2, shandle3, pcrDigest, pcrs)

def Esys_PolicyPCR_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', pcrDigest: 'TPM2B_DIGEST', pcrs: 'TPML_PCR_SELECTION') -> "TSS2_RC":
    """Esys_PolicyPCR_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST pcrDigest, TPML_PCR_SELECTION pcrs) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPCR_Async(esysContext, policySession, shandle1, shandle2, shandle3, pcrDigest, pcrs)

def Esys_PolicyPCR_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyPCR_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPCR_Finish(esysContext)

def Esys_PolicyLocality(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', locality: 'TPMA_LOCALITY') -> "TSS2_RC":
    """Esys_PolicyLocality(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMA_LOCALITY locality) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyLocality(esysContext, policySession, shandle1, shandle2, shandle3, locality)

def Esys_PolicyLocality_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', locality: 'TPMA_LOCALITY') -> "TSS2_RC":
    """Esys_PolicyLocality_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMA_LOCALITY locality) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyLocality_Async(esysContext, policySession, shandle1, shandle2, shandle3, locality)

def Esys_PolicyLocality_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyLocality_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyLocality_Finish(esysContext)

def Esys_PolicyNV(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', operandB: 'TPM2B_DIGEST', offset: 'UINT16', operation: 'TPM2_EO') -> "TSS2_RC":
    """Esys_PolicyNV(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST operandB, UINT16 offset, TPM2_EO operation) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNV(esysContext, authHandle, nvIndex, policySession, shandle1, shandle2, shandle3, operandB, offset, operation)

def Esys_PolicyNV_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', operandB: 'TPM2B_DIGEST', offset: 'UINT16', operation: 'TPM2_EO') -> "TSS2_RC":
    """Esys_PolicyNV_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST operandB, UINT16 offset, TPM2_EO operation) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNV_Async(esysContext, authHandle, nvIndex, policySession, shandle1, shandle2, shandle3, operandB, offset, operation)

def Esys_PolicyNV_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyNV_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNV_Finish(esysContext)

def Esys_PolicyCounterTimer(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', operandB: 'TPM2B_DIGEST', offset: 'UINT16', operation: 'TPM2_EO') -> "TSS2_RC":
    """Esys_PolicyCounterTimer(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST operandB, UINT16 offset, TPM2_EO operation) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCounterTimer(esysContext, policySession, shandle1, shandle2, shandle3, operandB, offset, operation)

def Esys_PolicyCounterTimer_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', operandB: 'TPM2B_DIGEST', offset: 'UINT16', operation: 'TPM2_EO') -> "TSS2_RC":
    """Esys_PolicyCounterTimer_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST operandB, UINT16 offset, TPM2_EO operation) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCounterTimer_Async(esysContext, policySession, shandle1, shandle2, shandle3, operandB, offset, operation)

def Esys_PolicyCounterTimer_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyCounterTimer_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCounterTimer_Finish(esysContext)

def Esys_PolicyCommandCode(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', code: 'TPM2_CC') -> "TSS2_RC":
    """Esys_PolicyCommandCode(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_CC code) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCommandCode(esysContext, policySession, shandle1, shandle2, shandle3, code)

def Esys_PolicyCommandCode_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', code: 'TPM2_CC') -> "TSS2_RC":
    """Esys_PolicyCommandCode_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_CC code) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCommandCode_Async(esysContext, policySession, shandle1, shandle2, shandle3, code)

def Esys_PolicyCommandCode_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyCommandCode_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCommandCode_Finish(esysContext)

def Esys_PolicyPhysicalPresence(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyPhysicalPresence(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPhysicalPresence(esysContext, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyPhysicalPresence_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyPhysicalPresence_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPhysicalPresence_Async(esysContext, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyPhysicalPresence_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyPhysicalPresence_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPhysicalPresence_Finish(esysContext)

def Esys_PolicyCpHash(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', cpHashA: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PolicyCpHash(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST cpHashA) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCpHash(esysContext, policySession, shandle1, shandle2, shandle3, cpHashA)

def Esys_PolicyCpHash_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', cpHashA: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PolicyCpHash_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST cpHashA) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCpHash_Async(esysContext, policySession, shandle1, shandle2, shandle3, cpHashA)

def Esys_PolicyCpHash_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyCpHash_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyCpHash_Finish(esysContext)

def Esys_PolicyNameHash(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nameHash: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PolicyNameHash(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nameHash) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNameHash(esysContext, policySession, shandle1, shandle2, shandle3, nameHash)

def Esys_PolicyNameHash_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nameHash: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PolicyNameHash_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST nameHash) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNameHash_Async(esysContext, policySession, shandle1, shandle2, shandle3, nameHash)

def Esys_PolicyNameHash_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyNameHash_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNameHash_Finish(esysContext)

def Esys_PolicyDuplicationSelect(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', objectName: 'TPM2B_NAME', newParentName: 'TPM2B_NAME', includeObject: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_PolicyDuplicationSelect(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_NAME objectName, TPM2B_NAME newParentName, TPMI_YES_NO includeObject) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyDuplicationSelect(esysContext, policySession, shandle1, shandle2, shandle3, objectName, newParentName, includeObject)

def Esys_PolicyDuplicationSelect_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', objectName: 'TPM2B_NAME', newParentName: 'TPM2B_NAME', includeObject: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_PolicyDuplicationSelect_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_NAME objectName, TPM2B_NAME newParentName, TPMI_YES_NO includeObject) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyDuplicationSelect_Async(esysContext, policySession, shandle1, shandle2, shandle3, objectName, newParentName, includeObject)

def Esys_PolicyDuplicationSelect_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyDuplicationSelect_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyDuplicationSelect_Finish(esysContext)

def Esys_PolicyAuthorize(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', approvedPolicy: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', keySign: 'TPM2B_NAME', checkTicket: 'TPMT_TK_VERIFIED') -> "TSS2_RC":
    """Esys_PolicyAuthorize(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST approvedPolicy, TPM2B_DIGEST policyRef, TPM2B_NAME keySign, TPMT_TK_VERIFIED checkTicket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthorize(esysContext, policySession, shandle1, shandle2, shandle3, approvedPolicy, policyRef, keySign, checkTicket)

def Esys_PolicyAuthorize_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', approvedPolicy: 'TPM2B_DIGEST', policyRef: 'TPM2B_DIGEST', keySign: 'TPM2B_NAME', checkTicket: 'TPMT_TK_VERIFIED') -> "TSS2_RC":
    """Esys_PolicyAuthorize_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST approvedPolicy, TPM2B_DIGEST policyRef, TPM2B_NAME keySign, TPMT_TK_VERIFIED checkTicket) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthorize_Async(esysContext, policySession, shandle1, shandle2, shandle3, approvedPolicy, policyRef, keySign, checkTicket)

def Esys_PolicyAuthorize_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyAuthorize_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthorize_Finish(esysContext)

def Esys_PolicyAuthValue(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyAuthValue(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthValue(esysContext, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyAuthValue_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyAuthValue_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthValue_Async(esysContext, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyAuthValue_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyAuthValue_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthValue_Finish(esysContext)

def Esys_PolicyPassword(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyPassword(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPassword(esysContext, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyPassword_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyPassword_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPassword_Async(esysContext, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyPassword_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyPassword_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyPassword_Finish(esysContext)

def Esys_PolicyGetDigest(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', policyDigest: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_PolicyGetDigest(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST ** policyDigest) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyGetDigest(esysContext, policySession, shandle1, shandle2, shandle3, policyDigest)

def Esys_PolicyGetDigest_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyGetDigest_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyGetDigest_Async(esysContext, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyGetDigest_Finish(esysContext: 'ESYS_CONTEXT *', policyDigest: 'TPM2B_DIGEST **') -> "TSS2_RC":
    """Esys_PolicyGetDigest_Finish(ESYS_CONTEXT * esysContext, TPM2B_DIGEST ** policyDigest) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyGetDigest_Finish(esysContext, policyDigest)

def Esys_PolicyNvWritten(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', writtenSet: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_PolicyNvWritten(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO writtenSet) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNvWritten(esysContext, policySession, shandle1, shandle2, shandle3, writtenSet)

def Esys_PolicyNvWritten_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', writtenSet: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_PolicyNvWritten_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO writtenSet) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNvWritten_Async(esysContext, policySession, shandle1, shandle2, shandle3, writtenSet)

def Esys_PolicyNvWritten_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyNvWritten_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyNvWritten_Finish(esysContext)

def Esys_PolicyTemplate(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', templateHash: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PolicyTemplate(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST templateHash) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyTemplate(esysContext, policySession, shandle1, shandle2, shandle3, templateHash)

def Esys_PolicyTemplate_Async(esysContext: 'ESYS_CONTEXT *', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', templateHash: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_PolicyTemplate_Async(ESYS_CONTEXT * esysContext, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST templateHash) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyTemplate_Async(esysContext, policySession, shandle1, shandle2, shandle3, templateHash)

def Esys_PolicyTemplate_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyTemplate_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyTemplate_Finish(esysContext)

def Esys_PolicyAuthorizeNV(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyAuthorizeNV(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthorizeNV(esysContext, authHandle, nvIndex, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyAuthorizeNV_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', policySession: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_PolicyAuthorizeNV_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int policySession, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthorizeNV_Async(esysContext, authHandle, nvIndex, policySession, shandle1, shandle2, shandle3)

def Esys_PolicyAuthorizeNV_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PolicyAuthorizeNV_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PolicyAuthorizeNV_Finish(esysContext)

def Esys_CreatePrimary(esysContext: 'ESYS_CONTEXT *', primaryHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inSensitive: 'TPM2B_SENSITIVE_CREATE', inPublic: 'TPM2B_PUBLIC', outsideInfo: 'TPM2B_DATA', creationPCR: 'TPML_PCR_SELECTION', objectHandle: 'unsigned int *', outPublic: 'TPM2B_PUBLIC **', creationData: 'TPM2B_CREATION_DATA **', creationHash: 'TPM2B_DIGEST **', creationTicket: 'TPMT_TK_CREATION **') -> "TSS2_RC":
    """Esys_CreatePrimary(ESYS_CONTEXT * esysContext, unsigned int primaryHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_CREATE inSensitive, TPM2B_PUBLIC inPublic, TPM2B_DATA outsideInfo, TPML_PCR_SELECTION creationPCR, unsigned int * objectHandle, TPM2B_PUBLIC ** outPublic, TPM2B_CREATION_DATA ** creationData, TPM2B_DIGEST ** creationHash, TPMT_TK_CREATION ** creationTicket) -> TSS2_RC"""
    return _esys_binding.Esys_CreatePrimary(esysContext, primaryHandle, shandle1, shandle2, shandle3, inSensitive, inPublic, outsideInfo, creationPCR, objectHandle, outPublic, creationData, creationHash, creationTicket)

def Esys_CreatePrimary_Async(esysContext: 'ESYS_CONTEXT *', primaryHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inSensitive: 'TPM2B_SENSITIVE_CREATE', inPublic: 'TPM2B_PUBLIC', outsideInfo: 'TPM2B_DATA', creationPCR: 'TPML_PCR_SELECTION') -> "TSS2_RC":
    """Esys_CreatePrimary_Async(ESYS_CONTEXT * esysContext, unsigned int primaryHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_SENSITIVE_CREATE inSensitive, TPM2B_PUBLIC inPublic, TPM2B_DATA outsideInfo, TPML_PCR_SELECTION creationPCR) -> TSS2_RC"""
    return _esys_binding.Esys_CreatePrimary_Async(esysContext, primaryHandle, shandle1, shandle2, shandle3, inSensitive, inPublic, outsideInfo, creationPCR)

def Esys_CreatePrimary_Finish(esysContext: 'ESYS_CONTEXT *', objectHandle: 'unsigned int *', outPublic: 'TPM2B_PUBLIC **', creationData: 'TPM2B_CREATION_DATA **', creationHash: 'TPM2B_DIGEST **', creationTicket: 'TPMT_TK_CREATION **') -> "TSS2_RC":
    """Esys_CreatePrimary_Finish(ESYS_CONTEXT * esysContext, unsigned int * objectHandle, TPM2B_PUBLIC ** outPublic, TPM2B_CREATION_DATA ** creationData, TPM2B_DIGEST ** creationHash, TPMT_TK_CREATION ** creationTicket) -> TSS2_RC"""
    return _esys_binding.Esys_CreatePrimary_Finish(esysContext, objectHandle, outPublic, creationData, creationHash, creationTicket)

def Esys_HierarchyControl(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', enable: 'TPMI_RH_ENABLES', state: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_HierarchyControl(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_RH_ENABLES enable, TPMI_YES_NO state) -> TSS2_RC"""
    return _esys_binding.Esys_HierarchyControl(esysContext, authHandle, shandle1, shandle2, shandle3, enable, state)

def Esys_HierarchyControl_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', enable: 'TPMI_RH_ENABLES', state: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_HierarchyControl_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_RH_ENABLES enable, TPMI_YES_NO state) -> TSS2_RC"""
    return _esys_binding.Esys_HierarchyControl_Async(esysContext, authHandle, shandle1, shandle2, shandle3, enable, state)

def Esys_HierarchyControl_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_HierarchyControl_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_HierarchyControl_Finish(esysContext)

def Esys_SetPrimaryPolicy(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', authPolicy: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH') -> "TSS2_RC":
    """Esys_SetPrimaryPolicy(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST authPolicy, TPMI_ALG_HASH hashAlg) -> TSS2_RC"""
    return _esys_binding.Esys_SetPrimaryPolicy(esysContext, authHandle, shandle1, shandle2, shandle3, authPolicy, hashAlg)

def Esys_SetPrimaryPolicy_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', authPolicy: 'TPM2B_DIGEST', hashAlg: 'TPMI_ALG_HASH') -> "TSS2_RC":
    """Esys_SetPrimaryPolicy_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST authPolicy, TPMI_ALG_HASH hashAlg) -> TSS2_RC"""
    return _esys_binding.Esys_SetPrimaryPolicy_Async(esysContext, authHandle, shandle1, shandle2, shandle3, authPolicy, hashAlg)

def Esys_SetPrimaryPolicy_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_SetPrimaryPolicy_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_SetPrimaryPolicy_Finish(esysContext)

def Esys_ChangePPS(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_ChangePPS(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_ChangePPS(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_ChangePPS_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_ChangePPS_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_ChangePPS_Async(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_ChangePPS_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_ChangePPS_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_ChangePPS_Finish(esysContext)

def Esys_ChangeEPS(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_ChangeEPS(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_ChangeEPS(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_ChangeEPS_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_ChangeEPS_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_ChangeEPS_Async(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_ChangeEPS_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_ChangeEPS_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_ChangeEPS_Finish(esysContext)

def Esys_Clear(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_Clear(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_Clear(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_Clear_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_Clear_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_Clear_Async(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_Clear_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_Clear_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_Clear_Finish(esysContext)

def Esys_ClearControl(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', disable: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_ClearControl(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO disable) -> TSS2_RC"""
    return _esys_binding.Esys_ClearControl(esysContext, auth, shandle1, shandle2, shandle3, disable)

def Esys_ClearControl_Async(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', disable: 'TPMI_YES_NO') -> "TSS2_RC":
    """Esys_ClearControl_Async(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_YES_NO disable) -> TSS2_RC"""
    return _esys_binding.Esys_ClearControl_Async(esysContext, auth, shandle1, shandle2, shandle3, disable)

def Esys_ClearControl_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_ClearControl_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_ClearControl_Finish(esysContext)

def Esys_HierarchyChangeAuth(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newAuth: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_HierarchyChangeAuth(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST newAuth) -> TSS2_RC"""
    return _esys_binding.Esys_HierarchyChangeAuth(esysContext, authHandle, shandle1, shandle2, shandle3, newAuth)

def Esys_HierarchyChangeAuth_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newAuth: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_HierarchyChangeAuth_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST newAuth) -> TSS2_RC"""
    return _esys_binding.Esys_HierarchyChangeAuth_Async(esysContext, authHandle, shandle1, shandle2, shandle3, newAuth)

def Esys_HierarchyChangeAuth_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_HierarchyChangeAuth_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_HierarchyChangeAuth_Finish(esysContext)

def Esys_DictionaryAttackLockReset(esysContext: 'ESYS_CONTEXT *', lockHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_DictionaryAttackLockReset(ESYS_CONTEXT * esysContext, unsigned int lockHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_DictionaryAttackLockReset(esysContext, lockHandle, shandle1, shandle2, shandle3)

def Esys_DictionaryAttackLockReset_Async(esysContext: 'ESYS_CONTEXT *', lockHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_DictionaryAttackLockReset_Async(ESYS_CONTEXT * esysContext, unsigned int lockHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_DictionaryAttackLockReset_Async(esysContext, lockHandle, shandle1, shandle2, shandle3)

def Esys_DictionaryAttackLockReset_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_DictionaryAttackLockReset_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_DictionaryAttackLockReset_Finish(esysContext)

def Esys_DictionaryAttackParameters(esysContext: 'ESYS_CONTEXT *', lockHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newMaxTries: 'UINT32', newRecoveryTime: 'UINT32', lockoutRecovery: 'UINT32') -> "TSS2_RC":
    """Esys_DictionaryAttackParameters(ESYS_CONTEXT * esysContext, unsigned int lockHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT32 newMaxTries, UINT32 newRecoveryTime, UINT32 lockoutRecovery) -> TSS2_RC"""
    return _esys_binding.Esys_DictionaryAttackParameters(esysContext, lockHandle, shandle1, shandle2, shandle3, newMaxTries, newRecoveryTime, lockoutRecovery)

def Esys_DictionaryAttackParameters_Async(esysContext: 'ESYS_CONTEXT *', lockHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newMaxTries: 'UINT32', newRecoveryTime: 'UINT32', lockoutRecovery: 'UINT32') -> "TSS2_RC":
    """Esys_DictionaryAttackParameters_Async(ESYS_CONTEXT * esysContext, unsigned int lockHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT32 newMaxTries, UINT32 newRecoveryTime, UINT32 lockoutRecovery) -> TSS2_RC"""
    return _esys_binding.Esys_DictionaryAttackParameters_Async(esysContext, lockHandle, shandle1, shandle2, shandle3, newMaxTries, newRecoveryTime, lockoutRecovery)

def Esys_DictionaryAttackParameters_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_DictionaryAttackParameters_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_DictionaryAttackParameters_Finish(esysContext)

def Esys_PP_Commands(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', setList: 'TPML_CC', clearList: 'TPML_CC') -> "TSS2_RC":
    """Esys_PP_Commands(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_CC setList, TPML_CC clearList) -> TSS2_RC"""
    return _esys_binding.Esys_PP_Commands(esysContext, auth, shandle1, shandle2, shandle3, setList, clearList)

def Esys_PP_Commands_Async(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', setList: 'TPML_CC', clearList: 'TPML_CC') -> "TSS2_RC":
    """Esys_PP_Commands_Async(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPML_CC setList, TPML_CC clearList) -> TSS2_RC"""
    return _esys_binding.Esys_PP_Commands_Async(esysContext, auth, shandle1, shandle2, shandle3, setList, clearList)

def Esys_PP_Commands_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_PP_Commands_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_PP_Commands_Finish(esysContext)

def Esys_SetAlgorithmSet(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', algorithmSet: 'UINT32') -> "TSS2_RC":
    """Esys_SetAlgorithmSet(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT32 algorithmSet) -> TSS2_RC"""
    return _esys_binding.Esys_SetAlgorithmSet(esysContext, authHandle, shandle1, shandle2, shandle3, algorithmSet)

def Esys_SetAlgorithmSet_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', algorithmSet: 'UINT32') -> "TSS2_RC":
    """Esys_SetAlgorithmSet_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT32 algorithmSet) -> TSS2_RC"""
    return _esys_binding.Esys_SetAlgorithmSet_Async(esysContext, authHandle, shandle1, shandle2, shandle3, algorithmSet)

def Esys_SetAlgorithmSet_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_SetAlgorithmSet_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_SetAlgorithmSet_Finish(esysContext)

def Esys_FieldUpgradeStart(esysContext: 'ESYS_CONTEXT *', authorization: 'unsigned int', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', fuDigest: 'TPM2B_DIGEST', manifestSignature: 'TPMT_SIGNATURE') -> "TSS2_RC":
    """Esys_FieldUpgradeStart(ESYS_CONTEXT * esysContext, unsigned int authorization, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST fuDigest, TPMT_SIGNATURE manifestSignature) -> TSS2_RC"""
    return _esys_binding.Esys_FieldUpgradeStart(esysContext, authorization, keyHandle, shandle1, shandle2, shandle3, fuDigest, manifestSignature)

def Esys_FieldUpgradeStart_Async(esysContext: 'ESYS_CONTEXT *', authorization: 'unsigned int', keyHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', fuDigest: 'TPM2B_DIGEST', manifestSignature: 'TPMT_SIGNATURE') -> "TSS2_RC":
    """Esys_FieldUpgradeStart_Async(ESYS_CONTEXT * esysContext, unsigned int authorization, unsigned int keyHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST fuDigest, TPMT_SIGNATURE manifestSignature) -> TSS2_RC"""
    return _esys_binding.Esys_FieldUpgradeStart_Async(esysContext, authorization, keyHandle, shandle1, shandle2, shandle3, fuDigest, manifestSignature)

def Esys_FieldUpgradeStart_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_FieldUpgradeStart_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_FieldUpgradeStart_Finish(esysContext)

def Esys_FieldUpgradeData(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', fuData: 'TPM2B_MAX_BUFFER', nextDigest: 'TPMT_HA **', firstDigest: 'TPMT_HA **') -> "TSS2_RC":
    """Esys_FieldUpgradeData(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER fuData, TPMT_HA ** nextDigest, TPMT_HA ** firstDigest) -> TSS2_RC"""
    return _esys_binding.Esys_FieldUpgradeData(esysContext, shandle1, shandle2, shandle3, fuData, nextDigest, firstDigest)

def Esys_FieldUpgradeData_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', fuData: 'TPM2B_MAX_BUFFER') -> "TSS2_RC":
    """Esys_FieldUpgradeData_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_BUFFER fuData) -> TSS2_RC"""
    return _esys_binding.Esys_FieldUpgradeData_Async(esysContext, shandle1, shandle2, shandle3, fuData)

def Esys_FieldUpgradeData_Finish(esysContext: 'ESYS_CONTEXT *', nextDigest: 'TPMT_HA **', firstDigest: 'TPMT_HA **') -> "TSS2_RC":
    """Esys_FieldUpgradeData_Finish(ESYS_CONTEXT * esysContext, TPMT_HA ** nextDigest, TPMT_HA ** firstDigest) -> TSS2_RC"""
    return _esys_binding.Esys_FieldUpgradeData_Finish(esysContext, nextDigest, firstDigest)

def Esys_FirmwareRead(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', sequenceNumber: 'UINT32', fuData: 'TPM2B_MAX_BUFFER **') -> "TSS2_RC":
    """Esys_FirmwareRead(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT32 sequenceNumber, TPM2B_MAX_BUFFER ** fuData) -> TSS2_RC"""
    return _esys_binding.Esys_FirmwareRead(esysContext, shandle1, shandle2, shandle3, sequenceNumber, fuData)

def Esys_FirmwareRead_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', sequenceNumber: 'UINT32') -> "TSS2_RC":
    """Esys_FirmwareRead_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT32 sequenceNumber) -> TSS2_RC"""
    return _esys_binding.Esys_FirmwareRead_Async(esysContext, shandle1, shandle2, shandle3, sequenceNumber)

def Esys_FirmwareRead_Finish(esysContext: 'ESYS_CONTEXT *', fuData: 'TPM2B_MAX_BUFFER **') -> "TSS2_RC":
    """Esys_FirmwareRead_Finish(ESYS_CONTEXT * esysContext, TPM2B_MAX_BUFFER ** fuData) -> TSS2_RC"""
    return _esys_binding.Esys_FirmwareRead_Finish(esysContext, fuData)

def Esys_ContextSave(esysContext: 'ESYS_CONTEXT *', saveHandle: 'unsigned int', context: 'TPMS_CONTEXT **') -> "TSS2_RC":
    """Esys_ContextSave(ESYS_CONTEXT * esysContext, unsigned int saveHandle, TPMS_CONTEXT ** context) -> TSS2_RC"""
    return _esys_binding.Esys_ContextSave(esysContext, saveHandle, context)

def Esys_ContextSave_Async(esysContext: 'ESYS_CONTEXT *', saveHandle: 'unsigned int') -> "TSS2_RC":
    """Esys_ContextSave_Async(ESYS_CONTEXT * esysContext, unsigned int saveHandle) -> TSS2_RC"""
    return _esys_binding.Esys_ContextSave_Async(esysContext, saveHandle)

def Esys_ContextSave_Finish(esysContext: 'ESYS_CONTEXT *', context: 'TPMS_CONTEXT **') -> "TSS2_RC":
    """Esys_ContextSave_Finish(ESYS_CONTEXT * esysContext, TPMS_CONTEXT ** context) -> TSS2_RC"""
    return _esys_binding.Esys_ContextSave_Finish(esysContext, context)

def Esys_ContextLoad(esysContext: 'ESYS_CONTEXT *', context: 'TPMS_CONTEXT', loadedHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_ContextLoad(ESYS_CONTEXT * esysContext, TPMS_CONTEXT context, unsigned int * loadedHandle) -> TSS2_RC"""
    return _esys_binding.Esys_ContextLoad(esysContext, context, loadedHandle)

def Esys_ContextLoad_Async(esysContext: 'ESYS_CONTEXT *', context: 'TPMS_CONTEXT') -> "TSS2_RC":
    """Esys_ContextLoad_Async(ESYS_CONTEXT * esysContext, TPMS_CONTEXT context) -> TSS2_RC"""
    return _esys_binding.Esys_ContextLoad_Async(esysContext, context)

def Esys_ContextLoad_Finish(esysContext: 'ESYS_CONTEXT *', loadedHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_ContextLoad_Finish(ESYS_CONTEXT * esysContext, unsigned int * loadedHandle) -> TSS2_RC"""
    return _esys_binding.Esys_ContextLoad_Finish(esysContext, loadedHandle)

def Esys_FlushContext(esysContext: 'ESYS_CONTEXT *', flushHandle: 'unsigned int') -> "TSS2_RC":
    """Esys_FlushContext(ESYS_CONTEXT * esysContext, unsigned int flushHandle) -> TSS2_RC"""
    return _esys_binding.Esys_FlushContext(esysContext, flushHandle)

def Esys_FlushContext_Async(esysContext: 'ESYS_CONTEXT *', flushHandle: 'unsigned int') -> "TSS2_RC":
    """Esys_FlushContext_Async(ESYS_CONTEXT * esysContext, unsigned int flushHandle) -> TSS2_RC"""
    return _esys_binding.Esys_FlushContext_Async(esysContext, flushHandle)

def Esys_FlushContext_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_FlushContext_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_FlushContext_Finish(esysContext)

def Esys_EvictControl(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', objectHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', persistentHandle: 'TPMI_DH_PERSISTENT', newObjectHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_EvictControl(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int objectHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_DH_PERSISTENT persistentHandle, unsigned int * newObjectHandle) -> TSS2_RC"""
    return _esys_binding.Esys_EvictControl(esysContext, auth, objectHandle, shandle1, shandle2, shandle3, persistentHandle, newObjectHandle)

def Esys_EvictControl_Async(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', objectHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', persistentHandle: 'TPMI_DH_PERSISTENT') -> "TSS2_RC":
    """Esys_EvictControl_Async(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int objectHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMI_DH_PERSISTENT persistentHandle) -> TSS2_RC"""
    return _esys_binding.Esys_EvictControl_Async(esysContext, auth, objectHandle, shandle1, shandle2, shandle3, persistentHandle)

def Esys_EvictControl_Finish(esysContext: 'ESYS_CONTEXT *', newObjectHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_EvictControl_Finish(ESYS_CONTEXT * esysContext, unsigned int * newObjectHandle) -> TSS2_RC"""
    return _esys_binding.Esys_EvictControl_Finish(esysContext, newObjectHandle)

def Esys_ReadClock(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', currentTime: 'TPMS_TIME_INFO **') -> "TSS2_RC":
    """Esys_ReadClock(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMS_TIME_INFO ** currentTime) -> TSS2_RC"""
    return _esys_binding.Esys_ReadClock(esysContext, shandle1, shandle2, shandle3, currentTime)

def Esys_ReadClock_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_ReadClock_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_ReadClock_Async(esysContext, shandle1, shandle2, shandle3)

def Esys_ReadClock_Finish(esysContext: 'ESYS_CONTEXT *', currentTime: 'TPMS_TIME_INFO **') -> "TSS2_RC":
    """Esys_ReadClock_Finish(ESYS_CONTEXT * esysContext, TPMS_TIME_INFO ** currentTime) -> TSS2_RC"""
    return _esys_binding.Esys_ReadClock_Finish(esysContext, currentTime)

def Esys_ClockSet(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newTime: 'UINT64') -> "TSS2_RC":
    """Esys_ClockSet(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT64 newTime) -> TSS2_RC"""
    return _esys_binding.Esys_ClockSet(esysContext, auth, shandle1, shandle2, shandle3, newTime)

def Esys_ClockSet_Async(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newTime: 'UINT64') -> "TSS2_RC":
    """Esys_ClockSet_Async(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT64 newTime) -> TSS2_RC"""
    return _esys_binding.Esys_ClockSet_Async(esysContext, auth, shandle1, shandle2, shandle3, newTime)

def Esys_ClockSet_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_ClockSet_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_ClockSet_Finish(esysContext)

def Esys_ClockRateAdjust(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', rateAdjust: 'TPM2_CLOCK_ADJUST') -> "TSS2_RC":
    """Esys_ClockRateAdjust(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_CLOCK_ADJUST rateAdjust) -> TSS2_RC"""
    return _esys_binding.Esys_ClockRateAdjust(esysContext, auth, shandle1, shandle2, shandle3, rateAdjust)

def Esys_ClockRateAdjust_Async(esysContext: 'ESYS_CONTEXT *', auth: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', rateAdjust: 'TPM2_CLOCK_ADJUST') -> "TSS2_RC":
    """Esys_ClockRateAdjust_Async(ESYS_CONTEXT * esysContext, unsigned int auth, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_CLOCK_ADJUST rateAdjust) -> TSS2_RC"""
    return _esys_binding.Esys_ClockRateAdjust_Async(esysContext, auth, shandle1, shandle2, shandle3, rateAdjust)

def Esys_ClockRateAdjust_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_ClockRateAdjust_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_ClockRateAdjust_Finish(esysContext)

def Esys_GetCapability(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', capability: 'TPM2_CAP', property: 'UINT32', propertyCount: 'UINT32', moreData: 'TPMI_YES_NO *', capabilityData: 'TPMS_CAPABILITY_DATA **') -> "TSS2_RC":
    """Esys_GetCapability(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_CAP capability, UINT32 property, UINT32 propertyCount, TPMI_YES_NO * moreData, TPMS_CAPABILITY_DATA ** capabilityData) -> TSS2_RC"""
    return _esys_binding.Esys_GetCapability(esysContext, shandle1, shandle2, shandle3, capability, property, propertyCount, moreData, capabilityData)

def Esys_GetCapability_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', capability: 'TPM2_CAP', property: 'UINT32', propertyCount: 'UINT32') -> "TSS2_RC":
    """Esys_GetCapability_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2_CAP capability, UINT32 property, UINT32 propertyCount) -> TSS2_RC"""
    return _esys_binding.Esys_GetCapability_Async(esysContext, shandle1, shandle2, shandle3, capability, property, propertyCount)

def Esys_GetCapability_Finish(esysContext: 'ESYS_CONTEXT *', moreData: 'TPMI_YES_NO *', capabilityData: 'TPMS_CAPABILITY_DATA **') -> "TSS2_RC":
    """Esys_GetCapability_Finish(ESYS_CONTEXT * esysContext, TPMI_YES_NO * moreData, TPMS_CAPABILITY_DATA ** capabilityData) -> TSS2_RC"""
    return _esys_binding.Esys_GetCapability_Finish(esysContext, moreData, capabilityData)

def Esys_TestParms(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', parameters: 'TPMT_PUBLIC_PARMS') -> "TSS2_RC":
    """Esys_TestParms(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMT_PUBLIC_PARMS parameters) -> TSS2_RC"""
    return _esys_binding.Esys_TestParms(esysContext, shandle1, shandle2, shandle3, parameters)

def Esys_TestParms_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', parameters: 'TPMT_PUBLIC_PARMS') -> "TSS2_RC":
    """Esys_TestParms_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPMT_PUBLIC_PARMS parameters) -> TSS2_RC"""
    return _esys_binding.Esys_TestParms_Async(esysContext, shandle1, shandle2, shandle3, parameters)

def Esys_TestParms_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_TestParms_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_TestParms_Finish(esysContext)

def Esys_NV_DefineSpace(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST', publicInfo: 'TPM2B_NV_PUBLIC', nvHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_NV_DefineSpace(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth, TPM2B_NV_PUBLIC publicInfo, unsigned int * nvHandle) -> TSS2_RC"""
    return _esys_binding.Esys_NV_DefineSpace(esysContext, authHandle, shandle1, shandle2, shandle3, auth, publicInfo, nvHandle)

def Esys_NV_DefineSpace_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', auth: 'TPM2B_DIGEST', publicInfo: 'TPM2B_NV_PUBLIC') -> "TSS2_RC":
    """Esys_NV_DefineSpace_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST auth, TPM2B_NV_PUBLIC publicInfo) -> TSS2_RC"""
    return _esys_binding.Esys_NV_DefineSpace_Async(esysContext, authHandle, shandle1, shandle2, shandle3, auth, publicInfo)

def Esys_NV_DefineSpace_Finish(esysContext: 'ESYS_CONTEXT *', nvHandle: 'unsigned int *') -> "TSS2_RC":
    """Esys_NV_DefineSpace_Finish(ESYS_CONTEXT * esysContext, unsigned int * nvHandle) -> TSS2_RC"""
    return _esys_binding.Esys_NV_DefineSpace_Finish(esysContext, nvHandle)

def Esys_NV_UndefineSpace(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_UndefineSpace(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_UndefineSpace(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_UndefineSpace_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_UndefineSpace_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_UndefineSpace_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_UndefineSpace_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_UndefineSpace_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_UndefineSpace_Finish(esysContext)

def Esys_NV_UndefineSpaceSpecial(esysContext: 'ESYS_CONTEXT *', nvIndex: 'unsigned int', platform: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_UndefineSpaceSpecial(ESYS_CONTEXT * esysContext, unsigned int nvIndex, unsigned int platform, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_UndefineSpaceSpecial(esysContext, nvIndex, platform, shandle1, shandle2, shandle3)

def Esys_NV_UndefineSpaceSpecial_Async(esysContext: 'ESYS_CONTEXT *', nvIndex: 'unsigned int', platform: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_UndefineSpaceSpecial_Async(ESYS_CONTEXT * esysContext, unsigned int nvIndex, unsigned int platform, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_UndefineSpaceSpecial_Async(esysContext, nvIndex, platform, shandle1, shandle2, shandle3)

def Esys_NV_UndefineSpaceSpecial_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_UndefineSpaceSpecial_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_UndefineSpaceSpecial_Finish(esysContext)

def Esys_NV_ReadPublic(esysContext: 'ESYS_CONTEXT *', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', nvPublic: 'TPM2B_NV_PUBLIC **', nvName: 'TPM2B_NAME **') -> "TSS2_RC":
    """Esys_NV_ReadPublic(ESYS_CONTEXT * esysContext, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_NV_PUBLIC ** nvPublic, TPM2B_NAME ** nvName) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ReadPublic(esysContext, nvIndex, shandle1, shandle2, shandle3, nvPublic, nvName)

def Esys_NV_ReadPublic_Async(esysContext: 'ESYS_CONTEXT *', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_ReadPublic_Async(ESYS_CONTEXT * esysContext, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ReadPublic_Async(esysContext, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_ReadPublic_Finish(esysContext: 'ESYS_CONTEXT *', nvPublic: 'TPM2B_NV_PUBLIC **', nvName: 'TPM2B_NAME **') -> "TSS2_RC":
    """Esys_NV_ReadPublic_Finish(ESYS_CONTEXT * esysContext, TPM2B_NV_PUBLIC ** nvPublic, TPM2B_NAME ** nvName) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ReadPublic_Finish(esysContext, nvPublic, nvName)

def Esys_NV_Write(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', data: 'TPM2B_MAX_NV_BUFFER', offset: 'UINT16') -> "TSS2_RC":
    """Esys_NV_Write(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_NV_BUFFER data, UINT16 offset) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Write(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, data, offset)

def Esys_NV_Write_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', data: 'TPM2B_MAX_NV_BUFFER', offset: 'UINT16') -> "TSS2_RC":
    """Esys_NV_Write_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_NV_BUFFER data, UINT16 offset) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Write_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, data, offset)

def Esys_NV_Write_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_Write_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Write_Finish(esysContext)

def Esys_NV_Increment(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_Increment(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Increment(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_Increment_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_Increment_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Increment_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_Increment_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_Increment_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Increment_Finish(esysContext)

def Esys_NV_Extend(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', data: 'TPM2B_MAX_NV_BUFFER') -> "TSS2_RC":
    """Esys_NV_Extend(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_NV_BUFFER data) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Extend(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, data)

def Esys_NV_Extend_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', data: 'TPM2B_MAX_NV_BUFFER') -> "TSS2_RC":
    """Esys_NV_Extend_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_MAX_NV_BUFFER data) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Extend_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, data)

def Esys_NV_Extend_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_Extend_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Extend_Finish(esysContext)

def Esys_NV_SetBits(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', bits: 'UINT64') -> "TSS2_RC":
    """Esys_NV_SetBits(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT64 bits) -> TSS2_RC"""
    return _esys_binding.Esys_NV_SetBits(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, bits)

def Esys_NV_SetBits_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', bits: 'UINT64') -> "TSS2_RC":
    """Esys_NV_SetBits_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT64 bits) -> TSS2_RC"""
    return _esys_binding.Esys_NV_SetBits_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, bits)

def Esys_NV_SetBits_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_SetBits_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_SetBits_Finish(esysContext)

def Esys_NV_WriteLock(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_WriteLock(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_WriteLock(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_WriteLock_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_WriteLock_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_WriteLock_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_WriteLock_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_WriteLock_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_WriteLock_Finish(esysContext)

def Esys_NV_GlobalWriteLock(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_GlobalWriteLock(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_GlobalWriteLock(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_NV_GlobalWriteLock_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_GlobalWriteLock_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_GlobalWriteLock_Async(esysContext, authHandle, shandle1, shandle2, shandle3)

def Esys_NV_GlobalWriteLock_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_GlobalWriteLock_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_GlobalWriteLock_Finish(esysContext)

def Esys_NV_Read(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', size: 'UINT16', offset: 'UINT16', data: 'TPM2B_MAX_NV_BUFFER **') -> "TSS2_RC":
    """Esys_NV_Read(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT16 size, UINT16 offset, TPM2B_MAX_NV_BUFFER ** data) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Read(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, size, offset, data)

def Esys_NV_Read_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', size: 'UINT16', offset: 'UINT16') -> "TSS2_RC":
    """Esys_NV_Read_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, UINT16 size, UINT16 offset) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Read_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3, size, offset)

def Esys_NV_Read_Finish(esysContext: 'ESYS_CONTEXT *', data: 'TPM2B_MAX_NV_BUFFER **') -> "TSS2_RC":
    """Esys_NV_Read_Finish(ESYS_CONTEXT * esysContext, TPM2B_MAX_NV_BUFFER ** data) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Read_Finish(esysContext, data)

def Esys_NV_ReadLock(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_ReadLock(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ReadLock(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_ReadLock_Async(esysContext: 'ESYS_CONTEXT *', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int') -> "TSS2_RC":
    """Esys_NV_ReadLock_Async(ESYS_CONTEXT * esysContext, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ReadLock_Async(esysContext, authHandle, nvIndex, shandle1, shandle2, shandle3)

def Esys_NV_ReadLock_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_ReadLock_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ReadLock_Finish(esysContext)

def Esys_NV_ChangeAuth(esysContext: 'ESYS_CONTEXT *', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newAuth: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_NV_ChangeAuth(ESYS_CONTEXT * esysContext, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST newAuth) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ChangeAuth(esysContext, nvIndex, shandle1, shandle2, shandle3, newAuth)

def Esys_NV_ChangeAuth_Async(esysContext: 'ESYS_CONTEXT *', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', newAuth: 'TPM2B_DIGEST') -> "TSS2_RC":
    """Esys_NV_ChangeAuth_Async(ESYS_CONTEXT * esysContext, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DIGEST newAuth) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ChangeAuth_Async(esysContext, nvIndex, shandle1, shandle2, shandle3, newAuth)

def Esys_NV_ChangeAuth_Finish(esysContext: 'ESYS_CONTEXT *') -> "TSS2_RC":
    """Esys_NV_ChangeAuth_Finish(ESYS_CONTEXT * esysContext) -> TSS2_RC"""
    return _esys_binding.Esys_NV_ChangeAuth_Finish(esysContext)

def Esys_NV_Certify(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', size: 'UINT16', offset: 'UINT16', certifyInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_NV_Certify(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, UINT16 size, UINT16 offset, TPM2B_ATTEST ** certifyInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Certify(esysContext, signHandle, authHandle, nvIndex, shandle1, shandle2, shandle3, qualifyingData, inScheme, size, offset, certifyInfo, signature)

def Esys_NV_Certify_Async(esysContext: 'ESYS_CONTEXT *', signHandle: 'unsigned int', authHandle: 'unsigned int', nvIndex: 'unsigned int', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', qualifyingData: 'TPM2B_DATA', inScheme: 'TPMT_SIG_SCHEME', size: 'UINT16', offset: 'UINT16') -> "TSS2_RC":
    """Esys_NV_Certify_Async(ESYS_CONTEXT * esysContext, unsigned int signHandle, unsigned int authHandle, unsigned int nvIndex, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA qualifyingData, TPMT_SIG_SCHEME inScheme, UINT16 size, UINT16 offset) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Certify_Async(esysContext, signHandle, authHandle, nvIndex, shandle1, shandle2, shandle3, qualifyingData, inScheme, size, offset)

def Esys_NV_Certify_Finish(esysContext: 'ESYS_CONTEXT *', certifyInfo: 'TPM2B_ATTEST **', signature: 'TPMT_SIGNATURE **') -> "TSS2_RC":
    """Esys_NV_Certify_Finish(ESYS_CONTEXT * esysContext, TPM2B_ATTEST ** certifyInfo, TPMT_SIGNATURE ** signature) -> TSS2_RC"""
    return _esys_binding.Esys_NV_Certify_Finish(esysContext, certifyInfo, signature)

def Esys_Vendor_TCG_Test(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inputData: 'TPM2B_DATA', outputData: 'TPM2B_DATA **') -> "TSS2_RC":
    """Esys_Vendor_TCG_Test(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA inputData, TPM2B_DATA ** outputData) -> TSS2_RC"""
    return _esys_binding.Esys_Vendor_TCG_Test(esysContext, shandle1, shandle2, shandle3, inputData, outputData)

def Esys_Vendor_TCG_Test_Async(esysContext: 'ESYS_CONTEXT *', shandle1: 'unsigned int', shandle2: 'unsigned int', shandle3: 'unsigned int', inputData: 'TPM2B_DATA') -> "TSS2_RC":
    """Esys_Vendor_TCG_Test_Async(ESYS_CONTEXT * esysContext, unsigned int shandle1, unsigned int shandle2, unsigned int shandle3, TPM2B_DATA inputData) -> TSS2_RC"""
    return _esys_binding.Esys_Vendor_TCG_Test_Async(esysContext, shandle1, shandle2, shandle3, inputData)

def Esys_Vendor_TCG_Test_Finish(esysContext: 'ESYS_CONTEXT *', outputData: 'TPM2B_DATA **') -> "TSS2_RC":
    """Esys_Vendor_TCG_Test_Finish(ESYS_CONTEXT * esysContext, TPM2B_DATA ** outputData) -> TSS2_RC"""
    return _esys_binding.Esys_Vendor_TCG_Test_Finish(esysContext, outputData)

def Esys_Free(ptr: 'void *') -> "void":
    """Esys_Free(void * ptr)"""
    return _esys_binding.Esys_Free(ptr)
# This file is compatible with both classic and new-style classes.


