#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
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);
#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. */
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);
#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,
#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
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);
#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. */
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);