~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to librpc/idl/frsapi.idl

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "idl_types.h"
 
2
 
 
3
import "misc.idl";
 
4
 
 
5
[
 
6
  uuid("d049b186-814f-11d1-9a3c-00c04fc9b232"),
 
7
  version(1.1),
 
8
  endpoint("ncacn_ip_tcp:", "ncalrpc:"),
 
9
  helpstring("File Replication API"),
 
10
  pointer_default(unique)
 
11
]
 
12
interface frsapi
 
13
{
 
14
        /****************/
 
15
        /* Function 0x00 */
 
16
        [todo] void FRSAPI_VERIFY_PROMOTION();
 
17
 
 
18
        /****************/
 
19
        /* Function 0x01 */
 
20
        [todo] void FRSAPI_PROMOTION_STATUS();
 
21
 
 
22
        /****************/
 
23
        /* Function 0x02 */
 
24
        [todo] void FRSAPI_START_DEMOTION();
 
25
 
 
26
        /****************/
 
27
        /* Function 0x03 */
 
28
        [todo] void FRSAPI_COMMIT_DEMOTION();
 
29
 
 
30
        /****************/
 
31
        /* Function 0x04 */
 
32
 
 
33
        /* The DsPollingLongInterval and DsPollingShortInterval attributes
 
34
           represent registry attributes below HKLM\System\CCS\Services\NtFrs */
 
35
 
 
36
        WERROR frsapi_SetDsPollingIntervalW(
 
37
                [in] uint32 CurrentInterval,
 
38
                [in] uint32 DsPollingLongInterval,
 
39
                [in] uint32 DsPollingShortInterval
 
40
        );
 
41
 
 
42
        /****************/
 
43
        /* Function 0x05 */
 
44
        WERROR frsapi_GetDsPollingIntervalW(
 
45
                [out] uint32 *CurrentInterval,
 
46
                [out] uint32 *DsPollingLongInterval,
 
47
                [out] uint32 *DsPollingShortInterval
 
48
        );
 
49
 
 
50
        /****************/
 
51
        /* Function 0x06 */
 
52
        [todo] void FRSAPI_VERIFY_PROMOTION_W();
 
53
 
 
54
        /****************/
 
55
        /* Function 0x07 */
 
56
        typedef [v1_enum] enum {
 
57
                FRSAPI_INFO_VERSION     = 0,
 
58
                FRSAPI_INFO_SETS        = 1,
 
59
                FRSAPI_INFO_DS          = 2,
 
60
                FRSAPI_INFO_MEMORY      = 3,
 
61
                FRSAPI_INFO_IDTABLE     = 4,
 
62
                FRSAPI_INFO_OUTLOG      = 5,
 
63
                FRSAPI_INFO_INLOG       = 6,
 
64
                FRSAPI_INFO_THREADS     = 7,
 
65
                FRSAPI_INFO_STAGE       = 8,
 
66
                FRSAPI_INFO_CONFIGTABLE = 9
 
67
        } frsapi_InfoEnum;
 
68
 
 
69
        typedef struct {
 
70
                uint32 length;
 
71
                GUID guid;
 
72
                uint32 length2;
 
73
                uint32 unknown1;
 
74
                frsapi_InfoEnum level;
 
75
                uint32 query_counter;
 
76
                uint32 unknown2;
 
77
                uint32 offset;
 
78
                uint32 blob_len;
 
79
                /* [size_is(length-offset)] uint8 *data; */
 
80
                [subcontext_size(length-offset),subcontext(0),flag(NDR_REMAINING)] DATA_BLOB blob;
 
81
        } frsapi_Info;
 
82
 
 
83
        WERROR frsapi_InfoW(
 
84
                [in] [range(0,0x10000)] uint32 length,
 
85
                /* [in,out] [size_is(length)] [unique] uint8 *data */
 
86
                [in,out,unique] frsapi_Info *info
 
87
 
 
88
        );
 
89
 
 
90
        /****************/
 
91
        /* Function 0x08 */
 
92
        typedef [v1_enum] enum {
 
93
                FRSAPI_REPLICA_SET_TYPE_0       = 0x00000000,
 
94
                FRSAPI_REPLICA_SET_TYPE_DOMAIN  = 0x00000002,
 
95
                FRSAPI_REPLICA_SET_TYPE_DFS     = 0x00000003
 
96
        } frsapi_ReplicaSetType;
 
97
 
 
98
        WERROR frsapi_IsPathReplicated(
 
99
                [in,unique] [string,charset(UTF16)] uint16 *path,
 
100
                [in] frsapi_ReplicaSetType replica_set_type,
 
101
                [out] uint32 *unknown1,
 
102
                [out] uint32 *unknown2,
 
103
                [out] uint32 *unknown3,
 
104
                [out] GUID *replica_set_guid
 
105
        );
 
106
 
 
107
        /****************/
 
108
        /* Function 0x09 */
 
109
        [todo] void FRSAPI_WRITER_COMMAND();
 
110
 
 
111
        /****************/
 
112
        /* Function 0x0a */
 
113
        /* not supported before w2k3 sp2 */
 
114
        WERROR frsapi_ForceReplication(
 
115
                [in,unique] GUID *guid1,
 
116
                [in,unique] GUID *guid2,
 
117
                [in,unique] [charset(UTF16),string] uint16 *replica_set,
 
118
                [in,unique] [charset(UTF16),string] uint16 *partner_name
 
119
        );
 
120
 
 
121
}