+
+ /* Create SALs from address string, storing the result in linespec_result.
+
+ For an explanation about the arguments, see the function
+ `create_sals_from_address_default'.
+
+ This function is called inside `create_breakpoint'. */
+ void (*create_sals_from_address) (char **, struct linespec_result *,
+ enum bptype, char *, char **);
+
+ /* This method will be responsible for creating a breakpoint given its SALs.
+ Usually, it just calls `create_breakpoints_sal' (for ordinary
+ breakpoints). However, there may be some special cases where we might
+ need to do some tweaks, e.g., see
+ `strace_marker_create_breakpoints_sal'.
+
+ This function is called inside `create_breakpoint'. */
+ void (*create_breakpoints_sal) (struct gdbarch *,
+ struct linespec_result *,
+ char *, char *,
+ enum bptype, enum bpdisp, int, int,
+ int, const struct breakpoint_ops *,
+ int, int, int, unsigned);
+
+ /* Given the address string (second parameter), this method decodes it
+ and provides the SAL locations related to it. For ordinary breakpoints,
+ it calls `decode_line_full'.
+
+ This function is called inside `addr_string_to_sals'. */
+ void (*decode_linespec) (struct breakpoint *, char **,
+ struct symtabs_and_lines *);
+
+ /* Return true if this breakpoint explains a signal. See
+ bpstat_explains_signal. */
+ int (*explains_signal) (struct breakpoint *, enum gdb_signal);
+
+ /* Called after evaluating the breakpoint's condition,
+ and only if it evaluated true. */
+ void (*after_condition_true) (struct bpstats *bs);