blob: e8db56a85ce964f8b58c19141d8fe98c28e64714 [file] [log] [blame]
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef HARDWARE_INTERFACES_KEYMASTER_V4_1_SUPPORT_INCLUDE_KEYMASTER_TAGS_H_
#define HARDWARE_INTERFACES_KEYMASTER_V4_1_SUPPORT_INCLUDE_KEYMASTER_TAGS_H_
#include <android/hardware/keymaster/4.1/types.h>
#include <keymasterV4_0/keymaster_tags.h>
namespace android::hardware::keymaster::V4_1 {
using V4_0::Algorithm;
using V4_0::BlockMode;
using V4_0::Digest;
using V4_0::EcCurve;
using V4_0::HardwareAuthenticatorType;
using V4_0::HardwareAuthToken;
using V4_0::HmacSharingParameters;
using V4_0::KeyBlobUsageRequirements;
using V4_0::KeyCharacteristics;
using V4_0::KeyFormat;
using V4_0::KeyOrigin;
using V4_0::KeyParameter;
using V4_0::KeyPurpose;
using V4_0::OperationHandle;
using V4_0::PaddingMode;
using V4_0::SecurityLevel;
using V4_0::TagType;
using V4_0::VerificationToken;
using V4_0::NullOr;
using V4_0::TypedTag;
using V4_0::TAG_ACTIVE_DATETIME;
using V4_0::TAG_ALGORITHM;
using V4_0::TAG_ALLOW_WHILE_ON_BODY;
using V4_0::TAG_APPLICATION_DATA;
using V4_0::TAG_APPLICATION_ID;
using V4_0::TAG_ASSOCIATED_DATA;
using V4_0::TAG_ATTESTATION_APPLICATION_ID;
using V4_0::TAG_ATTESTATION_CHALLENGE;
using V4_0::TAG_ATTESTATION_ID_BRAND;
using V4_0::TAG_ATTESTATION_ID_DEVICE;
using V4_0::TAG_ATTESTATION_ID_IMEI;
using V4_0::TAG_ATTESTATION_ID_MANUFACTURER;
using V4_0::TAG_ATTESTATION_ID_MEID;
using V4_0::TAG_ATTESTATION_ID_MODEL;
using V4_0::TAG_ATTESTATION_ID_PRODUCT;
using V4_0::TAG_ATTESTATION_ID_SERIAL;
using V4_0::TAG_AUTH_TIMEOUT;
using V4_0::TAG_BLOB_USAGE_REQUIREMENTS;
using V4_0::TAG_BLOCK_MODE;
using V4_0::TAG_BOOT_PATCHLEVEL;
using V4_0::TAG_BOOTLOADER_ONLY;
using V4_0::TAG_CALLER_NONCE;
using V4_0::TAG_CONFIRMATION_TOKEN;
using V4_0::TAG_CREATION_DATETIME;
using V4_0::TAG_DIGEST;
using V4_0::TAG_EC_CURVE;
using V4_0::TAG_HARDWARE_TYPE;
using V4_0::TAG_INCLUDE_UNIQUE_ID;
using V4_0::TAG_INVALID;
using V4_0::TAG_KEY_SIZE;
using V4_0::TAG_MAC_LENGTH;
using V4_0::TAG_MAX_USES_PER_BOOT;
using V4_0::TAG_MIN_MAC_LENGTH;
using V4_0::TAG_MIN_SECONDS_BETWEEN_OPS;
using V4_0::TAG_NO_AUTH_REQUIRED;
using V4_0::TAG_NONCE;
using V4_0::TAG_ORIGIN;
using V4_0::TAG_ORIGINATION_EXPIRE_DATETIME;
using V4_0::TAG_OS_PATCHLEVEL;
using V4_0::TAG_OS_VERSION;
using V4_0::TAG_PADDING;
using V4_0::TAG_PURPOSE;
using V4_0::TAG_RESET_SINCE_ID_ROTATION;
using V4_0::TAG_ROLLBACK_RESISTANCE;
using V4_0::TAG_ROOT_OF_TRUST;
using V4_0::TAG_RSA_PUBLIC_EXPONENT;
using V4_0::TAG_TRUSTED_CONFIRMATION_REQUIRED;
using V4_0::TAG_TRUSTED_USER_PRESENCE_REQUIRED;
using V4_0::TAG_UNIQUE_ID;
using V4_0::TAG_UNLOCKED_DEVICE_REQUIRED;
using V4_0::TAG_USAGE_EXPIRE_DATETIME;
using V4_0::TAG_USER_AUTH_TYPE;
using V4_0::TAG_USER_ID;
using V4_0::TAG_USER_SECURE_ID;
using V4_0::TAG_VENDOR_PATCHLEVEL;
#define DECLARE_KM_4_1_TYPED_TAG(name) \
typedef typename V4_0::Tag2TypedTag<(static_cast<V4_0::Tag>(V4_1::Tag::name))>::type \
TAG_##name##_t; \
static TAG_##name##_t TAG_##name;
DECLARE_KM_4_1_TYPED_TAG(EARLY_BOOT_ONLY);
DECLARE_KM_4_1_TYPED_TAG(DEVICE_UNIQUE_ATTESTATION);
DECLARE_KM_4_1_TYPED_TAG(STORAGE_KEY);
DECLARE_KM_4_1_TYPED_TAG(IDENTITY_CREDENTIAL_KEY);
} // namespace android::hardware::keymaster::V4_1
#endif // HARDWARE_INTERFACES_KEYMASTER_V4_1_SUPPORT_INCLUDE_KEYMASTER_TAGS_H_