X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Freggroups.h;h=702a072df7cc338ca089968447ecd05c8dcb464e;hb=c0c468d562649df0f695737262b6230b7a56a4bb;hp=f963192fa271a866d2e1d4fc25fbfa73ea0d4b80;hpb=4c38e0a4fcb69f8586d8db0b9cdb8dbab5980811;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/reggroups.h b/gdb/reggroups.h index f963192fa2..702a072df7 100644 --- a/gdb/reggroups.h +++ b/gdb/reggroups.h @@ -1,6 +1,6 @@ /* Register groupings for GDB, the GNU debugger. - Copyright (C) 2002, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. Contributed by Red Hat. @@ -41,6 +41,10 @@ extern struct reggroup *const restore_reggroup; /* Create a new local register group. */ extern struct reggroup *reggroup_new (const char *name, enum reggroup_type type); +/* Create a new register group allocated onto the gdbarch obstack. */ +extern struct reggroup *reggroup_gdbarch_new (struct gdbarch *gdbarch, + const char *name, + enum reggroup_type type); /* Add a register group (with attribute values) to the pre-defined list. */ extern void reggroup_add (struct gdbarch *gdbarch, struct reggroup *group); @@ -49,11 +53,16 @@ extern void reggroup_add (struct gdbarch *gdbarch, struct reggroup *group); extern const char *reggroup_name (struct reggroup *reggroup); extern enum reggroup_type reggroup_type (struct reggroup *reggroup); -/* Interator for the architecture's register groups. Pass in NULL, - returns the first group. Pass in a group, returns the next group, - or NULL when the last group is reached. */ +/* Iterators for the architecture's register groups. Pass in NULL, returns + the first (for next), or last (for prev) group. Pass in a group, + returns the next or previous group, or NULL when either the end or the + beginning of the group list is reached. */ extern struct reggroup *reggroup_next (struct gdbarch *gdbarch, struct reggroup *last); +extern struct reggroup *reggroup_prev (struct gdbarch *gdbarch, + struct reggroup *curr); +/* Find a reggroup by name. */ +extern reggroup *reggroup_find (struct gdbarch *gdbarch, const char *name); /* Is REGNUM a member of REGGROUP? */ extern int default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,