From 4f5791ebd03eaec1c7da0865a383175b05102712 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 19:47:29 +0200 Subject: Adding upstream version 2:4.17.12+dfsg. Signed-off-by: Daniel Baumann --- docs-xml/Samba-Developers-Guide/rpc_plugin.xml | 90 ++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 docs-xml/Samba-Developers-Guide/rpc_plugin.xml (limited to 'docs-xml/Samba-Developers-Guide/rpc_plugin.xml') diff --git a/docs-xml/Samba-Developers-Guide/rpc_plugin.xml b/docs-xml/Samba-Developers-Guide/rpc_plugin.xml new file mode 100644 index 0000000..1992c57 --- /dev/null +++ b/docs-xml/Samba-Developers-Guide/rpc_plugin.xml @@ -0,0 +1,90 @@ + + + + + + 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: + + + +NTSTATUS rpc_pipe_register_commands(int version, const char *clnt, const char *srv, + const struct api_struct *cmds, int size); + + + + +version +Version number of the RPC interface. Use the define SMB_RPC_INTERFACE_VERSION for this +argument. + + +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 v1.2.3