1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<section id="sr_module" xmlns:xi="http://www.w3.org/2001/XInclude">
<sectioninfo>
<revhistory>
<revision>
<revnumber>$Revision$</revnumber>
<date>$Date$</date>
</revision>
</revhistory>
</sectioninfo>
<title>Structure <structname>sr_module</structname></title>
<para>
Each loaded module is represented by an instance of
<structname>sr_module</structname> structure. All the instances are
linked. There is a global variable <varname>modules</varname> defined
in file <filename>sr_module.c</filename> which is head of linked-list
of all loaded modules.
</para>
<para>
Detailed description of the structure follows:
</para>
<programlisting>
struct sr_module{
char* path;
void* handle;
struct module_exports* exports;
struct sr_module* next;
};
</programlisting>
<para>
<emphasis>Fields and their description:</emphasis>
<itemizedlist>
<listitem>
<para>
<structfield>path</structfield> - Path to the module. This
is the path you pass as parameter to
<function>loadmodule</function> function in the config
file.
</para>
</listitem>
<listitem>
<para>
<structfield>handle</structfield> - Handle returned by
<function>dlopen</function>.
</para>
</listitem>
<listitem>
<para>
<structfield>exports</structfield> - Pointer to structure
describing interface of the module (will be described
later).
</para>
</listitem>
<listitem>
<para>
<structfield>next</structfield> - Pointer to the next <structname>sr_module</structname> structure
in the linked list.
</para>
</listitem>
</itemizedlist>
</para>
</section>
|