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 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::connect () [inline]
Connects to the TEE driver and starts a session
Definition at line 196 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 343 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 352 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 247 of file meteepp.h.
std::string intel::security::metee::kind () [inline]
Retrieves device kind.
- Returns
kind string value.
Definition at line 279 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 316 of file meteepp.h.
uint32_t intel::security::metee::log_level () [inline]
Retrieve current log level
- Returns
current log level
Definition at line 307 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 298 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 325 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 334 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 210 of file meteepp.h.
uint32_t intel::security::metee::trc () [inline]
Retrieves TRC register.
- Returns
TRC value.
Definition at line 263 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 230 of file meteepp.h.
Author
Generated automatically by Doxygen for metee from the source code.