intel_security_metee - Man Page

C++ class to access CSE/CSME/GSC firmware via a mei interface​.

Synopsis

#include <meteepp​.h>

Public Member Functions

metee ()
metee (uint32_t log_level, TeeLogCallback2 log_callback)
metee (const GUID &guid)
metee (const GUID &guid, uint32_t log_level)
metee (const GUID &guid, uint32_t log_level, TeeLogCallback log_callback)
metee (const GUID &guid, uint32_t log_level, TeeLogCallback2 log_callback)
metee (const GUID &guid, const struct tee_device_address &device, uint32_t log_level)
metee (const GUID &guid, const struct tee_device_address &device, uint32_t log_level, TeeLogCallback log_callback)
metee (const GUID &guid, const struct tee_device_address &device, uint32_t log_level, TeeLogCallback2 log_callback)
metee (const metee &other)=delete
metee (metee &&other) noexcept
metee & operator= (const metee &other)=delete
metee & operator= (metee &&other) noexcept
virtual ~metee ()
void cancel_io ()
void connect ()
std::vector< uint8_t > read (uint32_t timeout)
size_t write (const std::vector< uint8_t > &buffer, uint32_t timeout)
uint32_t fw_status (uint32_t fwStatusNum)
uint32_t trc ()
std::string kind ()
uint32_t log_level (uint32_t log_level)
uint32_t log_level ()
void log_callback (TeeLogCallback log_callback)
uint32_t max_msg_len ()
uint8_t protocol_ver ()
TEE_DEVICE_HANDLE device_handle ()
std::string driver_version ()

Detailed Description

C++ class to access CSE/CSME/GSC firmware via a mei interface​.

Main interface class

Definition at line 84 of file meteepp​.h​.

Constructor & Destructor Documentation

intel::security::metee::metee () [inline]

Default constructor, when connection to specific client is not required

Definition at line 88 of file meteepp​.h​.

intel::security::metee::metee (uint32_t log_level, TeeLogCallback2 log_callback) [inline]

Constructor without client GUID, when connection to specific client is not required

Parameters

log_level log level to set (from enum tee_log_level)
log_callback pointer to function to run for log write (type 2)

Definition at line 94 of file meteepp​.h​.

intel::security::metee::metee (const GUID & guid) [inline]

Constructor

Parameters

guid GUID of the FW client that want to start a session

Definition at line 99 of file meteepp​.h​.

intel::security::metee::metee (const GUID & guid, uint32_t log_level) [inline]

Constructor

Parameters

guid GUID of the FW client that want to start a session
log_level log level to set (from enum tee_log_level)

Definition at line 110 of file meteepp​.h​.

intel::security::metee::metee (const GUID & guid, uint32_t log_level, TeeLogCallback log_callback) [inline]

Constructor

Parameters

guid GUID of the FW client that want to start a session
log_level log level to set (from enum tee_log_level)
log_callback pointer to function to run for log write

Definition at line 117 of file meteepp​.h​.

intel::security::metee::metee (const GUID & guid, uint32_t log_level, TeeLogCallback2 log_callback) [inline]

Constructor

Parameters

guid GUID of the FW client that want to start a session
log_level log level to set (from enum tee_log_level)
log_callback pointer to function to run for log write (type 2)

Definition at line 125 of file meteepp​.h​.

intel::security::metee::metee (const GUID & guid, const struct tee_device_address & device, uint32_t log_level) [inline]

Constructor

Parameters

guid GUID of the FW client that want to start a session
device device address structure
log_level log level to set (from enum tee_log_level)

Definition at line 133 of file meteepp​.h​.

intel::security::metee::metee (const GUID & guid, const struct tee_device_address & device, uint32_t log_level, TeeLogCallback log_callback) [inline]

Constructor

Parameters

guid GUID of the FW client that want to start a session
device device address structure
log_level log level to set (from enum tee_log_level)
log_callback pointer to function to run for log write

Definition at line 142 of file meteepp​.h​.

intel::security::metee::metee (const GUID & guid, const struct tee_device_address & device, uint32_t log_level, TeeLogCallback2 log_callback) [inline]

Constructor

Parameters

guid GUID of the FW client that want to start a session
device device address structure
log_level log level to set (from enum tee_log_level)
log_callback pointer to function to run for log write (type 2)

Definition at line 156 of file meteepp​.h​.

intel::security::metee::metee (const metee & other) [delete]

Copy constructor - disabled

intel::security::metee::metee (metee && other) [inline], [noexcept]

Move constructor

Parameters

other Object to move from

Definition at line 170 of file meteepp​.h​.

virtual intel::security::metee::~metee () [inline], [virtual]

Destructor, disconnects, if connected

Definition at line 190 of file meteepp​.h​.

Member Function Documentation

void intel::security::metee::cancel_io () [inline]

Try to stop all in-process reads and writes

Definition at line 196 of file meteepp​.h​.

void intel::security::metee::connect () [inline]

Connects to the TEE driver and starts a session

Definition at line 202 of file meteepp​.h​.

TEE_DEVICE_HANDLE intel::security::metee::device_handle () [inline]

Returns handle of TEE device Obtains HECI device handle on Windows and mei device file descriptor on Linux

Returns

the handle of the session​.

Definition at line 349 of file meteepp​.h​.

std::string intel::security::metee::driver_version () [inline]

Obtains version of the TEE device driver Not implemented on Linux

Returns

Driver version as dotted string​.

Definition at line 358 of file meteepp​.h​.

uint32_t intel::security::metee::fw_status (uint32_t fwStatusNum) [inline]

Retrieves specified FW status register​.

Parameters

fwStatusNum The FW status register number (0-5)​.

Returns

obtained FW status​.

Definition at line 253 of file meteepp​.h​.

std::string intel::security::metee::kind () [inline]

Retrieves device kind​.

Returns

kind string value​.

Definition at line 285 of file meteepp​.h​.

void intel::security::metee::log_callback (TeeLogCallback log_callback) [inline]

Set log callback

Parameters

log_callback pointer to function to run for log write, set NULL to use built-in function

Definition at line 322 of file meteepp​.h​.

uint32_t intel::security::metee::log_level () [inline]

Retrieve current log level

Returns

current log level

Definition at line 313 of file meteepp​.h​.

uint32_t intel::security::metee::log_level (uint32_t log_level) [inline]

Set log level

Parameters

log_level log level to set

Returns

previous log level

Definition at line 304 of file meteepp​.h​.

uint32_t intel::security::metee::max_msg_len () [inline]

Retrieve client maximum message length (MTU)

Returns

client maximum message length​.

Definition at line 331 of file meteepp​.h​.

metee & intel::security::metee::operator= (const metee & other) [delete]

Copy operator - disabled

metee & intel::security::metee::operator= (metee && other) [inline], [noexcept]

Move operator

Parameters

other Object to move from

Definition at line 181 of file meteepp​.h​.

uint8_t intel::security::metee::protocol_ver () [inline]

Retrieve client protocol version

Returns

client protocol version​.

Definition at line 340 of file meteepp​.h​.

std::vector< uint8_t > intel::security::metee::read (uint32_t timeout) [inline]

Read data from the TEE device synchronously​.

Parameters

timeout The timeout to complete read in milliseconds, zero for infinite

Returns

vector with data read from the TEE device

Definition at line 216 of file meteepp​.h​.

uint32_t intel::security::metee::trc () [inline]

Retrieves TRC register​.

Returns

TRC value​.

Definition at line 269 of file meteepp​.h​.

size_t intel::security::metee::write (const std::vector< uint8_t > & buffer, uint32_t timeout) [inline]

Writes the specified buffer to the TEE device synchronously​.

Parameters

buffer vector containing the data to be written to the TEE device​.
timeout The timeout to complete write in milliseconds, zero for infinite

Returns

the number of bytes written

Definition at line 236 of file meteepp​.h​.

Author

Generated automatically by Doxygen for metee from the source code​.

Info

metee