1 /* header auto-generated by pidl */
3 #ifndef _PIDL_HEADER_wrepl
4 #define _PIDL_HEADER_wrepl
8 #include "libcli/util/ntstatus.h"
10 #include "librpc/gen_ndr/nbt.h"
14 #define WINS_REPLICATION_PORT ( 42 )
15 #define WREPL_OPCODE_BITS ( 0x7800 )
19 }/* [flag(LIBNDR_FLAG_BIGENDIAN)] */;
21 struct wrepl_address_list {
24 }/* [flag(LIBNDR_FLAG_LITTLE_ENDIAN)] */;
26 union wrepl_addresses {
27 const char * ip;/* [case(0)] */
28 struct wrepl_address_list addresses;/* [case(2)] */
29 }/* [nodiscriminant] */;
32 #ifndef USE_UINT_ENUMS
34 WREPL_TYPE_UNIQUE=(int)(0x0),
35 WREPL_TYPE_GROUP=(int)(0x1),
36 WREPL_TYPE_SGROUP=(int)(0x2),
37 WREPL_TYPE_MHOMED=(int)(0x3)
40 { __do_not_use_enum_wrepl_name_type=0x7FFFFFFF}
41 #define WREPL_TYPE_UNIQUE ( 0x0 )
42 #define WREPL_TYPE_GROUP ( 0x1 )
43 #define WREPL_TYPE_SGROUP ( 0x2 )
44 #define WREPL_TYPE_MHOMED ( 0x3 )
49 #ifndef USE_UINT_ENUMS
51 WREPL_STATE_ACTIVE=(int)(0x0),
52 WREPL_STATE_RELEASED=(int)(0x1),
53 WREPL_STATE_TOMBSTONE=(int)(0x2),
54 WREPL_STATE_RESERVED=(int)(0x3)
57 { __do_not_use_enum_wrepl_name_state=0x7FFFFFFF}
58 #define WREPL_STATE_ACTIVE ( 0x0 )
59 #define WREPL_STATE_RELEASED ( 0x1 )
60 #define WREPL_STATE_TOMBSTONE ( 0x2 )
61 #define WREPL_STATE_RESERVED ( 0x3 )
66 #ifndef USE_UINT_ENUMS
68 WREPL_NODE_B=(int)(0x0),
69 WREPL_NODE_P=(int)(0x1),
70 WREPL_NODE_M=(int)(0x2),
71 WREPL_NODE_H=(int)(0x3)
74 { __do_not_use_enum_wrepl_name_node=0x7FFFFFFF}
75 #define WREPL_NODE_B ( 0x0 )
76 #define WREPL_NODE_P ( 0x1 )
77 #define WREPL_NODE_M ( 0x2 )
78 #define WREPL_NODE_H ( 0x3 )
82 /* bitmap wrepl_flags */
83 #define WREPL_FLAGS_RECORD_TYPE ( 0x00000003 )
84 #define WREPL_FLAGS_RECORD_STATE ( 0x0000000C )
85 #define WREPL_FLAGS_REGISTERED_LOCAL ( 0x00000010 )
86 #define WREPL_FLAGS_NODE_TYPE ( 0x00000060 )
87 #define WREPL_FLAGS_IS_STATIC ( 0x00000080 )
90 #ifndef USE_UINT_ENUMS
92 WREPL_GROUP_FLAG_NO_GROUP=(int)(0x00000000),
93 WREPL_GROUP_FLAG_IS_GROUP=(int)(0x00000001)
96 { __do_not_use_enum_wrepl_group_flag=0x7FFFFFFF}
97 #define WREPL_GROUP_FLAG_NO_GROUP ( 0x00000000 )
98 #define WREPL_GROUP_FLAG_IS_GROUP ( 0x00000001 )
102 struct wrepl_wins_name {
103 struct nbt_name * name;
105 enum wrepl_group_flag is_group;/* [value((((((flags)&WREPL_FLAGS_RECORD_TYPE)==WREPL_TYPE_GROUP)||(((flags)&WREPL_FLAGS_RECORD_TYPE)==WREPL_TYPE_SGROUP))?WREPL_GROUP_FLAG_IS_GROUP:WREPL_GROUP_FLAG_NO_GROUP)),flag(LIBNDR_FLAG_LITTLE_ENDIAN)] */
107 union wrepl_addresses addresses;/* [switch_is(flags&2)] */
108 const char * unknown;
111 struct wrepl_send_reply {
113 struct wrepl_wins_name *names;
116 struct wrepl_wins_owner {
117 const char * address;
118 uint64_t max_version;
119 uint64_t min_version;
124 uint32_t partner_count;
125 struct wrepl_wins_owner *partners;
126 const char * initiator;
129 enum wrepl_replication_cmd
130 #ifndef USE_UINT_ENUMS
132 WREPL_REPL_TABLE_QUERY=(int)(0),
133 WREPL_REPL_TABLE_REPLY=(int)(1),
134 WREPL_REPL_SEND_REQUEST=(int)(2),
135 WREPL_REPL_SEND_REPLY=(int)(3),
136 WREPL_REPL_UPDATE=(int)(4),
137 WREPL_REPL_UPDATE2=(int)(5),
138 WREPL_REPL_INFORM=(int)(8),
139 WREPL_REPL_INFORM2=(int)(9)
142 { __do_not_use_enum_wrepl_replication_cmd=0x7FFFFFFF}
143 #define WREPL_REPL_TABLE_QUERY ( 0 )
144 #define WREPL_REPL_TABLE_REPLY ( 1 )
145 #define WREPL_REPL_SEND_REQUEST ( 2 )
146 #define WREPL_REPL_SEND_REPLY ( 3 )
147 #define WREPL_REPL_UPDATE ( 4 )
148 #define WREPL_REPL_UPDATE2 ( 5 )
149 #define WREPL_REPL_INFORM ( 8 )
150 #define WREPL_REPL_INFORM2 ( 9 )
154 union wrepl_replication_info {
155 struct wrepl_table table;/* [case(WREPL_REPL_TABLE_REPLY)] */
156 struct wrepl_wins_owner owner;/* [case(WREPL_REPL_SEND_REQUEST)] */
157 struct wrepl_send_reply reply;/* [case(WREPL_REPL_SEND_REPLY)] */
158 }/* [nodiscriminant] */;
160 struct wrepl_replication {
161 enum wrepl_replication_cmd command;
162 union wrepl_replication_info info;/* [switch_is(command)] */
167 uint16_t minor_version;
168 uint16_t major_version;
176 #ifndef USE_UINT_ENUMS
178 WREPL_START_ASSOCIATION=(int)(0),
179 WREPL_START_ASSOCIATION_REPLY=(int)(1),
180 WREPL_STOP_ASSOCIATION=(int)(2),
181 WREPL_REPLICATION=(int)(3)
184 { __do_not_use_enum_wrepl_mess_type=0x7FFFFFFF}
185 #define WREPL_START_ASSOCIATION ( 0 )
186 #define WREPL_START_ASSOCIATION_REPLY ( 1 )
187 #define WREPL_STOP_ASSOCIATION ( 2 )
188 #define WREPL_REPLICATION ( 3 )
192 union wrepl_message {
193 struct wrepl_start start;/* [case(WREPL_START_ASSOCIATION)] */
194 struct wrepl_start start_reply;/* [case(WREPL_START_ASSOCIATION_REPLY)] */
195 struct wrepl_stop stop;/* [case(WREPL_STOP_ASSOCIATION)] */
196 struct wrepl_replication replication;/* [case(WREPL_REPLICATION)] */
197 }/* [nodiscriminant] */;
199 struct wrepl_packet {
202 enum wrepl_mess_type mess_type;
203 union wrepl_message message;/* [switch_is(mess_type)] */
204 DATA_BLOB padding;/* [flag(LIBNDR_FLAG_REMAINING)] */
205 }/* [gensize,public,flag(LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
208 uint32_t size;/* [value(ndr_size_wrepl_packet(&packet,ndr->flags))] */
209 struct wrepl_packet packet;
210 }/* [public,flag(LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
213 struct decode_winsrepl {
220 #endif /* _HEADER_wrepl */
221 #endif /* _PIDL_HEADER_wrepl */