cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | |
06983f | 1996-09-22 | Fredrik Hübinette (Hubbe) | | ||| This file a part of Pike, and is copyright by Fredrik Hubinette
||| Pike is distributed as GPL (General Public License)
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | ||| See the files COPYING and DISCLAIMER for more information.
\*/
|
babd87 | 2001-02-23 | Henrik Grubbström (Grubba) | |
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | #include "global.h"
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #include "module.h"
|
bb55f8 | 1997-03-16 | Fredrik Hübinette (Hubbe) | | #include "pike_macros.h"
|
b2d3e4 | 2000-12-01 | Fredrik Hübinette (Hubbe) | | #include "pike_error.h"
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | #include "builtin_functions.h"
#include "main.h"
#include "svalue.h"
#include "interpret.h"
#include "stralloc.h"
#include "object.h"
#include "mapping.h"
|
992e66 | 2000-07-06 | Fredrik Hübinette (Hubbe) | | #include "program_id.h"
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | |
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | #include "modules/modlist_headers.h"
|
f17308 | 2001-02-01 | Fredrik Hübinette (Hubbe) | | #ifndef IN_TPIKE
#include "post_modules/modlist_headers.h"
#endif
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | |
|
babd87 | 2001-02-23 | Henrik Grubbström (Grubba) | | RCSID("$Id: module.c,v 1.14 2001/02/23 14:31:53 grubba Exp $");
|
24ddc7 | 1998-03-28 | Henrik Grubbström (Grubba) | |
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | typedef void (*modfun)(void);
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | |
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | struct static_module
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | {
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | char *name;
modfun init;
modfun exit;
};
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | |
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | static struct static_module module_list[] = {
|
156fd5 | 1997-10-27 | Fredrik Hübinette (Hubbe) | | { "Builtin", low_init_main, low_exit_main }
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | #include "modules/modlist.h"
|
f17308 | 2001-02-01 | Fredrik Hübinette (Hubbe) | | #ifndef IN_TPIKE
#include "post_modules/modlist.h"
#endif
|
156fd5 | 1997-10-27 | Fredrik Hübinette (Hubbe) | | ,{ "Builtin2", init_main, exit_main }
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | };
void init_modules(void)
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | {
|
c712e7 | 1998-04-23 | Fredrik Hübinette (Hubbe) | | struct program *p;
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | unsigned int e;
|
c712e7 | 1998-04-23 | Fredrik Hübinette (Hubbe) | |
start_new_program();
|
992e66 | 2000-07-06 | Fredrik Hübinette (Hubbe) | | Pike_compiler->new_program->id=PROG___BUILTIN_ID;
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | |
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | for(e=0;e<NELEM(module_list);e++)
{
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | start_new_program();
module_list[e].init();
|
45ee5d | 1999-02-10 | Fredrik Hübinette (Hubbe) | | debug_end_class(module_list[e].name,strlen(module_list[e].name),0);
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | }
|
c712e7 | 1998-04-23 | Fredrik Hübinette (Hubbe) | | push_text("_static_modules");
push_object(low_clone(p=end_program()));
f_add_constant(2);
free_program(p);
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | }
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | void exit_modules(void)
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | {
int e;
|
db3e13 | 1997-02-06 | Fredrik Hübinette (Hubbe) | | for(e=NELEM(module_list)-1;e>=0;e--)
module_list[e].exit();
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | }
|