librpc: fix IDL for svcctl_ChangeServiceConfigW
[bbaumbach/samba-autobuild/.git] / librpc / idl / mdssvc.idl
1 import "misc.idl";
2 [
3         uuid("885d85fb-c754-4062-a0e7-6872ce0064f4"),
4         endpoint("ncacn_np:[\\pipe\\mdssvc]", "ncalrpc:"),
5         version(2.0),
6         helpstring("Spotlight metadata search service")
7 ]
8 interface mdssvc
9 {
10         void mdssvc_open(
11                 [in,out,ref]                             uint32         *device_id,
12                 [in,out,ref]                             uint32         *unkn2, /* always 0x17 ? */
13                 [in,out,ref]                             uint32         *unkn3, /* always 0 ? */
14                 [in][string,charset(UTF8),size_is(1025)] uint8           share_mount_path[],
15                 [in][string,charset(UTF8),size_is(1025)] uint8           share_name[],
16                 [out,string,charset(UTF8),size_is(1025)] uint8           share_path[],
17                 [out,ref]                                policy_handle  *handle
18         );
19
20         void mdssvc_unknown1(
21                 [in]        policy_handle   *handle,
22                 [in]        uint32          unkn1, /* always 0, some status ? */
23                 [in]        uint32          device_id,
24                 [in]        uint32          unkn3, /* = mdssvc_open.unkn2 ? */
25                 [in]        uint32          unkn4, /* always 0, some status ? */
26                 [in]        uint32          uid,
27                 [in]        uint32          gid,
28                 [out,ref]   uint32         *status,
29                 [out,ref]   uint32         *flags, /* always 0x6b000001 ? */
30                 [out,ref]   uint32         *unkn7  /* always 0 ? */
31         );
32
33         typedef [public] struct {
34                 uint32 length;
35                 uint32 size;
36                 [size_is(size),length_is(length)] uint8 *spotlight_blob;
37         } mdssvc_blob;
38
39         void mdssvc_cmd(
40                 [in]        policy_handle   *handle,
41                 [in]        uint32          unkn1, /* always 0, status ? */
42                 [in]        uint32          device_id,
43                 [in]        uint32          unkn3, /* = mdssvc_open.unkn2 ? */
44                 [in]        uint32          unkn4, /* always 0 ? */
45                 [in]        uint32          flags, /* always 0x6b000001 ? */
46                 [in]        mdssvc_blob     request_blob,
47                 [in]        uint32          unkn5, /* always 0 ? */
48                 [in]        uint32          max_fragment_size1,
49                 [in]        uint32          unkn6, /* always 1 ? */
50                 /* always max_fragment_size1 = max_fragment_size2 ? */
51                 [in]        uint32          max_fragment_size2,
52                 [in]        uint32          unkn7, /* always 0 ? */
53                 [in]        uint32          unkn8, /* always 0 ? */
54                 [out,ref]   uint32         *fragment,
55                 [out,ref]   mdssvc_blob    *response_blob,
56                 [out,ref]   uint32         *unkn9  /* always 0 ? */
57         );
58
59         void mdssvc_close(
60                 [in]        policy_handle   *in_handle,
61                 [in]        uint32          unkn1, /* always 0, some status ? */
62                 [in]        uint32          device_id,
63                 [in]        uint32          unkn2, /* = mdssvc_open.unkn2 ? */
64                 [in]        uint32          unkn3, /* always 0, some status ? */
65                 [out,ref]   policy_handle  *out_handle,
66                 [out,ref]   uint32         *status
67         );
68 }