diff options
Diffstat (limited to 'gdb/value.h')
-rw-r--r-- | gdb/value.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gdb/value.h b/gdb/value.h index 0cbcfca..0c7c785 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -1058,10 +1058,19 @@ extern gdb_mpz value_as_mpz (struct value *val); extern LONGEST unpack_long (struct type *type, const gdb_byte *valaddr); extern CORE_ADDR unpack_pointer (struct type *type, const gdb_byte *valaddr); +/* Unpack a field FIELDNO of the specified TYPE, from the anonymous + object at VALADDR. See unpack_bits_as_long for more details. */ + extern LONGEST unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno); +/* Unpack a field, FIELD, from the anonymous object at VALADDR. See + unpack_bits_as_long for more details. */ + +extern LONGEST unpack_field_as_long (const gdb_byte *valaddr, + struct field *field); + /* Unpack a bitfield of the specified FIELD_TYPE, from the object at VALADDR, and store the result in *RESULT. The bitfield starts at BITPOS bits and contains BITSIZE bits; if @@ -1297,10 +1306,9 @@ extern struct value *value_struct_elt (struct value **argp, const char *name, int *static_memfuncp, const char *err); -extern struct value *value_struct_elt_bitpos (struct value **argp, +extern struct value *value_struct_elt_bitpos (struct value *val, int bitpos, - struct type *field_type, - const char *err); + struct type *field_type); extern struct value *value_aggregate_elt (struct type *curtype, const char *name, |