1There is a sample module included to test module support.  To build
2it run:
3
4make plugtest.so
5
6from your powwow source directory.  This will build a test plugin that
7can be loaded using:
8
9#module plugtest
10
11If it works, when you do "#help" you will see a new command called
12"#plugtest" that is listed.  It will just echo the arguments back
13to the terminal.  This is the minimum required to make a functional
14module for powwow 1.2.7 and later.
15
16Modules are loaded using the libdl interface with RTLD_LAZY so that
17symbol resolution is deferred until as late as possible.  This means
18that you should test any commands you create since just because a
19module loads, that doesn't mean that there are no undefined references.
20
21The basic requirements for a module are:
22
231) define a cmdstruct with your command name, help text, and function to
24   call
252) add your cmdstruct to the global command list via cmd_add_command in
26   your powwow_init function.  You can also initialize anything else you
27   need here, it will be called once at module load time.
283) perform whatever extentions you want at runtime in your custom functions
29
30For a more complete example, you should look at the powwow-perl package
31which creates the bindings from powwow using the #perl command and allows
32access to powwow internals from perl via the powwow:: namespace in perl.
33It also includes autoconf support and is probably the most complete
34module for powwow currently.
35