/* Private implementation details of interface between gdb and its
extension languages.
- Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ Copyright (C) 2014-2017 Free Software Foundation, Inc.
This file is part of GDB.
#include "extension.h"
#include <signal.h>
+#include "cli/cli-script.h"
/* The return code for some API calls. */
void (*free_type_printers) (const struct extension_language_defn *,
struct ext_lang_type_printers *);
- /* Try to pretty-print a value of type TYPE located at VALADDR
- + EMBEDDED_OFFSET, which came from the inferior at address ADDRESS
- + EMBEDDED_OFFSET, onto stdio stream STREAM according to OPTIONS.
- VAL is the whole object that came from ADDRESS. VALADDR must point to
- the head of VAL's contents buffer.
+ /* Try to pretty-print a value of type TYPE located at VAL's contents
+ buffer + EMBEDDED_OFFSET, which came from the inferior at address
+ ADDRESS + EMBEDDED_OFFSET, onto stdio stream STREAM according to
+ OPTIONS.
+ VAL is the whole object that came from ADDRESS.
Returns EXT_LANG_RC_OK upon success, EXT_LANG_RC_NOP if the value
is not recognized, and EXT_LANG_RC_ERROR if an error was encountered. */
enum ext_lang_rc (*apply_val_pretty_printer)
(const struct extension_language_defn *,
- struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ struct type *type,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
- const struct value *val, const struct value_print_options *options,
+ struct value *val, const struct value_print_options *options,
const struct language_defn *language);
/* GDB access to the "frame filter" feature.
enum ext_lang_bp_stop (*breakpoint_cond_says_stop)
(const struct extension_language_defn *, struct breakpoint *);
- /* The next three are used to connect GDB's SIGINT handling with the
+ /* The next two are used to connect GDB's SIGINT handling with the
extension language's.
Terminology: If an extension language can use GDB's SIGINT handling then
These need not be implemented, but if one of them is implemented
then they all must be. */
- /* Clear the SIGINT indicator. */
- void (*clear_quit_flag) (const struct extension_language_defn *);
-
/* Set the SIGINT indicator.
This is called by GDB's SIGINT handler and must be async-safe. */
void (*set_quit_flag) (const struct extension_language_defn *);