/*
 * Copyright (c) 2017 Samsung Electronics Co., Ltd. All rights reserved.
 *
 * Created in Samsung Ukraine R&D Center (SRK) under a contract between
 * LLC "Samsung Electronics Ukraine Company" (Kiev, Ukraine)
 * and "Samsung Electronics Co", Ltd (Seoul, Republic of Korea)
 *
 * Created on: Dec 18, 2017
 * Author: Kostiantyn Volobuiev <k.volobuyev@samsung.com>
 * Author: Andrey Orlenko (a.orlenko@samsung.com)
 * Brief: Module that responds for common TEE API.
 */

#ifndef TZWCOMMON_H
#define TZWCOMMON_H

#ifdef TZ_MODEL_BLOWFISH
    #include <stdio.h>
    #include <string.h>
    #include <unistd.h>
    #include <tee_internal_api.h>
    #include <tees_secure_object.h>

   // Definition from gpTypes.h
    #define TEE_ALG_SHA1_DIGEST_LENGTH (160 / 8)
    #define TEE_ALG_SHA256_DIGEST_LENGTH (256 / 8)
#endif

#ifdef TZ_MODEL_QCOM
    #include <gpTypes.h>
    #include <qsee_hmac.h>
    #include <qsee_message.h>

    #define DECLARE_TRUSTED_APPLICATION_MAIN_STACK(...)
    #define DECLARE_TRUSTED_APPLICATION_MAIN_HEAP(...)
#endif

#if defined(__cplusplus)
#define EXTERNC extern "C"
#else
#define EXTERNC
#endif  // defined(__cplusplus)

#ifndef IN
    #define IN
#endif

#ifndef OUT
    #define OUT
#endif

#endif // TZWCOMMON_H
