intel::security::metee(3)
π intel::security::metee(3) β Library Functions Manual π
okay so bestie, buckle up β this is a C++ class situation, and she's lowkey iconic. The manual name is intel::security::metee(3) and she lives in Library Functions Manual land, iykyk.
β¨ NAME β¨
intel::security::metee β a C++ class to access CSE/CSME/GSC firmware via a mei interface. fr fr that's the whole vibe.
π¦ 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 ()
like, that's a LOT of functions and every single one is here, no skips π
πΈ Detailed Description πΈ
C++ class to access CSE/CSME/GSC firmware via a mei interface.
She's the Main interface class β main character energy honestly.
Definition at line 84 of file meteepp.h.
π Constructor & Destructor Documentation π
π intel::security::metee::metee () [inline]
Default constructor β for when connection to specific client is not required. the no-thoughts-just-vibes constructor β¨
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 (fromenum 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. she's got a GUID now, very official π
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 sessionlog_levelβ log level to set (fromenum 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 sessionlog_levelβ log level to set (fromenum 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 sessionlog_levelβ log level to set (fromenum 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 sessiondeviceβ device address structurelog_levelβ log level to set (fromenum 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 sessiondeviceβ device address structurelog_levelβ log level to set (fromenum 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 sessiondeviceβ device address structurelog_levelβ log level to set (fromenum 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. not me getting copied, absolutely not π
π¦ intel::security::metee::metee (metee && other) [inline], [noexcept]
Move constructor β she moves, she doesn't copy.
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. clean exit, no lingering, periodt.
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. like hitting the brakes mid-convo π
Definition at line 196 of file meteepp.h.
π
void intel::security::metee::connect () [inline]
Connects to the TEE driver and starts a session. making it official π«Ά
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 β she's bilingual like that π
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 β yeah she ghosted Linux on this one, no cap.
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. a little status check, we love a check-in π
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. what kind of device is she? the lore β¨
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, setNULLto 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). size matters, apparently π
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. no copying, we said what we said π ββοΈ
π¦ 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. patiently. on purpose. π§
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. just a little register reading, nbd β
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. not a human, just vibes π€π
and that's the whole page bestie!! π this gem comes from metee, version/date line was metee intel::security::metee(3) β mwah, go read the source, ily πππ¦
π¦ where this page comes from
- epel 10: intel-metee-devel 6.2.5-1.el10_3 Β· Apache-2.0 AND BSD-3-Clause AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause)
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms