mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
1d506c26d9
This commit is the result of the following actions: - Running gdb/copyright.py to update all of the copyright headers to include 2024, - Manually updating a few files the copyright.py script told me to update, these files had copyright headers embedded within the file, - Regenerating gdbsupport/Makefile.in to refresh it's copyright date, - Using grep to find other files that still mentioned 2023. If these files were updated last year from 2022 to 2023 then I've updated them this year to 2024. I'm sure I've probably missed some dates. Feel free to fix them up as you spot them.
86 lines
3.0 KiB
C
86 lines
3.0 KiB
C
/* Cell-based print utility routines for GDB, the GNU debugger.
|
|
|
|
Copyright (C) 1986-2024 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef COMMON_PRINT_UTILS_H
|
|
#define COMMON_PRINT_UTILS_H
|
|
|
|
/* How many characters (including the terminating null byte) fit in a
|
|
cell. */
|
|
#define PRINT_CELL_SIZE 50
|
|
|
|
/* %u for ULONGEST. The result is stored in a circular static buffer,
|
|
NUMCELLS deep. */
|
|
|
|
extern char *pulongest (ULONGEST u);
|
|
|
|
/* %d for LONGEST. The result is stored in a circular static buffer,
|
|
NUMCELLS deep. */
|
|
|
|
extern char *plongest (LONGEST l);
|
|
|
|
/* Convert a ULONGEST into a HEX string, like %lx, with leading zeros.
|
|
The result is stored in a circular static buffer, NUMCELLS deep. */
|
|
|
|
extern char *phex (ULONGEST l, int sizeof_l);
|
|
|
|
/* Convert a ULONGEST into a HEX string, like %lx, without leading zeros.
|
|
The result is stored in a circular static buffer, NUMCELLS deep. */
|
|
|
|
extern char *phex_nz (ULONGEST l, int sizeof_l);
|
|
|
|
/* Converts a LONGEST to a C-format hexadecimal literal and stores it
|
|
in a static string. Returns a pointer to this string. */
|
|
|
|
extern char *hex_string (LONGEST num);
|
|
|
|
/* Converts a LONGEST number to a C-format hexadecimal literal and
|
|
stores it in a static string. Returns a pointer to this string
|
|
that is valid until the next call. The number is padded on the
|
|
left with 0s to at least WIDTH characters. */
|
|
|
|
extern char *hex_string_custom (LONGEST num, int width);
|
|
|
|
/* Convert VAL to a numeral in the given radix. For
|
|
* radix 10, IS_SIGNED may be true, indicating a signed quantity;
|
|
* otherwise VAL is interpreted as unsigned. If WIDTH is supplied,
|
|
* it is the minimum width (0-padded if needed). USE_C_FORMAT means
|
|
* to use C format in all cases. If it is false, then 'x'
|
|
* and 'o' formats do not include a prefix (0x or leading 0). */
|
|
|
|
extern char *int_string (LONGEST val, int radix, int is_signed, int width,
|
|
int use_c_format);
|
|
|
|
/* Convert a CORE_ADDR into a string. */
|
|
|
|
extern const char *core_addr_to_string (const CORE_ADDR addr);
|
|
|
|
extern const char *core_addr_to_string_nz (const CORE_ADDR addr);
|
|
|
|
extern const char *host_address_to_string_1 (const void *addr);
|
|
|
|
/* Wrapper that avoids adding a pointless cast to all callers. */
|
|
#define host_address_to_string(ADDR) \
|
|
host_address_to_string_1 ((const void *) (ADDR))
|
|
|
|
/* Return the next entry in the circular print buffer. */
|
|
|
|
extern char *get_print_cell (void);
|
|
|
|
#endif /* COMMON_PRINT_UTILS_H */
|