diff options
Diffstat (limited to 'librpc')
-rw-r--r-- | librpc/idl/mdssvc.idl | 68 | ||||
-rw-r--r-- | librpc/idl/wscript_build | 3 | ||||
-rw-r--r-- | librpc/wscript_build | 12 |
3 files changed, 81 insertions, 2 deletions
diff --git a/librpc/idl/mdssvc.idl b/librpc/idl/mdssvc.idl new file mode 100644 index 00000000000..bfb27c4a795 --- /dev/null +++ b/librpc/idl/mdssvc.idl @@ -0,0 +1,68 @@ +import "misc.idl"; +[ + uuid("885d85fb-c754-4062-a0e7-6872ce0064f4"), + endpoint("ncacn_np:[\\pipe\\mdssvc]", "ncalrpc:"), + version(2.0), + helpstring("Spotlight metadata search service") +] +interface mdssvc +{ + void mdssvc_open( + [in,out,ref] uint32 *device_id, + [in,out,ref] uint32 *unkn2, /* always 0x17 ? */ + [in,out,ref] uint32 *unkn3, /* always 0 ? */ + [in][string,charset(UTF8),size_is(1025)] uint8 share_mount_path[], + [in][string,charset(UTF8),size_is(1025)] uint8 share_name[], + [out,string,charset(UTF8),size_is(1025)] uint8 share_path[], + [out,ref] policy_handle *handle + ); + + void mdssvc_unknown1( + [in] policy_handle handle, + [in] uint32 unkn1, /* always 0, some status ? */ + [in] uint32 device_id, + [in] uint32 unkn3, /* = mdssvc_open.unkn2 ? */ + [in] uint32 unkn4, /* always 0, some status ? */ + [in] uint32 uid, + [in] uint32 gid, + [out,ref] uint32 *status, + [out,ref] uint32 *flags, /* always 0x6b000001 ? */ + [out,ref] uint32 *unkn7 /* always 0 ? */ + ); + + typedef [public] struct { + uint32 length; + uint32 size; + [size_is(size),length_is(length)] uint8 *spotlight_blob; + } mdssvc_blob; + + void mdssvc_cmd( + [in] policy_handle handle, + [in] uint32 unkn1, /* always 0, status ? */ + [in] uint32 device_id, + [in] uint32 unkn3, /* = mdssvc_open.unkn2 ? */ + [in] uint32 unkn4, /* always 0 ? */ + [in] uint32 flags, /* always 0x6b000001 ? */ + [in] mdssvc_blob request_blob, + [in] uint32 unkn5, /* always 0 ? */ + [in] uint32 max_fragment_size1, + [in] uint32 unkn6, /* always 1 ? */ + /* always max_fragment_size1 = max_fragment_size2 ? */ + [in] uint32 max_fragment_size2, + [in] uint32 unkn7, /* always 0 ? */ + [in] uint32 unkn8, /* always 0 ? */ + [out,ref] uint32 *status, + [out,ref] mdssvc_blob *response_blob, + [out,ref] uint32 *unkn9 /* always 0 ? */ + ); + + void mdssvc_close( + [in] policy_handle in_handle, + [in] uint32 unkn1, /* always 0, some status ? */ + [in] uint32 device_id, + [in] uint32 unkn2, /* = mdssvc_open.unkn2 ? */ + [in] uint32 unkn3, /* always 0, some status ? */ + [out,ref] policy_handle *out_handle, + [out,ref] uint32 *status + ); +} diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build index 4b56af63dec..6316edd4665 100644 --- a/librpc/idl/wscript_build +++ b/librpc/idl/wscript_build @@ -13,7 +13,8 @@ bld.SAMBA_PIDL_LIST('PIDL', notify.idl smb2_lease_struct.idl policyagent.idl scerpc.idl svcctl.idl wkssvc.idl eventlog6.idl backupkey.idl - fsrvp.idl bkupblobs.idl fscc.idl frsblobs.idl witness.idl clusapi.idl''', + fsrvp.idl bkupblobs.idl fscc.idl frsblobs.idl witness.idl clusapi.idl + mdssvc.idl''', options='--header --ndr-parser --samba3-ndr-server --server --client --python', output_dir='../gen_ndr') diff --git a/librpc/wscript_build b/librpc/wscript_build index 212733aa284..1594e721eac 100644 --- a/librpc/wscript_build +++ b/librpc/wscript_build @@ -330,6 +330,11 @@ bld.SAMBA_SUBSYSTEM('NDR_CLUSAPI', public_deps='ndr' ) +bld.SAMBA_SUBSYSTEM('NDR_MDSSVC', + source='gen_ndr/ndr_mdssvc.c', + public_deps='ndr' + ) + bld.SAMBA_SUBSYSTEM('NDR_DCERPC', source='gen_ndr/ndr_dcerpc.c ndr/ndr_dcerpc.c', public_deps='ndr', @@ -665,12 +670,17 @@ bld.SAMBA_SUBSYSTEM('RPC_NDR_CLUSAPI', public_deps='dcerpc-binding NDR_CLUSAPI' ) +bld.SAMBA_SUBSYSTEM('RPC_NDR_MDSSVC', + source='gen_ndr/ndr_mdssvc_c.c', + public_deps='dcerpc-binding NDR_MDSSVC' + ) + # a grouping library for NDR subsystems that may be used by more than one target bld.SAMBA_LIBRARY('ndr-samba', source=[], deps='''NDR_DRSBLOBS NDR_DRSUAPI NDR_IDMAP NDR_NTLMSSP NDR_SCHANNEL NDR_MGMT NDR_DNSP NDR_EPMAPPER NDR_XATTR NDR_UNIXINFO NDR_NAMED_PIPE_AUTH NDR_DCOM - NDR_NTPRINTING NDR_FSRVP NDR_WITNESS NDR_OPEN_FILES NDR_SMBXSRV''', + NDR_NTPRINTING NDR_FSRVP NDR_WITNESS NDR_MDSSVC NDR_OPEN_FILES NDR_SMBXSRV''', private_library=True, grouping_library=True ) |