mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-04 00:20:55 +00:00
os: accessor for addr and size of packet stream
This commit is contained in:
parent
3858e1df51
commit
f9523c32d5
@ -532,6 +532,7 @@ class Genode::Packet_stream_base
|
|||||||
Genode::Region_map &_rm;
|
Genode::Region_map &_rm;
|
||||||
Genode::Dataspace_capability _ds_cap;
|
Genode::Dataspace_capability _ds_cap;
|
||||||
void *_ds_local_base;
|
void *_ds_local_base;
|
||||||
|
Genode::size_t _ds_size { 0 };
|
||||||
|
|
||||||
Genode::off_t _submit_queue_offset;
|
Genode::off_t _submit_queue_offset;
|
||||||
Genode::off_t _ack_queue_offset;
|
Genode::off_t _ack_queue_offset;
|
||||||
@ -563,6 +564,7 @@ class Genode::Packet_stream_base
|
|||||||
if ((Genode::size_t)_bulk_buffer_offset >= ds_size)
|
if ((Genode::size_t)_bulk_buffer_offset >= ds_size)
|
||||||
throw Transport_dataspace_too_small();
|
throw Transport_dataspace_too_small();
|
||||||
|
|
||||||
|
_ds_size = ds_size;
|
||||||
_bulk_buffer_size = ds_size - _bulk_buffer_offset;
|
_bulk_buffer_size = ds_size - _bulk_buffer_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -617,6 +619,9 @@ class Genode::Packet_stream_base
|
|||||||
|
|
||||||
return (CONTENT_TYPE *)((Genode::addr_t)_ds_local_base + packet.offset());
|
return (CONTENT_TYPE *)((Genode::addr_t)_ds_local_base + packet.offset());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Genode::addr_t ds_local_base() const { return (Genode::addr_t)_ds_local_base; }
|
||||||
|
Genode::addr_t ds_size() const { return _ds_size; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -823,6 +828,9 @@ class Genode::Packet_stream_source : private Packet_stream_base
|
|||||||
|
|
||||||
Genode::Dataspace_capability dataspace() {
|
Genode::Dataspace_capability dataspace() {
|
||||||
return Packet_stream_base::_dataspace(); }
|
return Packet_stream_base::_dataspace(); }
|
||||||
|
|
||||||
|
Genode::addr_t ds_local_base() const { return reinterpret_cast<Genode::addr_t>(_ds_local_base); }
|
||||||
|
Genode::addr_t ds_size() const { return Packet_stream_base::_ds_size; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -998,6 +1006,9 @@ class Genode::Packet_stream_sink : private Packet_stream_base
|
|||||||
|
|
||||||
Genode::Dataspace_capability dataspace() {
|
Genode::Dataspace_capability dataspace() {
|
||||||
return Packet_stream_base::_dataspace(); }
|
return Packet_stream_base::_dataspace(); }
|
||||||
|
|
||||||
|
Genode::addr_t ds_local_base() const { return reinterpret_cast<Genode::addr_t>(_ds_local_base); }
|
||||||
|
Genode::addr_t ds_size() const { return Packet_stream_base::_ds_size; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _INCLUDE__OS__PACKET_STREAM_H_ */
|
#endif /* _INCLUDE__OS__PACKET_STREAM_H_ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user