This patch fixes the following Ecc reported error: The #ifndef at the start of an include file should have one postfix underscore, and no prefix underscore character Some include guards have been modified to match the name of the header file. Some comments have also been added on the closing '#endif'. Cc: Bret Barkelew <bret.barkelew@microsoft.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
121 lines
3.1 KiB
C
121 lines
3.1 KiB
C
/** @file
|
|
OP-TEE specific header file.
|
|
|
|
Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>
|
|
Copyright (c) 2021, Arm Limited. All rights reserved.<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef OPTEE_LIB_H_
|
|
#define OPTEE_LIB_H_
|
|
|
|
/*
|
|
* The 'Trusted OS Call UID' is supposed to return the following UUID for
|
|
* OP-TEE OS. This is a 128-bit value.
|
|
*/
|
|
#define OPTEE_OS_UID0 0x384fb3e0
|
|
#define OPTEE_OS_UID1 0xe7f811e3
|
|
#define OPTEE_OS_UID2 0xaf630002
|
|
#define OPTEE_OS_UID3 0xa5d5c51b
|
|
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_NONE 0x0
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INPUT 0x1
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_OUTPUT 0x2
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INOUT 0x3
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INPUT 0x9
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_OUTPUT 0xa
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INOUT 0xb
|
|
|
|
#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MASK 0xff
|
|
|
|
#define OPTEE_SUCCESS 0x00000000
|
|
#define OPTEE_ORIGIN_COMMUNICATION 0x00000002
|
|
#define OPTEE_ERROR_COMMUNICATION 0xFFFF000E
|
|
|
|
typedef struct {
|
|
UINT64 BufferAddress;
|
|
UINT64 Size;
|
|
UINT64 SharedMemoryReference;
|
|
} OPTEE_MESSAGE_PARAM_MEMORY;
|
|
|
|
typedef struct {
|
|
UINT64 A;
|
|
UINT64 B;
|
|
UINT64 C;
|
|
} OPTEE_MESSAGE_PARAM_VALUE;
|
|
|
|
typedef union {
|
|
OPTEE_MESSAGE_PARAM_MEMORY Memory;
|
|
OPTEE_MESSAGE_PARAM_VALUE Value;
|
|
} OPTEE_MESSAGE_PARAM_UNION;
|
|
|
|
typedef struct {
|
|
UINT64 Attribute;
|
|
OPTEE_MESSAGE_PARAM_UNION Union;
|
|
} OPTEE_MESSAGE_PARAM;
|
|
|
|
#define OPTEE_MAX_CALL_PARAMS 4
|
|
|
|
typedef struct {
|
|
UINT32 Command;
|
|
UINT32 Function;
|
|
UINT32 Session;
|
|
UINT32 CancelId;
|
|
UINT32 Pad;
|
|
UINT32 Return;
|
|
UINT32 ReturnOrigin;
|
|
UINT32 NumParams;
|
|
|
|
// NumParams tells the actual number of element in Params
|
|
OPTEE_MESSAGE_PARAM Params[OPTEE_MAX_CALL_PARAMS];
|
|
} OPTEE_MESSAGE_ARG;
|
|
|
|
typedef struct {
|
|
EFI_GUID Uuid; // [in] GUID/UUID of the Trusted Application
|
|
UINT32 Session; // [out] Session id
|
|
UINT32 Return; // [out] Return value
|
|
UINT32 ReturnOrigin; // [out] Origin of the return value
|
|
} OPTEE_OPEN_SESSION_ARG;
|
|
|
|
typedef struct {
|
|
UINT32 Function; // [in] Trusted Application function, specific to the TA
|
|
UINT32 Session; // [in] Session id
|
|
UINT32 Return; // [out] Return value
|
|
UINT32 ReturnOrigin; // [out] Origin of the return value
|
|
OPTEE_MESSAGE_PARAM Params[OPTEE_MAX_CALL_PARAMS]; // Params for function to be invoked
|
|
} OPTEE_INVOKE_FUNCTION_ARG;
|
|
|
|
BOOLEAN
|
|
EFIAPI
|
|
IsOpteePresent (
|
|
VOID
|
|
);
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
OpteeInit (
|
|
VOID
|
|
);
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
OpteeOpenSession (
|
|
IN OUT OPTEE_OPEN_SESSION_ARG *OpenSessionArg
|
|
);
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
OpteeCloseSession (
|
|
IN UINT32 Session
|
|
);
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
OpteeInvokeFunction (
|
|
IN OUT OPTEE_INVOKE_FUNCTION_ARG *InvokeFunctionArg
|
|
);
|
|
|
|
#endif // OPTEE_LIB_H_
|