mirror of
https://github.com/samba-team/samba.git
synced 2025-11-06 08:23:50 +03:00
around with pointers to just one uint32. Add an output typemap to copy a policy handle as the talloc context is destroyed before the wrapper function returns. More work here needed to avoid memory leaks. Use the swig carrays.i file to create accessor and setter functions for fixed width integer types. Also add functions for struct samr_SamEntry as it's returned by the LookupDomain RPC. This really needs to be done by pidl so I don't have to go through and find all the structures that are returned in arrays. Include security.i to give us SIDs and security descriptors.
README for Samba SWIG Python extensions --------------------------------------- Instructions for building: 1. Run configure with the --with-python option to enable python extensions. 2. Edit the script/build_idl.sh script to pass the --swig option to pidl. Here's a patch: Index: script/build_idl.sh =================================================================== --- script/build_idl.sh (revision 2413) +++ script/build_idl.sh (working copy) @@ -4,7 +4,7 @@ [ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1 -PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server" +PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server --swig" TABLES="$PERL ./build/pidl/tables.pl --output librpc/gen_ndr/tables" if [ x$FULLBUILD = xFULL ]; then 3. Run 'make idl_full swig' to build extensions. 4. At some stage there will be a proper system for installing the extensions, but right now it's easier to run them in place. Set your PYTHONPATH to include the modules. From the Samba source directory, run: export PYTHONPATH=`pwd`/scripting/swig Now you can go nuts and use the extensions. Check the scripting/swig/torture directory for a testsuite. There will hopefully be a bunch of usage examples somewhere.