intel::security::metee(3)

πŸ“¦
version 6.2.5 Β· 5 versions
, in epel 10

πŸ’… 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 (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. 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 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. 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, 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). 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