RTEMS: cpukit/include/rtems/rtl/rtl-sym.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
rtl-sym.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT (c) 2012-2014, 2018 Chris Johns <chrisj@rtems.org>
3 *
4 * The license and distribution terms for this file may be
5 * found in the file LICENSE in this distribution or at
6 * http://www.rtems.org/license/LICENSE.
7 */
16#if !defined (_RTEMS_RTL_SYM_H_)
17#define _RTEMS_RTL_SYM_H_
18
19#include <rtems.h>
20#include "rtl-obj-fwd.h"
21
22#ifdef __cplusplus
23extern "C" {
24#endif /* __cplusplus */
25
29 typedef struct rtems_rtl_obj_sym
30{
31 rtems_chain_node node;
32 const char* name;
33 void* value;
34 uint32_t data;
35} rtems_rtl_obj_sym;
36
40 typedef struct rtems_rtl_symbols
41{
42 rtems_chain_control* buckets;
43 size_t nbuckets;
44} rtems_rtl_symbols;
45
55bool rtems_rtl_symbol_table_open (rtems_rtl_symbols* symbols,
56 size_t buckets);
57
63void rtems_rtl_symbol_table_close (rtems_rtl_symbols* symbols);
64
86bool rtems_rtl_symbol_global_add (rtems_rtl_obj* obj,
87 const unsigned char* esyms,
88 unsigned int size);
89
97 rtems_rtl_obj_sym* rtems_rtl_symbol_global_find (const char* name);
98
106void rtems_rtl_symbol_obj_sort (rtems_rtl_obj* obj);
107
116 rtems_rtl_obj_sym* rtems_rtl_symbol_obj_find (rtems_rtl_obj* obj,
117 const char* name);
118
124void rtems_rtl_symbol_obj_add (rtems_rtl_obj* obj);
125
131void rtems_rtl_symbol_obj_erase_local (rtems_rtl_obj* obj);
132
138void rtems_rtl_symbol_obj_erase (rtems_rtl_obj* obj);
139
140#ifdef __cplusplus
141}
142#endif /* __cplusplus */
143
144#endif
rtems.h
rtl-obj-fwd.h
RTEMS Run-Time Linker ELF Headers.
rtems_rtl_symbol_obj_erase_local
void rtems_rtl_symbol_obj_erase_local(rtems_rtl_obj *obj)
Definition: rtl-sym.c:274
rtems_rtl_symbol_global_find
rtems_rtl_obj_sym * rtems_rtl_symbol_global_find(const char *name)
Definition: rtl-sym.c:176
rtems_rtl_symbol_obj_sort
void rtems_rtl_symbol_obj_sort(rtems_rtl_obj *obj)
Definition: rtl-sym.c:214
rtems_rtl_symbol_table_open
bool rtems_rtl_symbol_table_open(rtems_rtl_symbols *symbols, size_t buckets)
Definition: rtl-sym.c:61
rtems_rtl_symbol_obj_find
rtems_rtl_obj_sym * rtems_rtl_symbol_obj_find(rtems_rtl_obj *obj, const char *name)
Definition: rtl-sym.c:227
rtems_rtl_symbol_obj_add
void rtems_rtl_symbol_obj_add(rtems_rtl_obj *obj)
Definition: rtl-sym.c:261
rtems_rtl_symbol_table_close
void rtems_rtl_symbol_table_close(rtems_rtl_symbols *symbols)
Definition: rtl-sym.c:80
rtems_rtl_symbol_global_add
bool rtems_rtl_symbol_global_add(rtems_rtl_obj *obj, const unsigned char *esyms, unsigned int size)
Definition: rtl-sym.c:86
rtems_rtl_symbol_obj_erase
void rtems_rtl_symbol_obj_erase(rtems_rtl_obj *obj)
Definition: rtl-sym.c:286
Chain_Node_struct
Definition: chain.h:68
rtems_rtl_obj_sym
Definition: rtl-sym.h:30
rtems_rtl_obj_sym::name
const char * name
Definition: rtl-sym.h:32
rtems_rtl_obj_sym::node
rtems_chain_node node
Definition: rtl-sym.h:31
rtems_rtl_obj_sym::data
uint32_t data
Definition: rtl-sym.h:34
rtems_rtl_obj_sym::value
void * value
Definition: rtl-sym.h:33
rtems_rtl_obj
Definition: rtl-obj.h:181
rtems_rtl_symbols
Definition: rtl-sym.h:41
Chain_Control
Definition: chain.h:86