diff options
Diffstat (limited to 'docs/manual/mod/mod_so.html')
| -rw-r--r-- | docs/manual/mod/mod_so.html | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/docs/manual/mod/mod_so.html b/docs/manual/mod/mod_so.html deleted file mode 100644 index 6edd1a4fb3..0000000000 --- a/docs/manual/mod/mod_so.html +++ /dev/null @@ -1,164 +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> - -This module is contained in the <CODE>mod_so.c</CODE> file. It is -compiled in by default on Windows and is not compiled in by default on -Unix. It provides for loading of executable code and modules into the -server at start-up or restart time. On Unix, the loaded code typically -comes from shared object files (usually with <SAMP>.so</SAMP> -extension), whilst on Windows this module loads <SAMP>DLL</SAMP> -files. 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. - -<H2>Summary</H2> - -This is an experimental module. On selected operating systems it 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. - -<H2>Directives</H2> -<UL> -<LI><A HREF="#loadfile">LoadFile</A> -<LI><A HREF="#loadmodule">LoadModule</A> -</UL> -<HR> - - -<H2><A NAME="loadfile">LoadFile</A></H2> -<!--%plaintext <?INDEX {\tt LoadFile} directive> --> -<A - HREF="directive-dict.html#Syntax" - REL="Help" -><STRONG>Syntax:</STRONG></A> LoadFile <EM>filename 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></H2> -<!--%plaintext <?INDEX {\tt LoadModule} directive> --> -<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. Example (Unix): -<BLOCKQUOTE><CODE> -LoadModule status_module modules/mod_status.so -</CODE></BLOCKQUOTE> - -<P> - -Example (Windows): -<BLOCKQUOTE><CODE> -LoadModule status_module modules/ApacheModuleStatus.dll<BR> -</CODE></BLOCKQUOTE> - -loads the named module from the modules subdirectory of the -ServerRoot.<P> - -<HR> - -<H2><A NAME="creating">Creating DLL Modules for Windows</A></H2> - -<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>MODULE_VAR_EXPORT</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 MODULE_VAR_EXPORT 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 ApacheCore.lib export library that is created when the - ApacheCore.dll shared library is compiled. You may also have to change - the compiler settings to ensure that the Apache header files are - correctly located.</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> - - -<!--#include virtual="footer.html" --> -</BODY> -</HTML> - |
