/[pupa]/pupa/include/pupa/dl.h
ViewVC logotype

Diff of /pupa/include/pupa/dl.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.1.1 by okuji, Fri Dec 27 08:53:08 2002 UTC revision 1.2 by okuji, Mon Jan 6 00:01:35 2003 UTC
# Line 26  Line 26 
26  #include <pupa/types.h>  #include <pupa/types.h>
27    
28  #define PUPA_MOD_INIT   \  #define PUPA_MOD_INIT   \
29  static void pupa_mod_init (void) __attribute__ ((unused)); \  static void pupa_mod_init (pupa_dl_t mod) __attribute__ ((unused)); \
30  static void \  static void \
31  pupa_mod_init (void)  pupa_mod_init (pupa_dl_t mod)
32    
33  #define PUPA_MOD_FINI   \  #define PUPA_MOD_FINI   \
34  static void pupa_mod_fini (void) __attribute__ ((unused)); \  static void pupa_mod_fini (void) __attribute__ ((unused)); \
# Line 65  struct pupa_dl Line 65  struct pupa_dl
65    int ref_count;    int ref_count;
66    pupa_dl_dep_t dep;    pupa_dl_dep_t dep;
67    pupa_dl_segment_t segment;    pupa_dl_segment_t segment;
68    void (*init) (void);    void (*init) (struct pupa_dl *mod);
69    void (*fini) (void);    void (*fini) (void);
70  };  };
71  typedef struct pupa_dl *pupa_dl_t;  typedef struct pupa_dl *pupa_dl_t;
# Line 73  typedef struct pupa_dl *pupa_dl_t; Line 73  typedef struct pupa_dl *pupa_dl_t;
73  pupa_dl_t EXPORT_FUNC(pupa_dl_load_file) (const char *filename);  pupa_dl_t EXPORT_FUNC(pupa_dl_load_file) (const char *filename);
74  pupa_dl_t EXPORT_FUNC(pupa_dl_load) (const char *name);  pupa_dl_t EXPORT_FUNC(pupa_dl_load) (const char *name);
75  pupa_dl_t pupa_dl_load_core (void *addr, pupa_size_t size);  pupa_dl_t pupa_dl_load_core (void *addr, pupa_size_t size);
76  void EXPORT_FUNC(pupa_dl_unload) (pupa_dl_t mod);  int EXPORT_FUNC(pupa_dl_unload) (pupa_dl_t mod);
77    void pupa_dl_unload_unneeded (void);
78    void pupa_dl_unload_all (void);
79    int EXPORT_FUNC(pupa_dl_ref) (pupa_dl_t mod);
80    int EXPORT_FUNC(pupa_dl_unref) (pupa_dl_t mod);
81    void EXPORT_FUNC(pupa_dl_iterate) (int (*hook) (pupa_dl_t mod));
82  pupa_dl_t EXPORT_FUNC(pupa_dl_get) (const char *name);  pupa_dl_t EXPORT_FUNC(pupa_dl_get) (const char *name);
83  pupa_err_t EXPORT_FUNC(pupa_dl_register_symbol) (const char *name, void *addr,  pupa_err_t EXPORT_FUNC(pupa_dl_register_symbol) (const char *name, void *addr,
84                                              pupa_dl_t mod);                                              pupa_dl_t mod);
85  void *EXPORT_FUNC(pupa_dl_resolve_symbol) (const char *name);  void *EXPORT_FUNC(pupa_dl_resolve_symbol) (const char *name);
86  void pupa_dl_init (const char *dir);  void pupa_dl_set_prefix (const char *dir);
87    const char *pupa_dl_get_prefix (void);
88    
89  int pupa_arch_dl_check_header (void *ehdr, pupa_size_t size);  int pupa_arch_dl_check_header (void *ehdr, pupa_size_t size);
90  pupa_err_t pupa_arch_dl_relocate_symbols (pupa_dl_t mod, void *ehdr);  pupa_err_t pupa_arch_dl_relocate_symbols (pupa_dl_t mod, void *ehdr);

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26