git add -f bin/default/librpc/gen_ndr/*.[ch] bin/default/source*/librpc/gen_ndr/...
[metze/samba/wip.git] / bin.gen_ndr / default / source4 / librpc / gen_ndr / winsrepl.h
1 /* header auto-generated by pidl */
2
3 #ifndef _PIDL_HEADER_wrepl
4 #define _PIDL_HEADER_wrepl
5
6 #include <stdint.h>
7
8 #include "libcli/util/ntstatus.h"
9
10 #include "librpc/gen_ndr/nbt.h"
11 #ifndef _HEADER_wrepl
12 #define _HEADER_wrepl
13
14 #define WINS_REPLICATION_PORT   ( 42 )
15 #define WREPL_OPCODE_BITS       ( 0x7800 )
16 struct wrepl_ip {
17         const char * owner;
18         const char * ip;
19 }/* [flag(LIBNDR_FLAG_BIGENDIAN)] */;
20
21 struct wrepl_address_list {
22         uint32_t num_ips;
23         struct wrepl_ip *ips;
24 }/* [flag(LIBNDR_FLAG_LITTLE_ENDIAN)] */;
25
26 union wrepl_addresses {
27         const char * ip;/* [case(0)] */
28         struct wrepl_address_list addresses;/* [case(2)] */
29 }/* [nodiscriminant] */;
30
31 enum wrepl_name_type
32 #ifndef USE_UINT_ENUMS
33  {
34         WREPL_TYPE_UNIQUE=(int)(0x0),
35         WREPL_TYPE_GROUP=(int)(0x1),
36         WREPL_TYPE_SGROUP=(int)(0x2),
37         WREPL_TYPE_MHOMED=(int)(0x3)
38 }
39 #else
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 )
45 #endif
46 ;
47
48 enum wrepl_name_state
49 #ifndef USE_UINT_ENUMS
50  {
51         WREPL_STATE_ACTIVE=(int)(0x0),
52         WREPL_STATE_RELEASED=(int)(0x1),
53         WREPL_STATE_TOMBSTONE=(int)(0x2),
54         WREPL_STATE_RESERVED=(int)(0x3)
55 }
56 #else
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 )
62 #endif
63 ;
64
65 enum wrepl_name_node
66 #ifndef USE_UINT_ENUMS
67  {
68         WREPL_NODE_B=(int)(0x0),
69         WREPL_NODE_P=(int)(0x1),
70         WREPL_NODE_M=(int)(0x2),
71         WREPL_NODE_H=(int)(0x3)
72 }
73 #else
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 )
79 #endif
80 ;
81
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 )
88
89 enum wrepl_group_flag
90 #ifndef USE_UINT_ENUMS
91  {
92         WREPL_GROUP_FLAG_NO_GROUP=(int)(0x00000000),
93         WREPL_GROUP_FLAG_IS_GROUP=(int)(0x00000001)
94 }
95 #else
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 )
99 #endif
100 ;
101
102 struct wrepl_wins_name {
103         struct nbt_name * name;
104         uint32_t flags;
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)] */
106         uint64_t id;
107         union wrepl_addresses addresses;/* [switch_is(flags&2)] */
108         const char * unknown;
109 };
110
111 struct wrepl_send_reply {
112         uint32_t num_names;
113         struct wrepl_wins_name *names;
114 };
115
116 struct wrepl_wins_owner {
117         const char * address;
118         uint64_t max_version;
119         uint64_t min_version;
120         uint32_t type;
121 };
122
123 struct wrepl_table {
124         uint32_t partner_count;
125         struct wrepl_wins_owner *partners;
126         const char * initiator;
127 };
128
129 enum wrepl_replication_cmd
130 #ifndef USE_UINT_ENUMS
131  {
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)
140 }
141 #else
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 )
151 #endif
152 ;
153
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] */;
159
160 struct wrepl_replication {
161         enum wrepl_replication_cmd command;
162         union wrepl_replication_info info;/* [switch_is(command)] */
163 };
164
165 struct wrepl_start {
166         uint32_t assoc_ctx;
167         uint16_t minor_version;
168         uint16_t major_version;
169 };
170
171 struct wrepl_stop {
172         uint32_t reason;
173 };
174
175 enum wrepl_mess_type
176 #ifndef USE_UINT_ENUMS
177  {
178         WREPL_START_ASSOCIATION=(int)(0),
179         WREPL_START_ASSOCIATION_REPLY=(int)(1),
180         WREPL_STOP_ASSOCIATION=(int)(2),
181         WREPL_REPLICATION=(int)(3)
182 }
183 #else
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 )
189 #endif
190 ;
191
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] */;
198
199 struct wrepl_packet {
200         uint32_t opcode;
201         uint32_t assoc_ctx;
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)] */;
206
207 struct wrepl_wrap {
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)] */;
211
212
213 struct decode_winsrepl {
214         struct {
215                 struct wrepl_wrap p;
216         } in;
217
218 };
219
220 #endif /* _HEADER_wrepl */
221 #endif /* _PIDL_HEADER_wrepl */