Ignore:
File:
1 edited

Legend:

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

    r153c7a29 r9d58539  
    3939#include <rtld/dynamic.h>
    4040#include <adt/list.h>
    41 #include <types/rtld/module.h>
    42 #include <types/rtld/rtld.h>
    4341
    44 extern int module_create_static_exec(rtld_t *, module_t **);
    45 extern void module_process_relocs(module_t *);
    46 extern module_t *module_find(rtld_t *, const char *);
    47 extern module_t *module_load(rtld_t *, const char *, mlflags_t);
    48 extern void module_load_deps(module_t *, mlflags_t);
    49 extern module_t *module_by_id(rtld_t *, unsigned long);
     42typedef struct module {
     43        dyn_info_t dyn;
     44        size_t bias;
    5045
    51 extern void modules_process_relocs(rtld_t *, module_t *);
    52 extern void modules_process_tls(rtld_t *);
    53 extern void modules_untag(rtld_t *);
     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
     63void module_process_relocs(module_t *m);
     64module_t *module_find(const char *name);
     65module_t *module_load(const char *name);
     66void module_load_deps(module_t *m);
     67
     68void modules_process_relocs(module_t *start);
     69void modules_untag(void);
    5470
    5571#endif
Note: See TracChangeset for help on using the changeset viewer.