libdwarf: Str_Offsets section details

libdwarf

Loading...
Searching...
No Matches
Functions
Str_Offsets section details

## Functions
DW_API int | dwarf_open_str_offsets_table_access (Dwarf_Debug dw_dbg, Dwarf_Str_Offsets_Table *dw_table_data, Dwarf_Error *dw_error)
| Creates access to a .debug_str_offsets table.
DW_API int | dwarf_close_str_offsets_table_access (Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Error *dw_error)
| Close str_offsets access, free table_data.
DW_API int | dwarf_next_str_offsets_table (Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Unsigned *dw_unit_length, Dwarf_Unsigned *dw_unit_length_offset, Dwarf_Unsigned *dw_table_start_offset, Dwarf_Half *dw_entry_size, Dwarf_Half *dw_version, Dwarf_Half *dw_padding, Dwarf_Unsigned *dw_table_value_count, Dwarf_Error *dw_error)
| Iterate through the offsets tables.
DW_API int | dwarf_str_offsets_value_by_index (Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Unsigned dw_index_to_entry, Dwarf_Unsigned *dw_entry_value, Dwarf_Error *dw_error)
| Access to an individual str offsets table entry.
DW_API int | dwarf_str_offsets_statistics (Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Unsigned *dw_wasted_byte_count, Dwarf_Unsigned *dw_table_count, Dwarf_Error *dw_error)
| Reports final wasted-bytes count.

## Detailed Description

Shows just the section content in detail. Most library users will never call these, as references to this is handled by the code accessing some Dwarf_Attribute. Reading The Str_Offsets

## Function Documentation

## ◆ dwarf_close_str_offsets_table_access()

DW_API int dwarf_close_str_offsets_table_access | ( | Dwarf_Str_Offsets_Table | dw_table_data,
|  | Dwarf_Error * | dw_error )

Close str_offsets access, free table_data.

See also
  Reading string offsets section data

Parameters

  dw_table_data |
  dw_error | On error dw_error is set to point to the error details.

Returns
  DW_DLV_OK etc. If there is no .debug_str_offsets section it returns DW_DLV_NO_ENTRY If it returns DW_DLV_ERROR there is nothing you can do except report the error and, optionally, call dwarf_dealloc_error to dealloc the error content (and then set the dw_error to NULL as after the dealloc the pointer is stale)..

## ◆ dwarf_next_str_offsets_table()

DW_API int dwarf_next_str_offsets_table | ( | Dwarf_Str_Offsets_Table | dw_table_data,
|  | Dwarf_Unsigned * | dw_unit_length,
|  | Dwarf_Unsigned * | dw_unit_length_offset,
|  | Dwarf_Unsigned * | dw_table_start_offset,
|  | Dwarf_Half * | dw_entry_size,
|  | Dwarf_Half * | dw_version,
|  | Dwarf_Half * | dw_padding,
|  | Dwarf_Unsigned * | dw_table_value_count,
|  | Dwarf_Error * | dw_error )

Iterate through the offsets tables.

See also
  Reading string offsets section data

Access to the tables starts at offset zero. The library progresses through the next table automatically, keeping track internally to know where it is.

Parameters

  dw_table_data | Pass in an open Dwarf_Str_Offsets_Table.
  dw_unit_length | On success returns a table unit_length field
  dw_unit_length_offset | On success returns the section offset of the unit_length field.
  dw_table_start_offset | On success returns the section offset of the array of table entries.
  dw_entry_size | On success returns the entry size (4 or 8)
  dw_version | On success returns the value in the version field 5.
  dw_padding | On success returns the zero value in the padding field.
  dw_table_value_count | On success returns the number of table entries, each of size dw_entry_size, in the table.
  dw_error | On error dw_error is set to point to the error details.

Returns
  DW_DLV_OK Returns DW_DLV_NO_ENTRY if there are no more entries.

## ◆ dwarf_open_str_offsets_table_access()

DW_API int dwarf_open_str_offsets_table_access | ( | Dwarf_Debug | dw_dbg,
|  | Dwarf_Str_Offsets_Table * | dw_table_data,
|  | Dwarf_Error * | dw_error )

Creates access to a .debug_str_offsets table.

See also
  Reading string offsets section data

Parameters

  dw_dbg | Pass in the Dwarf_Debug of interest.
  dw_table_data | On success returns a pointer to an opaque structure for use in further calls.
  dw_error | On error dw_error is set to point to the error details.

Returns
  DW_DLV_OK etc. If there is no .debug_str_offsets section it returns DW_DLV_NO_ENTRY

## ◆ dwarf_str_offsets_statistics()

DW_API int dwarf_str_offsets_statistics | ( | Dwarf_Str_Offsets_Table | dw_table_data,
|  | Dwarf_Unsigned * | dw_wasted_byte_count,
|  | Dwarf_Unsigned * | dw_table_count,
|  | Dwarf_Error * | dw_error )

Reports final wasted-bytes count.

Reports the number of tables seen so far. Not very interesting.

Parameters

  dw_table_data | Pass in the open table pointer.
  dw_wasted_byte_count | Always returns 0 at present.
  dw_table_count | On success returns the total number of tables seen so far in the section.
  dw_error | On error dw_error is set to point to the error details.

Returns
  DW_DLV_OK etc.

## ◆ dwarf_str_offsets_value_by_index()

DW_API int dwarf_str_offsets_value_by_index | ( | Dwarf_Str_Offsets_Table | dw_table_data,
|  | Dwarf_Unsigned | dw_index_to_entry,
|  | Dwarf_Unsigned * | dw_entry_value,
|  | Dwarf_Error * | dw_error )

Access to an individual str offsets table entry.

See also
  Reading string offsets section data

Parameters

  dw_table_data | Pass in the open table pointer.
  dw_index_to_entry | Pass in the entry number, 0 through dw_table_value_count-1 for the active table
  dw_entry_value | On success returns the value in that table entry, an offset into a string table.
  dw_error | On error dw_error is set to point to the error details.

Returns
  DW_DLV_OK Returns DW_DLV_ERROR if dw_index_to_entry is out of the correct range.