|
|
|
|
|
#include "global.h" |
#include "module.h" |
#include "pike_macros.h" |
#include "error.h" |
#include "builtin_functions.h" |
#include "main.h" |
#include "svalue.h" |
#include "interpret.h" |
#include "stralloc.h" |
#include "object.h" |
#include "mapping.h" |
|
#include "modules/modlist_headers.h" |
|
RCSID("$Id: module.c,v 1.9 1998/04/24 00:30:44 hubbe Exp $"); |
|
typedef void (*modfun)(void); |
|
struct static_module |
{ |
char *name; |
modfun init; |
modfun exit; |
}; |
|
static struct static_module module_list[] = { |
{ "Builtin", low_init_main, low_exit_main } |
#include "modules/modlist.h" |
,{ "Builtin2", init_main, exit_main } |
}; |
|
void init_modules(void) |
{ |
struct program *p; |
unsigned int e; |
|
start_new_program(); |
|
for(e=0;e<NELEM(module_list);e++) |
{ |
start_new_program(); |
module_list[e].init(); |
end_class(module_list[e].name,0); |
} |
push_text("_static_modules"); |
push_object(low_clone(p=end_program())); |
f_add_constant(2); |
free_program(p); |
} |
|
void exit_modules(void) |
{ |
int e; |
for(e=NELEM(module_list)-1;e>=0;e--) |
module_list[e].exit(); |
} |
|
|