1 //! Report information about the loaded shared libraries for targets where there
2 //! are possibly multiple files to be debugged mapped into the same address
3 //! space.
4 
5 use crate::target::Target;
6 use crate::target::TargetResult;
7 
8 /// Target Extension - List an SVR4 (System-V/Unix) target's libraries.
9 pub trait LibrariesSvr4: Target {
10     /// Get library list XML for this target.
11     ///
12     /// See the [GDB Documentation] for a description of the format.
13     ///
14     /// [GDB Documentation]: https://sourceware.org/gdb/current/onlinedocs/gdb.html/Library-List-Format-for-SVR4-Targets.html
15     ///
16     /// Return the number of bytes written into `buf` (which may be less than
17     /// `length`).
18     ///
19     /// If `offset` is greater than the length of the underlying data, return
20     /// `Ok(0)`.
get_libraries_svr4( &self, offset: u64, length: usize, buf: &mut [u8], ) -> TargetResult<usize, Self>21     fn get_libraries_svr4(
22         &self,
23         offset: u64,
24         length: usize,
25         buf: &mut [u8],
26     ) -> TargetResult<usize, Self>;
27 }
28 
29 define_ext!(LibrariesSvr4Ops, LibrariesSvr4);
30