1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/librpc/idl/mdssvc.idl
Ralph Boehme 566427c4f0 librpc/idl: mdssvc: unkn4 field is a fragment indicator
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2023-07-24 15:18:32 +00:00

69 lines
2.7 KiB
Plaintext

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 next_fragment, /* Set to 1 to request next fragment*/
[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 *fragment,
[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
);
}