From b6f1cfdffb2bdd25e2561434bc6dcf1379e68ac5 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 1 Feb 2003 19:30:03 +0000 Subject: Convert Anthony's RPC doc to SGML/XML (This used to be commit 5a6f79b4a0d72371957b6bbb9dcfeaeb8779af70) --- docs/docbook/devdoc/dev-doc.sgml | 2 + docs/docbook/devdoc/rpc_plugin.sgml | 76 +++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 docs/docbook/devdoc/rpc_plugin.sgml (limited to 'docs') diff --git a/docs/docbook/devdoc/dev-doc.sgml b/docs/docbook/devdoc/dev-doc.sgml index e256dbe3a2..b5c934b1c8 100644 --- a/docs/docbook/devdoc/dev-doc.sgml +++ b/docs/docbook/devdoc/dev-doc.sgml @@ -12,6 +12,7 @@ + ]> @@ -66,5 +67,6 @@ url="http://www.fsf.org/licenses/gpl.txt">http://www.fsf.org/licenses/gpl.txt diff --git a/docs/docbook/devdoc/rpc_plugin.sgml b/docs/docbook/devdoc/rpc_plugin.sgml new file mode 100644 index 0000000000..21582a011d --- /dev/null +++ b/docs/docbook/devdoc/rpc_plugin.sgml @@ -0,0 +1,76 @@ + + + + AnthonyLiguori + + IBM +
aliguor@us.ibm.com
+
+
+ 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 rpc_pipe_init function within +the shared library. + + + +In the rpc_pipe_init 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