*** empty log message ***
authorEric Andersen <andersen@codepoet.org>
Thu, 5 Apr 2001 06:24:28 +0000 (06:24 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 5 Apr 2001 06:24:28 +0000 (06:24 -0000)
insmod.c
libbb/module_syscalls.c
modutils/insmod.c

index c2ebd2e24e345292fafa78a5fdd66fca5c8aeb9b..abd639c6b366f4b429e632049fd111a9b1e60dba 100644 (file)
--- a/insmod.c
+++ b/insmod.c
 #ifndef MODUTILS_MODULE_H
 static const int MODUTILS_MODULE_H = 1;
 
-#ident "$Id: insmod.c,v 1.55 2001/04/05 06:08:14 andersen Exp $"
+#ident "$Id: insmod.c,v 1.56 2001/04/05 06:24:27 andersen Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -267,7 +267,7 @@ static const int NEW_MOD_AUTOCLEAN = 4;
 static const int NEW_MOD_VISITED = 8;
 static const int NEW_MOD_USED_ONCE = 16;
 
-int new_sys_init_module(const char *name, const struct new_module *);
+int init_module(const char *name, const struct new_module *);
 int query_module(const char *name, int which, void *buf, size_t bufsize,
                 size_t *ret);
 
@@ -323,7 +323,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 static const int MODUTILS_OBJ_H = 1;
 
-#ident "$Id: insmod.c,v 1.55 2001/04/05 06:08:14 andersen Exp $"
+#ident "$Id: insmod.c,v 1.56 2001/04/05 06:24:27 andersen Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
@@ -2515,7 +2515,7 @@ new_init_module(const char *m_name, struct obj_file *f,
        image = xmalloc(m_size);
        obj_create_image(f, image);
 
-       ret = new_sys_init_module(m_name, (struct new_module *) image);
+       ret = init_module(m_name, (struct new_module *) image);
        if (ret)
                perror_msg("init_module: %s", m_name);
 
index d0c1a36d418d81e9c115a03595f1093e7b1091d0..87662ff21c2a0980eb967320e89ec4df3a6b15da 100644 (file)
 #include <asm/unistd.h>
 #include "libbb.h"
 
-#define __NR_new_sys_init_module  __NR_init_module
-_syscall2(int, new_sys_init_module, const char *, name,
-                 const struct new_module *, info);
+
+struct old_module_ref
+{
+  unsigned long module;                /* kernel addresses */
+  unsigned long next;
+};
+
+struct old_module_symbol
+{
+  unsigned long addr;
+  unsigned long name;
+};
+
+struct old_symbol_table
+{
+  int size;                    /* total, including string table!!! */
+  int n_symbols;
+  int n_refs;
+  struct old_module_symbol symbol[0]; /* actual size defined by n_symbols */
+  struct old_module_ref ref[0];        /* actual size defined by n_refs */
+};
+
+struct old_mod_routines
+{
+  unsigned long init;
+  unsigned long cleanup;
+};
 
 #define __NR_old_sys_init_module  __NR_init_module
 _syscall5(int, old_sys_init_module, const char *, name, char *, code,
index c2ebd2e24e345292fafa78a5fdd66fca5c8aeb9b..abd639c6b366f4b429e632049fd111a9b1e60dba 100644 (file)
 #ifndef MODUTILS_MODULE_H
 static const int MODUTILS_MODULE_H = 1;
 
-#ident "$Id: insmod.c,v 1.55 2001/04/05 06:08:14 andersen Exp $"
+#ident "$Id: insmod.c,v 1.56 2001/04/05 06:24:27 andersen Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -267,7 +267,7 @@ static const int NEW_MOD_AUTOCLEAN = 4;
 static const int NEW_MOD_VISITED = 8;
 static const int NEW_MOD_USED_ONCE = 16;
 
-int new_sys_init_module(const char *name, const struct new_module *);
+int init_module(const char *name, const struct new_module *);
 int query_module(const char *name, int which, void *buf, size_t bufsize,
                 size_t *ret);
 
@@ -323,7 +323,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 static const int MODUTILS_OBJ_H = 1;
 
-#ident "$Id: insmod.c,v 1.55 2001/04/05 06:08:14 andersen Exp $"
+#ident "$Id: insmod.c,v 1.56 2001/04/05 06:24:27 andersen Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
@@ -2515,7 +2515,7 @@ new_init_module(const char *m_name, struct obj_file *f,
        image = xmalloc(m_size);
        obj_create_image(f, image);
 
-       ret = new_sys_init_module(m_name, (struct new_module *) image);
+       ret = init_module(m_name, (struct new_module *) image);
        if (ret)
                perror_msg("init_module: %s", m_name);