/*
 * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 */
/**
 * \file psa_crypto_extra.h
 *
 * \brief PSA cryptography module: vendor extensions
 *
 * \note This file may not be included directly. Applications must
 * include psa_crypto.h.
 *
 * This file is reserved for vendor-specific definitions.
 */

/**
 *\note This implementation currently doesn't provide support to any
 *      vendor-specific extension or definition, so this header file
 *      is empty.
 */

#ifndef PSA_CRYPTO_EXTRA_H
#define PSA_CRYPTO_EXTRA_H

#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
}
#endif

#endif /* PSA_CRYPTO_EXTRA_H */
