Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/rtld/module.h

    r9d58539 r153c7a29  
    3939#include <rtld/dynamic.h>
    4040#include <adt/list.h>
     41#include <types/rtld/module.h>
     42#include <types/rtld/rtld.h>
    4143
    42 typedef struct module {
    43         dyn_info_t dyn;
    44         size_t bias;
     44extern int module_create_static_exec(rtld_t *, module_t **);
     45extern void module_process_relocs(module_t *);
     46extern module_t *module_find(rtld_t *, const char *);
     47extern module_t *module_load(rtld_t *, const char *, mlflags_t);
     48extern void module_load_deps(module_t *, mlflags_t);
     49extern module_t *module_by_id(rtld_t *, unsigned long);
    4550
    46         /** Array of pointers to directly dependent modules */
    47         struct module **deps;
    48         /** Number of fields in deps */
    49         size_t n_deps;
    50 
    51         /** True iff relocations have already been processed in this module. */
    52         bool relocated;
    53 
    54         /** Link to list of all modules in runtime environment */
    55         link_t modules_link;
    56 
    57         /** Link to BFS queue. Only used when doing a BFS of the module graph */
    58         link_t queue_link;
    59         /** Tag for modules already processed during a BFS */
    60         bool bfs_tag;
    61 } module_t;
    62 
    63 void module_process_relocs(module_t *m);
    64 module_t *module_find(const char *name);
    65 module_t *module_load(const char *name);
    66 void module_load_deps(module_t *m);
    67 
    68 void modules_process_relocs(module_t *start);
    69 void modules_untag(void);
     51extern void modules_process_relocs(rtld_t *, module_t *);
     52extern void modules_process_tls(rtld_t *);
     53extern void modules_untag(rtld_t *);
    7054
    7155#endif
Note: See TracChangeset for help on using the changeset viewer.