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