RTEMS
5.1
cpukit
libmisc
monitor
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
21
struct
_rtems_symbol_t
{
22
uint32_t value;
23
char
*name;
24
} ;
25
26
#define SYMBOL_STRING_BLOCK_SIZE 4080
27
typedef
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
32
struct
_rtems_symbol_table_t
{
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 */
_rtems_symbol_t
Definition:
symbols.h:21
_rtems_symbol_table_t
Definition:
symbols.h:32
monitor.h
The RTEMS Monitor Task.
rtems_symbol_string_block_s
Definition:
symbols.h:27
Generated by
1.8.15