source: rtems/c/src/libmisc/monitor/symbols.h @ ad9250cf

4.104.114.84.95
Last change on this file since ad9250cf was 8389628, checked in by Joel Sherrill <joel.sherrill@…>, on 04/22/96 at 16:53:46

updates from Tony Bennett

  • Property mode set to 100644
File size: 1.4 KB
Line 
1/*
2 *  RTEMS monitor symbol table functions
3 *
4 *  Description:
5 *      Entry points for symbol table routines.
6 *
7 *
8 *
9 *  TODO:
10 *
11 *  $Id$
12 */
13
14#ifndef _INCLUDE_SYMBOLS_H
15#define _INCLUDE_SYMBOLS_H
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21typedef struct {
22    rtems_unsigned32 value;
23    char            *name;
24} rtems_symbol_t;
25
26#define SYMBOL_STRING_BLOCK_SIZE 4080
27typedef struct rtems_symbol_string_block_s {
28    struct rtems_symbol_string_block_s *next;
29    char   buffer[SYMBOL_STRING_BLOCK_SIZE];
30} rtems_symbol_string_block_t;
31
32typedef struct {
33
34    rtems_unsigned32 sorted;            /* are symbols sorted right now? */
35
36    rtems_unsigned32 growth_factor;     /* % to grow by when needed */
37
38    rtems_unsigned32 next;              /* next symbol slot to use when adding */
39    rtems_unsigned32 size;              /* max # of symbols */
40
41    /*
42     * Symbol list -- sorted by address (when we do a lookup)
43     */
44
45    rtems_symbol_t  *addresses;         /* symbol array by address */
46
47    /*
48     * String pool, unsorted, a list of blocks of string data
49     */
50
51    rtems_symbol_string_block_t *string_buffer_head;
52    rtems_symbol_string_block_t *string_buffer_current;
53    rtems_unsigned32 strings_next;      /* next byte to use in this block */
54
55} rtems_symbol_table_t;
56
57#define rtems_symbol_name(sp)   ((sp)->name)
58#define rtems_symbol_value(sp)  ((sp)->value)
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif /* ! _INCLUDE_SYMBOLS_H */
Note: See TracBrowser for help on using the repository browser.