summaryrefslogtreecommitdiff
path: root/docs/manual/mod/mod_so.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/mod/mod_so.html')
-rw-r--r--docs/manual/mod/mod_so.html192
1 files changed, 0 insertions, 192 deletions
diff --git a/docs/manual/mod/mod_so.html b/docs/manual/mod/mod_so.html
deleted file mode 100644
index 5850c7b2a8..0000000000
--- a/docs/manual/mod/mod_so.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Apache module mod_so</TITLE>
-</HEAD>
-
-<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-<BODY
- BGCOLOR="#FFFFFF"
- TEXT="#000000"
- LINK="#0000FF"
- VLINK="#000080"
- ALINK="#FF0000"
->
-<!--#include virtual="header.html" -->
-<H1 ALIGN="CENTER">Module mod_so</H1>
-
-<p>This module provides for loading of executable code and modules into the
-server at start-up or restart time.</p>
-
-<P><A
-HREF="module-dict.html#Status"
-REL="Help"
-><STRONG>Status:</STRONG></A> Base (Windows); Optional (Unix)
-<BR>
-<A
-HREF="module-dict.html#SourceFile"
-REL="Help"
-><STRONG>Source File:</STRONG></A> mod_so.c
-<BR>
-<A
-HREF="module-dict.html#ModuleIdentifier"
-REL="Help"
-><STRONG>Module Identifier:</STRONG></A> so_module
-<BR>
-<A
-HREF="module-dict.html#Compatibility"
-REL="Help"
-><STRONG>Compatibility:</STRONG></A> Available in Apache 1.3 and later.
-</P>
-
-
-<H2>Summary</H2>
-
-<P>On selected operating systems this module can be used to load modules
-into Apache at runtime via the <A HREF="../dso.html">Dynamic Shared
-Object</A> (DSO) mechanism, rather than requiring a recompilation.
-
-<P>
-On Unix, the loaded code typically comes from shared object files
-(usually with <SAMP>.so</SAMP> extension), on Windows this may either
-the <SAMP>.so</SAMP> or <SAMP>.dll</SAMP> extension. This module is
-only available in Apache 1.3 and up.
-
-<p>In previous releases, the functionality of this module was provided
-for Unix by mod_dld, and for Windows by mod_dll. On Windows, mod_dll
-was used in beta release 1.3b1 through 1.3b5. mod_so combines these
-two modules into a single module for all operating systems.
-
-<P><STRONG> Warning: Apache 1.3 modules cannot be directly used with
- Apache 2.0 - the module must be modified to dynamically load or
- compile into Apache 2.0</STRONG>.</P>
-
-<H2>Directives</H2>
-<UL>
-<LI><A HREF="#loadfile">LoadFile</A>
-<LI><A HREF="#loadmodule">LoadModule</A>
-</UL>
-
-<H2><A NAME="creating">Creating Loadable Modules for Windows</A></H2>
-
-<P><STRONG>Note: the module name format changed for Windows with Apache
- 1.3.15 and 2.0 - the modules are now named as mod_foo.so</STRONG>.
- While mod_so still loads modules with ApacheModuleFoo.dll names, the
- new naming convention is preferred; if you are converting your loadable
- module for 2.0, please fix the name to this 2.0 convention.</P>
-
-<P>The Apache module API is unchanged between the Unix and Windows
- versions. Many modules will run on Windows with no or little change
- from Unix, although others rely on aspects of the Unix architecture
- which are not present in Windows, and will not work.</P>
-
-<P>When a module does work, it can be added to the server in one of two
- ways. As with Unix, it can be compiled into the server. Because Apache
- for Windows does not have the <CODE>Configure</CODE> program of Apache
- for Unix, the module's source file must be added to the ApacheCore
- project file, and its symbols must be added to the
- <CODE>os\win32\modules.c</CODE> file.</P>
-
-<P>The second way is to compile the module as a DLL, a shared library
- that can be loaded into the server at runtime, using the
- <CODE><A HREF="#loadmodule">LoadModule</A></CODE>
- directive. These module DLLs can be distributed and run on any Apache
- for Windows installation, without recompilation of the server.</P>
-
-<P>To create a module DLL, a small change is necessary to the module's
- source file: The module record must be exported from the DLL (which
- will be created later; see below). To do this, add the <CODE
- >AP_MODULE_DECLARE_DATA</CODE> (defined in the Apache header files)
- to your module's module record definition. For example, if your module
- has:</P>
-<PRE>
- module foo_module;
-</PRE>
-<P>Replace the above with:</P>
-<PRE>
- module AP_MODULE_DECLARE_DATA foo_module;
-</PRE>
-<P>Note that this will only be activated on Windows, so the module can
- continue to be used, unchanged, with Unix if needed. Also, if you are
- familiar with <CODE>.DEF</CODE> files, you can export the module
- record with that method instead.</P>
-
-<P>Now, create a DLL containing your module. You will need to link this
- against the libhttpd.lib export library that is created when the
- libhttpd.dll shared library is compiled. You may also have to change
- the compiler settings to ensure that the Apache header files are
- correctly located. You can find this library in your server root's
- modules directory. It is best to grab an existing module .dsp file
- from the tree to assure the build environment is configured correctly,
- or alternately compare the compiler and link options to your .dsp.</P>
-
-<P>This should create a DLL version of your module. Now simply place it
- in the <SAMP>modules</SAMP> directory of your server root, and use
- the <CODE><A HREF="#loadmodule">LoadModule</A></CODE> directive to
- load it.</P>
-
-<HR>
-
-<H2><A NAME="loadfile">LoadFile</A> directive</H2>
-<!--%plaintext &lt;?INDEX {\tt LoadFile} directive&gt; -->
-<A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> LoadFile <EM>filename</em>
- [<em>filename</em>] ...<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> Base<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> mod_so<P>
-
-The LoadFile directive links in the named object files or libraries
-when the server is started or restarted; this is used to load
-additional code which may be required for some module to
-work. <EM>Filename</EM> is either and absolute path or relative to <A
-HREF="core.html#serverroot">ServerRoot</A>.<P><HR>
-
-<H2><A NAME="loadmodule">LoadModule</A> directive</H2>
-<!--%plaintext &lt;?INDEX {\tt LoadModule} directive&gt; -->
-<A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> LoadModule <EM>module filename</EM><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> Base<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> mod_so<P>
-
-The LoadModule directive links in the object file or library
-<EM>filename</EM> and adds the module structure named <EM>module</EM>
-to the list of active modules. <EM>Module</EM> is the name of the
-external variable of type <CODE>module</CODE> in the file, and is
-listed as the <a href="module-dict.html#ModuleIdentifier">Module
-Identifier</a> in the module documentation. Example:
-<BLOCKQUOTE><CODE>
-LoadModule status_module modules/mod_status.so
-</CODE></BLOCKQUOTE>
-
-<P>loads the named module from the modules subdirectory of the
- ServerRoot.<P>
-
-
-<!--#include virtual="footer.html" -->
-</BODY>
-</HTML>
-