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