Structs
TLP Packet structure is high level abstraction for entire TLP packet
Contains Header and Data
TLP Packet Header
Contains bytes for Packet header and informations about TLP type
Enums
Traits
Completion Request Trait
Completions are always 3DW (for with data (fmt = b010) and without data (fmt = b000) )
This trait is provided to have same API as other headers with variable size
To obtain this trait
new_cmpl_req()
function has to be used
Trait release user from dealing with bitfield structures.Configuration Request Trait:
Configuration Requests Headers are always same size (3DW),
this trait is provided to have same API as other headers with variable size
Memory Request Trait:
Applies to 32 and 64 bits requests as well as legacy IO-Request
(Legacy IO Request has the same structure as MemRead3DW)
Software using the library may want to use trait instead of bitfield structures
Both 3DW (32-bit) and 4DW (64-bit) headers implement this trait
3DW header is also used for all Legacy IO Requests.
Message Request trait
Provide method to access fields in DW2-4 header is handled by TlpHeader
Functions
Obtain Completion Request dyn Trait:
Obtain Configuration Request trait from bytes in vector as dyn
Obtain Memory Request trait from bytes in vector as dyn
This is preffered way of dealing with TLP headers as exact format (32/64 bits) is not required
Obtain Message Request dyn Trait: