You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef XML_TDESC_H
+#define XML_TDESC_H
+
+#include "common/gdb_optional.h"
+#include <string>
+
struct target_ops;
struct target_desc;
const struct target_desc *target_read_description_xml (struct target_ops *);
-/* Fetches an XML target description using OPS, processing
- includes, but not parsing it. Used to dump whole tdesc
- as a single XML file. */
+/* Fetches an XML target description using OPS, processing includes,
+ but not parsing it. Used to dump whole tdesc as a single XML file.
+ Returns the description on success, and a disengaged optional
+ otherwise. */
+gdb::optional<std::string> target_fetch_description_xml (target_ops *ops);
+
+#endif /* XML_TDESC_H */
-char *target_fetch_description_xml (struct target_ops *ops);