-extern int section_table_xfer_memory_partial (gdb_byte *, const gdb_byte *,
- ULONGEST, LONGEST,
- struct target_section *,
- struct target_section *,
- const char *);
+extern enum target_xfer_status
+ section_table_xfer_memory_partial (gdb_byte *,
+ const gdb_byte *,
+ ULONGEST, ULONGEST, ULONGEST *,
+ const target_section_table &,
+ gdb::function_view<bool
+ (const struct target_section *)> match_cb
+ = nullptr);
+
+/* Read from mappable read-only sections of BFD executable files.
+ Similar to exec_read_partial_read_only, but return
+ TARGET_XFER_UNAVAILABLE if data is unavailable. */
+
+extern enum target_xfer_status
+ section_table_read_available_memory (gdb_byte *readbuf, ULONGEST offset,
+ ULONGEST len, ULONGEST *xfered_len);