diff options
author | Volker Lendecke <vlendec@samba.org> | 2005-05-19 15:45:25 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:16:56 -0500 |
commit | 283991e1fff8b74af693aeb634143b10b5e939c8 (patch) | |
tree | 1bee3b1a9a56fd1c6fadaa37da5173fb09c70d31 /source4/librpc | |
parent | 45511bd09b62266904c547398037fd41fbb8871e (diff) | |
download | samba-283991e1fff8b74af693aeb634143b10b5e939c8.tar.gz samba-283991e1fff8b74af693aeb634143b10b5e939c8.tar.bz2 samba-283991e1fff8b74af693aeb634143b10b5e939c8.zip |
r6907: Unixinfo for samba4, not activated by default.
Volker
(This used to be commit 81ddffde369c5b5e91bc130510f43c6841a789c4)
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/config.mk | 15 | ||||
-rw-r--r-- | source4/librpc/idl/unixinfo.idl | 56 |
2 files changed, 69 insertions, 2 deletions
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 0ee9c0f501..45cc360f24 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -113,6 +113,12 @@ INIT_OBJ_FILES = librpc/gen_ndr/ndr_policyagent.o NOPROTO = YES REQUIRED_SUBSYSTEMS = NDR +[SUBSYSTEM::NDR_UNIXINFO] +INIT_FUNCTION = dcerpc_unixinfo_init +INIT_OBJ_FILES = librpc/gen_ndr/ndr_unixinfo.o +NOPROTO = YES +REQUIRED_SUBSYSTEMS = NDR + [SUBSYSTEM::NDR_SAMR] INIT_FUNCTION = dcerpc_samr_init INIT_OBJ_FILES = librpc/gen_ndr/ndr_samr.o @@ -321,7 +327,7 @@ REQUIRED_SUBSYSTEMS = NDR NDR_NBT [SUBSYSTEM::NDR_ALL] REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \ NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA NDR_DFS NDR_DRSUAPI \ - NDR_POLICYAGENT NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \ + NDR_POLICYAGENT NDR_UNIXINFO NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \ NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \ NDR_WINREG NDR_MGMT NDR_PROTECTED_STORAGE NDR_OXIDRESOLVER \ NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_NTSVCS \ @@ -384,6 +390,11 @@ ADD_OBJ_FILES = librpc/gen_ndr/ndr_policyagent_c.o REQUIRED_SUBSYSTEMS = RPC NDR_POLICYAGENT NOPROTO = YES +[SUBSYSTEM::RPC_NDR_UNIXINFO] +ADD_OBJ_FILES = librpc/gen_ndr/ndr_unixinfo_c.o +REQUIRED_SUBSYSTEMS = RPC NDR_UNIXINFO +NOPROTO = YES + [SUBSYSTEM::RPC_NDR_SAMR] ADD_OBJ_FILES = librpc/gen_ndr/ndr_samr_c.o REQUIRED_SUBSYSTEMS = RPC NDR_SAMR @@ -522,6 +533,6 @@ NOPROTO = YES ################################################ # Start SUBSYSTEM RPC [SUBSYSTEM::RPC] -REQUIRED_SUBSYSTEMS = NDR_RAW RPC_RAW LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR RPC_NDR_NETLOGON RPC_NDR_EPMAPPER +REQUIRED_SUBSYSTEMS = NDR_RAW RPC_RAW LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR NDR_UNIXINFO RPC_NDR_NETLOGON RPC_NDR_EPMAPPER # End SUBSYSTEM RPC ################################################ diff --git a/source4/librpc/idl/unixinfo.idl b/source4/librpc/idl/unixinfo.idl new file mode 100644 index 0000000000..e740368875 --- /dev/null +++ b/source4/librpc/idl/unixinfo.idl @@ -0,0 +1,56 @@ +#include "idl_types.h" + +/* + Unixinfo interface definition +*/ + +[ uuid("9c54e310-a955-4885-bd31-78787147dfa6"), + version(0.0), + endpoint("ncacn_np:[\\pipe\\unixinfo]", "ncacn_ip_tcp:", "ncalrpc:"), + pointer_default(unique), + helpstring("Unixinfo specific stuff"), + depends(security) +] interface unixinfo +{ + /******************/ + /* Function: 0x00 */ + NTSTATUS unixinfo_SidToUid ( + [in] dom_sid sid, + [out] hyper uid + ); + + /******************/ + /* Function: 0x01 */ + NTSTATUS unixinfo_UidToSid ( + [in] hyper uid, + [out] dom_sid *sid + ); + + /******************/ + /* Function: 0x02 */ + NTSTATUS unixinfo_SidToGid ( + [in] dom_sid sid, + [out] hyper gid + ); + + /******************/ + /* Function: 0x03 */ + NTSTATUS unixinfo_GidToSid ( + [in] hyper gid, + [out] dom_sid *sid + ); + + typedef struct { + NTSTATUS status; + utf8string homedir; + utf8string shell; + } unixinfo_GetPWUidInfo; + + /******************/ + /* Function: 0x04 */ + NTSTATUS unixinfo_GetPWUid ( + [in,out,range(0,1023)] uint32 count, + [in,size_is(count)] hyper uids[], + [out,size_is(count)] unixinfo_GetPWUidInfo infos[] + ); +} |