8 #ifndef INCLUDED_UHD_TYPES_SID_HPP
9 #define INCLUDED_UHD_TYPES_SID_HPP
82 sid_t(uint8_t src_addr, uint8_t src_ep, uint8_t dst_addr, uint8_t dst_ep);
106 inline uint32_t
get()
const
113 return _set ? _sid : 0;
118 return (_sid >> 16) & 0xFFFF;
123 return _sid & 0xFFFF;
128 return (get_src() >> 8) & 0xFF;
133 return get_src() & 0xFF;
138 return (get_src_endpoint() >> 4) & 0xF;
143 return (get_src_endpoint()) & 0xF;
148 return (get_dst() >> 8) & 0xFF;
153 return get_dst() & 0xFF;
158 return (get_dst_endpoint() >> 4) & 0xF;
163 return (get_dst_endpoint()) & 0xF;
169 void set(uint32_t new_sid)
215 set_from_str(sid_str);
221 return (not _set and not sid.
is_set()) or (_sid == sid.
get_sid());
226 return _set and _sid == sid;
240 operator uint32_t()
const
245 operator bool()
const
258 std::ios_base::fmtflags ff = out.flags();
259 if (ff & std::ios::hex) {
Represents a stream ID (SID).
Definition: sid.hpp:75
sid_t reversed() const
Swaps dst and src address and returns the new SID.
uint32_t get_dst_xbarport() const
Return crossbar port of the source.
Definition: sid.hpp:156
uint32_t get_dst_addr() const
Return 8-bit address of the destination.
Definition: sid.hpp:146
void set_dst(uint32_t new_addr)
Set the destination address of this SID.
void set_dst_addr(uint32_t new_addr)
bool operator==(uint32_t sid) const
Definition: sid.hpp:224
uint32_t get_src_addr() const
Return 8-bit address of the source.
Definition: sid.hpp:126
void set_dst_xbarport(uint32_t new_xbarport)
bool operator==(const std::string &sid_str) const
Definition: sid.hpp:229
void set_dst_blockport(uint32_t new_blockport)
sid_t()
Create an unset SID.
sid_t(uint8_t src_addr, uint8_t src_ep, uint8_t dst_addr, uint8_t dst_ep)
Create a sid_t object from its four components.
uint32_t get_dst_endpoint() const
Return endpoint of the destination.
Definition: sid.hpp:151
uint32_t get_dst_blockport() const
Return block port of the source.
Definition: sid.hpp:161
bool operator==(const sid_t &sid) const
Definition: sid.hpp:219
sid_t operator=(const uint32_t new_sid)
Definition: sid.hpp:201
std::string to_pp_string_hex() const
Return a hexadecimal string representation of the SID.
sid_t(uint32_t sid)
Create a sid_t object from a 32-Bit SID value.
void set(uint32_t new_sid)
Alias for set_sid()
Definition: sid.hpp:169
void reverse()
Swaps dst and src in-place. This modifies the current SID.
void set_sid(uint32_t new_sid)
uint32_t get_sid() const
Returns a 32-Bit representation of the SID if set, or zero otherwise.
Definition: sid.hpp:111
sid_t operator=(const sid_t &sid)
Definition: sid.hpp:207
uint32_t get_src_blockport() const
Return block port of the source.
Definition: sid.hpp:141
sid_t(const std::string &)
Convert a string representation of a SID into its numerical representation.
sid_t(const sid_t &sid)
Copy a sid.
Definition: sid.hpp:87
uint32_t get() const
Alias for get_sid()
Definition: sid.hpp:106
void set_src(uint32_t new_addr)
Set the source address of this SID.
void set_src_addr(uint32_t new_addr)
void set_from_str(const std::string &)
Convert a string representation of a SID into a numerical one.
uint32_t get_src() const
Return the 16-bit source address of this SID.
Definition: sid.hpp:116
uint32_t get_src_endpoint() const
Return endpoint of the source.
Definition: sid.hpp:131
sid_t operator=(const std::string &sid_str)
Definition: sid.hpp:213
std::string to_pp_string() const
Return a decimal string representation of the SID.
bool is_set() const
Returns true if this actually holds a valid SID.
Definition: sid.hpp:98
uint32_t get_dst() const
Return the 16-bit destination address of this SID.
Definition: sid.hpp:121
void set_src_endpoint(uint32_t new_addr)
uint32_t get_src_xbarport() const
Return crossbar port of the source.
Definition: sid.hpp:136
void set_dst_endpoint(uint32_t new_addr)
#define UHD_API
Definition: config.h:68
Definition: build_info.hpp:13
UHD_API std::ostream & operator<<(std::ostream &os, filter_info_base &f)