X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/de2b673f5a3b476f318ae1dc6dc418222d160787..6a0074bfaa195daa621ec6348f2abc2720e65ab0:/extensions/example_module.c diff --git a/extensions/example_module.c b/extensions/example_module.c index 63b9f7b9..d20fd42b 100644 --- a/extensions/example_module.c +++ b/extensions/example_module.c @@ -25,6 +25,13 @@ #include "ircd.h" #include "send.h" +/* This string describes the module. Always declare it a static const char[]. + * It is preferred for stylistic reasons to put it first. + * + * Make it short, sweet, and to the point. + */ +static const char example_desc[] = "This is an example Solanum module."; + /* Declare the void's initially up here, as modules dont have an * include file, we will normally have client_p, source_p, parc * and parv[] where: @@ -35,36 +42,36 @@ * parv == an array of the parameters */ -static int munreg_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); -static int mclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); -static int mserver_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); -static int mrclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); -static int moper_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static void munreg_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static void mclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static void mserver_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static void mrclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static void moper_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); /* Show the commands this module can handle in a msgtab * and give the msgtab a name, here its test_msgtab */ struct Message test_msgtab = { - "TEST", /* the /COMMAND you want */ - 0, /* SET TO ZERO -- number of times command used by clients */ - 0, /* SET TO ZERO -- number of times command used by clients */ - 0, /* SET TO ZERO -- number of times command used by clients */ - 0, /* ALWAYS SET TO 0 */ + "TEST", /* the /COMMAND you want */ + 0, /* SET TO ZERO -- number of times command used by clients */ + 0, /* SET TO ZERO -- number of times command used by clients */ + 0, /* SET TO ZERO -- number of times command used by clients */ + 0, /* ALWAYS SET TO 0 */ - /* the functions to call for each handler. If not using the generic - * handlers, the first param is the function to call, the second is the - * required number of parameters. NOTE: If you specify a min para of 2, - * then parv[1] must *also* be non-empty. - */ - { - {munreg_test, 0}, /* function call for unregistered clients, 0 parms required */ - {mclient_test, 0}, /* function call for local clients, 0 parms required */ - {mrclient_test, 0}, /* function call for remote clients, 0 parms required */ - {mserver_test, 0}, /* function call for servers, 0 parms required */ - mg_ignore, /* function call for ENCAP, unused in this test */ - {moper_test, 0} /* function call for operators, 0 parms required */ - } + /* the functions to call for each handler. If not using the generic + * handlers, the first param is the function to call, the second is the + * required number of parameters. NOTE: If you specify a min para of 2, + * then parv[1] must *also* be non-empty. + */ + { + {munreg_test, 0}, /* function call for unregistered clients, 0 parms required */ + {mclient_test, 0}, /* function call for local clients, 0 parms required */ + {mrclient_test, 0}, /* function call for remote clients, 0 parms required */ + {mserver_test, 0}, /* function call for servers, 0 parms required */ + mg_ignore, /* function call for ENCAP, unused in this test */ + {moper_test, 0} /* function call for operators, 0 parms required */ + } }; /* * There are also some macros for the above function calls and parameter counts. @@ -105,7 +112,7 @@ mapi_hlist_av1 test_hlist[] = { static void show_example_hook(void *unused); mapi_hfn_list_av1 test_hfnlist[] = { - { "doing_example_hook", (hookfn) show_example_hook }, + { "doing_example_hook", show_example_hook }, { NULL, NULL } }; @@ -143,28 +150,27 @@ moddeinit(void) /* DECLARE_MODULE_AV2() actually declare the MAPI header. */ DECLARE_MODULE_AV2( - /* The first argument is the name */ - example, - /* The second argument is the function to call on load */ - modinit, - /* And the function to call on unload */ - moddeinit, - /* Then the MAPI command list */ - test_clist, - /* Next the hook list, if we have one. */ - test_hlist, - /* Then the hook function list, if we have one */ - test_hfnlist, - /* Then the caps list, if we have one */ - test_cap_list, - /* Then the version number of this module (NULL for bundled) */ - NULL, - /* And finally, the description of this module */ - "This is an example module"); + /* The first argument is the name */ + example, + /* The second argument is the function to call on load */ + modinit, + /* And the function to call on unload */ + moddeinit, + /* Then the MAPI command list */ + test_clist, + /* Next the hook list, if we have one. */ + test_hlist, + /* Then the hook function list, if we have one */ + test_hfnlist, + /* Then the caps list, if we have one */ + test_cap_list, + /* Then the version number of this module (NULL for bundled) */ + NULL, + /* And finally, the description of this module */ + example_desc); /* Any of the above arguments can be NULL to indicate they aren't used. */ - /* * mr_test * parv[1] = parameter @@ -173,7 +179,7 @@ DECLARE_MODULE_AV2( /* Here we have the functions themselves that we declared above, * and the fairly normal C coding */ -static int +static void munreg_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(parc < 2) @@ -187,15 +193,13 @@ munreg_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sou /* illustration of how to call a hook function */ call_hook(doing_example_hook, NULL); - - return 0; } /* * mclient_test * parv[1] = parameter */ -static int +static void mclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(parc < 2) @@ -209,15 +213,13 @@ mclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *so /* illustration of how to call a hook function */ call_hook(doing_example_hook, NULL); - - return 0; } /* * mrclient_test * parv[1] = parameter */ -static int +static void mrclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(parc < 2) @@ -228,14 +230,13 @@ mrclient_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *s { sendto_one_notice(source_p, ":You are a remote client, and sent parameters: %s", parv[1]); } - return 0; } /* * mserver_test * parv[1] = parameter */ -static int +static void mserver_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(parc < 2) @@ -246,14 +247,13 @@ mserver_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *so { sendto_one_notice(source_p, ":You are a server, and sent parameters: %s", parv[1]); } - return 0; } /* * moper_test * parv[1] = parameter */ -static int +static void moper_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(parc < 2) @@ -264,7 +264,6 @@ moper_test(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sour { sendto_one_notice(source_p, ":You are an operator, and sent parameters: %s", parv[1]); } - return 0; } static void