db_output.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* $OpenBSD: db_output.h,v 1.16 2013/12/12 21:00:09 guenther Exp $ */
  2. /* $NetBSD: db_output.h,v 1.9 1996/04/04 05:13:50 cgd Exp $ */
  3. /*
  4. * Mach Operating System
  5. * Copyright (c) 1993,1992,1991,1990 Carnegie Mellon University
  6. * All Rights Reserved.
  7. *
  8. * Permission to use, copy, modify and distribute this software and its
  9. * documentation is hereby granted, provided that both the copyright
  10. * notice and this permission notice appear in all copies of the
  11. * software, derivative works or modified versions, and any portions
  12. * thereof, and that both notices appear in supporting documentation.
  13. *
  14. * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  15. * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  16. * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  17. *
  18. * Carnegie Mellon requests users of this software to return to
  19. *
  20. * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
  21. * School of Computer Science
  22. * Carnegie Mellon University
  23. * Pittsburgh PA 15213-3890
  24. *
  25. * any improvements or extensions that they make and grant Carnegie Mellon
  26. * the rights to redistribute these changes.
  27. *
  28. * Author: David B. Golub, Carnegie Mellon University
  29. * Date: 8/90
  30. */
  31. /*
  32. * Printing routines for kernel debugger.
  33. */
  34. void db_force_whitespace(void);
  35. void db_putchar(int);
  36. int db_print_position(void);
  37. int db_printf(const char *, ...)
  38. __attribute__((__format__(__kprintf__,1,2)));
  39. int db_vprintf(const char *, va_list)
  40. __attribute__((__format__(__kprintf__,1,0)));
  41. void db_end_line(int);
  42. /*
  43. * This is a replacement for the non-standard %z, %n and %r printf formats
  44. * in db_printf.
  45. *
  46. * db_format(buf, bufsize, val, format, alt, width)
  47. *
  48. * val is the value we want printed.
  49. * format is one of DB_FORMAT_[ZRN]
  50. * alt specifies if we should provide an "alternate" format (# in the printf
  51. * format).
  52. * width is the field width. 0 is the same as no width specifier.
  53. */
  54. #define DB_FORMAT_Z 1
  55. #define DB_FORMAT_R 2
  56. #define DB_FORMAT_N 3
  57. #define DB_FORMAT_BUF_SIZE 64 /* should be plenty for all formats */
  58. char *db_format(char *, size_t, long, int, int, int);
  59. /* XXX - this is the wrong place, but we have no better. */
  60. void db_stack_dump(void);