glibc/sysdeps/unix/sysv/linux/sys/module.h
Ulrich Drepper 267ca16a67 Update to 960810.
Sat Aug 10 13:17:27 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* shadow.h: New file.

	* sysdeps/unix/sysv/linux/netinet/in.h: Move
 	__BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as
 	well.

	* socket/sys/socket.h [__cplusplus]: Use old-style __SOCKADDR_ARG.
	g++ 2.7.2 (and earlier) has no transparent unions support.

Fri Aug  9 18:50:06 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c (_bus_base_sparse): New
	function to determine the base address of sparse bus memory.
	(APECS_*): Rename to CIA_*.
	(APECS_SPARSE_MEM, CIA_SPARSE_MEM): New macros.
	(platform): Add sparse_bus_memory_base member and initialize.
	(sparse_bus_memory_base): New variable.

Tue Aug  6 10:23:18 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/posix/ttyname_r.c (ttyname_r),
	sysdeps/posix/ttyname.c (ttyname): Return -1/NULL if
	!__isatty(fd) (POSIX.1 says so.)

	* sysdeps/unix/getlogin.c (getlogin): Fix to check fd 0 only.
  	This is not a gross hack, after all---for compatibility,
 	getlogin() really should check fd 0 only and not try to base its
 	operation on the controlling tty.

Wed Jul 17 10:54:20 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/getlogin.c (getlogin): Add static variable NAME,
 	change utmp_data from static to auto.

Sun Aug 11 02:56:08 1996  Ulrich Drepper  <drepper@cygnus.com>

	* posix/unistd.h [__USE_MISC]: Add prototype for `nice'.
	Reported by David Mosberger-Tang.
1996-08-11 01:08:23 +00:00

40 lines
1.5 KiB
C

#ifndef _SYS_MODULE_H
#define _SYS_MODULE_H 1
#include <features.h>
#define __need_size_t
#include <stddef.h>
#include <linux/module.h>
/* Return number of kernel symbols if TABLE == NULL, otherwise, return
kernel symbols in TABLE. TABLE must be large enough to hold all
kernel symbols. */
extern int get_kernel_syms __P ((struct kernel_sym * table));
/* Create a new module of name MODULE_NAME and of size SIZE bytes.
The return address is the starting address of the new module or -1L
if the module cannot be created (the return value needs to be cast
to (long) to detect the error condition). */
extern unsigned long create_module __P ((__const char * module_name,
size_t size));
/* Initialize the module called MODULE_NAME with the CONTENTSSIZE
bytes starting at address CONTENTS. CONTENTS normally contains the
text and data segment of the module (the bss is implicity zeroed).
After copying the contents, the function pointed to by
ROUTINES.init is executed. When the module is no longer needed,
ROUTINES.cleanup is executed. SYMTAB is NULL if the module does
not want to export symbols by itself, or a pointer to a symbol
table if the module wants to register its own symbols. */
extern int init_module __P ((__const char * module_name,
__const void * contents, size_t contentssize,
struct mod_routines * routines,
struct symbol_table * symtab));
/* Delete the module named MODULE_NAME from the kernel. */
extern int delete_module __P ((__const char *module_name));
#endif /* _SYS_MODULE_H */