From 64f10096b8bbf47b46a7b9854dd92f9b83852515 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Wed, 30 Apr 2003 21:17:53 +0000 Subject: Docbook XML conversion: devdoc (This used to be commit 4677d5e11c309b074be2ebb2e22394c5b3c13c58) --- docs/docbook/devdoc/rpc_plugin.xml | 83 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 docs/docbook/devdoc/rpc_plugin.xml (limited to 'docs/docbook/devdoc/rpc_plugin.xml') diff --git a/docs/docbook/devdoc/rpc_plugin.xml b/docs/docbook/devdoc/rpc_plugin.xml new file mode 100644 index 0000000000..c83742a247 --- /dev/null +++ b/docs/docbook/devdoc/rpc_plugin.xml @@ -0,0 +1,83 @@ + + + + AnthonyLiguori + + IBM +
aliguor@us.ibm.com
+
+
+ + JelmerVernooij + + Samba Team +
jelmer@samba.org
+
+
+ January 2003 +
+ +RPC Pluggable Modules + + +About + + +This document describes how to make use the new RPC Pluggable Modules features +of Samba 3.0. This architecture was added to increase the maintainability of +Samba allowing RPC Pipes to be worked on separately from the main CVS branch. +The RPM architecture will also allow third-party vendors to add functionality +to Samba through plug-ins. + + + + + +General Overview + + +When an RPC call is sent to smbd, smbd tries to load a shared library by the +name librpc_<pipename>.so to handle the call if +it doesn't know how to handle the call internally. For instance, LSA calls +are handled by librpc_lsass.so.. +These shared libraries should be located in the <sambaroot>/lib/rpc. smbd then attempts to call the init_module function within +the shared library. Check the chapter on modules for more information. + + + +In the init_module function, the library should call +rpc_pipe_register_commands(). This function takes the following arguments: + + + +int rpc_pipe_register_commands(const char *clnt, const char *srv, + const struct api_struct *cmds, int size); + + + + +clnt +the Client name of the named pipe + + +srv +the Server name of the named pipe + + +cmds +a list of api_structs that map RPC ordinal numbers to function calls + + +size +the number of api_structs contained in cmds + + + + + +See rpc_server/srv_reg.c and rpc_server/srv_reg_nt.c for a small example of +how to use this library. + + + +
-- cgit