/[pupa]/pupa/kern/loader.c
ViewVC logotype

Diff of /pupa/kern/loader.c

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

revision 1.1.1.1 by okuji, Fri Dec 27 08:53:09 2002 UTC revision 1.2 by okuji, Fri Jan 17 02:52:05 2003 UTC
# Line 22  Line 22 
22  #include <pupa/mm.h>  #include <pupa/mm.h>
23  #include <pupa/err.h>  #include <pupa/err.h>
24    
 static pupa_err_t (*pupa_loader_load_module_func) (int argc, char *argv[]);  
25  static pupa_err_t (*pupa_loader_boot_func) (void);  static pupa_err_t (*pupa_loader_boot_func) (void);
26  static pupa_err_t (*pupa_loader_unload_func) (void);  static pupa_err_t (*pupa_loader_unload_func) (void);
27    
28  static int pupa_loader_loaded;  static int pupa_loader_loaded;
29    
30  void  void
31  pupa_loader_set (pupa_err_t (*load_module) (int argc, char *argv[]),  pupa_loader_set (pupa_err_t (*boot) (void),
                  pupa_err_t (*boot) (void),  
32                   pupa_err_t (*unload) (void))                   pupa_err_t (*unload) (void))
33  {  {
34    if (pupa_loader_loaded && pupa_loader_unload_func)    if (pupa_loader_loaded && pupa_loader_unload_func)
35      if (pupa_loader_unload_func () != PUPA_ERR_NONE)      if (pupa_loader_unload_func () != PUPA_ERR_NONE)
36        return;        return;
37        
   pupa_loader_load_module_func = load_module;  
38    pupa_loader_boot_func = boot;    pupa_loader_boot_func = boot;
39    pupa_loader_unload_func = unload;    pupa_loader_unload_func = unload;
40    
# Line 45  pupa_loader_set (pupa_err_t (*load_modul Line 42  pupa_loader_set (pupa_err_t (*load_modul
42  }  }
43    
44  pupa_err_t  pupa_err_t
 pupa_loader_load_module (int argc, char *argv[])  
 {  
   if (! pupa_loader_loaded)  
     return pupa_error (PUPA_ERR_NO_KERNEL, "no loaded kernel");  
   
   if (! pupa_loader_load_module_func)  
     return pupa_error (PUPA_ERR_BAD_OS, "module not supported");  
   
   return pupa_loader_load_module_func (argc, argv);  
 }  
   
 pupa_err_t  
45  pupa_loader_boot (void)  pupa_loader_boot (void)
46  {  {
47    if (! pupa_loader_loaded)    if (! pupa_loader_loaded)

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