1 /* header auto-generated by pidl */
3 #ifndef _PIDL_HEADER_winsif
4 #define _PIDL_HEADER_winsif
8 #include "libcli/util/ntstatus.h"
10 #include "librpc/gen_ndr/nbt.h"
11 #ifndef _HEADER_winsif
12 #define _HEADER_winsif
14 struct winsif_Address {
21 #ifndef USE_UINT_ENUMS
23 WINSIF_ACTION_INSERT=(int)(0x0000),
24 WINSIF_ACTION_DELETE=(int)(0x0001),
25 WINSIF_ACTION_RELEASE=(int)(0x0002),
26 WINSIF_ACTION_MODIFY=(int)(0x0003),
27 WINSIF_ACTION_QUERY=(int)(0x0004)
30 { __do_not_use_enum_winsif_Action=0x7FFFFFFF}
31 #define WINSIF_ACTION_INSERT ( 0x0000 )
32 #define WINSIF_ACTION_DELETE ( 0x0001 )
33 #define WINSIF_ACTION_RELEASE ( 0x0002 )
34 #define WINSIF_ACTION_MODIFY ( 0x0003 )
35 #define WINSIF_ACTION_QUERY ( 0x0004 )
39 enum winsif_RecordType
40 #ifndef USE_UINT_ENUMS
42 WINSIF_RECORD_UNIQUE_NAME=(int)(0x0000),
43 WINSIF_RECORD_GROUP_NAME=(int)(0x0001),
44 WINSIF_RECORD_SGROUP_NAME=(int)(0x0002),
45 WINSIF_RECORD_MHOMED_NAME=(int)(0x0003)
48 { __do_not_use_enum_winsif_RecordType=0x7FFFFFFF}
49 #define WINSIF_RECORD_UNIQUE_NAME ( 0x0000 )
50 #define WINSIF_RECORD_GROUP_NAME ( 0x0001 )
51 #define WINSIF_RECORD_SGROUP_NAME ( 0x0002 )
52 #define WINSIF_RECORD_MHOMED_NAME ( 0x0003 )
57 #ifndef USE_UINT_ENUMS
59 WINSIF_NODE_B=(int)(0x00),
60 WINSIF_NODE_P=(int)(0x01),
61 WINSIF_NODE_H=(int)(0x03)
64 { __do_not_use_enum_winsif_NodeType=0x7FFFFFFF}
65 #define WINSIF_NODE_B ( 0x00 )
66 #define WINSIF_NODE_P ( 0x01 )
67 #define WINSIF_NODE_H ( 0x03 )
71 enum winsif_RecordState
72 #ifndef USE_UINT_ENUMS
74 WINSIF_RECORD_ACTIVE=(int)(0x00000000),
75 WINSIF_RECORD_RELEASED=(int)(0x00000001),
76 WINSIF_RECORD_TOMBSTONE=(int)(0x00000002),
77 WINSIF_RECORD_DELETED=(int)(0x00000003)
80 { __do_not_use_enum_winsif_RecordState=0x7FFFFFFF}
81 #define WINSIF_RECORD_ACTIVE ( 0x00000000 )
82 #define WINSIF_RECORD_RELEASED ( 0x00000001 )
83 #define WINSIF_RECORD_TOMBSTONE ( 0x00000002 )
84 #define WINSIF_RECORD_DELETED ( 0x00000003 )
88 struct winsif_RecordAction {
89 enum winsif_Action cmd;
90 struct nbt_name * name;/* [unique] */
91 uint32_t name_len;/* [value(name?16:0)] */
92 enum winsif_RecordType record_type;
93 uint32_t num_of_addresses;
94 struct winsif_Address *addresses;/* [unique,size_is(num_of_addresses)] */
95 struct winsif_Address address;
96 uint64_t version_number;
97 enum winsif_NodeType node_type;
98 const char * owner_address;
99 enum winsif_RecordState record_state;
104 struct winsif_AddressVersionMap {
105 struct winsif_Address address;
106 uint64_t version_number;
109 enum winsif_PriorityClass
110 #ifndef USE_UINT_ENUMS
112 WINSIF_PRIORITY_NORMAL=(int)(0x0000),
113 WINSIF_PRIORITY_HIGH=(int)(0x0001)
116 { __do_not_use_enum_winsif_PriorityClass=0x7FFFFFFF}
117 #define WINSIF_PRIORITY_NORMAL ( 0x0000 )
118 #define WINSIF_PRIORITY_HIGH ( 0x0001 )
122 struct winsif_ReplCounter {
123 struct winsif_Address address;
124 uint32_t num_replications;
125 uint32_t num_communication_failures;
128 struct winsif_StatCounters {
129 uint32_t num_unique_registrations;
130 uint32_t num_group_registrations;
131 uint32_t num_queries;
132 uint32_t num_successful_queries;
133 uint32_t num_failed_queries;
134 uint32_t num_unique_refreshes;
135 uint32_t num_group_refreshes;
136 uint32_t num_releases;
137 uint32_t num_successful_releases;
138 uint32_t num_failed_releases;
139 uint32_t num_unique_conflicts;
140 uint32_t num_group_conflicts;
143 struct winsif_StatTimeStamps {
144 time_t wins_start_time;
145 time_t last_periodic_scavenging;
146 time_t last_triggered_scavenging;
147 time_t last_tombstone_scavenging;
148 time_t last_verification_scavenging;
149 time_t last_periodic_pull_replication;
150 time_t last_triggered_pull_replication;
151 time_t ignore_last_ntrepl;
152 time_t ignore_last_actrepl;
154 time_t counter_reset;
158 struct winsif_StatCounters counters;
159 struct winsif_StatTimeStamps time_stamps;
160 uint32_t num_partners;
161 struct winsif_ReplCounter *partners;/* [unique,size_is(num_partners)] */
164 struct winsif_Results {
166 struct winsif_AddressVersionMap address_version_maps[25];
167 uint64_t my_max_version_number;
168 uint32_t refresh_interval;
169 uint32_t tombstone_interval;
170 uint32_t tombstone_timeout;
171 uint32_t verify_interval;
172 enum winsif_PriorityClass prioritiy_class;
173 uint32_t num_worker_threads;
174 struct winsif_Stat wstat;
177 enum winsif_StatusCmd
178 #ifndef USE_UINT_ENUMS
180 WINSIF_STATUS_CMD_ADDRESS_VERSION_MAP=(int)(0x0000),
181 WINSIF_STATUS_CMD_CONFIG=(int)(0x0001),
182 WINSIF_STATUS_CMD_STAT=(int)(0x0002),
183 WINSIF_STATUS_CMD_ALL_MAPS=(int)(0x0003)
186 { __do_not_use_enum_winsif_StatusCmd=0x7FFFFFFF}
187 #define WINSIF_STATUS_CMD_ADDRESS_VERSION_MAP ( 0x0000 )
188 #define WINSIF_STATUS_CMD_CONFIG ( 0x0001 )
189 #define WINSIF_STATUS_CMD_STAT ( 0x0002 )
190 #define WINSIF_STATUS_CMD_ALL_MAPS ( 0x0003 )
194 enum winsif_TriggerType
195 #ifndef USE_UINT_ENUMS
197 WINSIF_TRIGGER_PULL=(int)(0x0000),
198 WINSIF_TRIGGER_PUSH=(int)(0x0001),
199 WINSIF_TRIGGER_PUSH_PROP=(int)(0x0002)
202 { __do_not_use_enum_winsif_TriggerType=0x7FFFFFFF}
203 #define WINSIF_TRIGGER_PULL ( 0x0000 )
204 #define WINSIF_TRIGGER_PUSH ( 0x0001 )
205 #define WINSIF_TRIGGER_PUSH_PROP ( 0x0002 )
209 struct winsif_Records {
210 uint32_t buffer_size;
211 struct winsif_RecordAction *row;/* [unique,size_is(num_records)] */
212 uint32_t num_records;
213 uint32_t total_num_records;
216 struct winsif_BrowserInfo {
218 const char *name;/* [unique,charset(DOS)] */
221 struct winsif_BrowserNames {
222 uint32_t num_entries;
223 struct winsif_BrowserInfo *info;/* [unique,size_is(num_entries)] */
226 struct winsif_BindData {
228 const char *server_address;/* [unique,charset(DOS)] */
229 const char *pipe_name;/* [unique,charset(DOS)] */
232 struct winsif_ResultsNew {
234 struct winsif_AddressVersionMap *address_version_maps;/* [unique,size_is(num_owners)] */
235 uint64_t my_max_version_number;
236 uint32_t refresh_interval;
237 uint32_t tombstone_interval;
238 uint32_t tombstone_timeout;
239 uint32_t verify_interval;
240 enum winsif_PriorityClass prioritiy_class;
241 uint32_t num_worker_threads;
242 struct winsif_Stat wstat;
245 enum winsif_ScavengingOpcode
246 #ifndef USE_UINT_ENUMS
248 WINSIF_SCAVENGING_GENERAL=(int)(0x0000),
249 WINSIF_SCAVENGING_VERIFY=(int)(0x0001)
252 { __do_not_use_enum_winsif_ScavengingOpcode=0x7FFFFFFF}
253 #define WINSIF_SCAVENGING_GENERAL ( 0x0000 )
254 #define WINSIF_SCAVENGING_VERIFY ( 0x0001 )
258 struct winsif_ScavengingRequest {
259 enum winsif_ScavengingOpcode opcode;
265 struct winsif_WinsRecordAction {
267 struct winsif_RecordAction **record_action;/* [ref] */
271 struct winsif_RecordAction **record_action;/* [ref] */
278 struct winsif_WinsStatus {
280 enum winsif_StatusCmd cmd;
281 struct winsif_Results *results;/* [ref] */
285 struct winsif_Results *results;/* [ref] */
292 struct winsif_WinsTrigger {
294 struct winsif_Address *owner_address;/* [ref] */
295 enum winsif_TriggerType trigger_type;
305 struct winsif_WinsDoStaticInit {
307 const char *data_file_path;/* [unique,charset(UTF16)] */
308 uint32_t delete_file;
318 struct winsif_WinsDoScavenging {
326 struct winsif_WinsGetDbRecs {
328 struct winsif_Address *owner_address;/* [unique] */
329 uint64_t min_version_number;
330 uint64_t max_version_number;
334 struct winsif_Records *records;/* [ref] */
341 struct winsif_WinsTerm {
343 uint16_t abrupt_termination;
353 struct winsif_WinsBackup {
355 const char *backup_path;/* [ref,charset(DOS)] */
356 uint16_t incremental;
366 struct winsif_WinsDelDbRecs {
368 struct winsif_Address *owner_address;/* [ref] */
369 uint64_t min_version_number;
370 uint64_t max_version_number;
380 struct winsif_WinsPullRange {
382 struct winsif_Address *server_address;/* [ref] */
383 struct winsif_Address *owner_address;/* [ref] */
384 uint64_t min_version_number;
385 uint64_t max_version_number;
395 struct winsif_WinsSetPriorityClass {
397 enum winsif_PriorityClass prioritiy_class;
407 struct winsif_WinsResetCounters {
415 struct winsif_WinsWorkerThreadUpdate {
417 uint32_t num_of_threads;
427 struct winsif_WinsGetNameAndAdd {
429 struct winsif_Address *server_address;/* [ref] */
430 const char *unc_name;/* [ref,charset(DOS),size_is(80)] */
437 struct winsif_WinsGetBrowserNames_Old {
439 struct winsif_BrowserNames *names;/* [ref] */
446 struct winsif_WinsDeleteWins {
448 struct winsif_Address *owner_address;/* [ref] */
458 struct winsif_WinsSetFlags {
470 struct winsif_WinsGetBrowserNames {
472 struct winsif_BindData *server_handle;/* [ref] */
476 struct winsif_BrowserNames *names;/* [ref] */
483 struct winsif_WinsGetDbRecsByName {
485 struct winsif_Address *owner_address;/* [unique] */
486 uint32_t search_backward;
487 struct nbt_name * name;/* [unique] */
488 uint32_t name_len;/* [value(name?16:0),range(0,16)] */
489 uint32_t num_records_desired;
490 uint32_t only_statics;
494 struct winsif_Records *records;/* [ref] */
501 struct winsif_WinsStatusNew {
503 enum winsif_StatusCmd cmd;
507 struct winsif_ResultsNew *results;/* [ref] */
514 struct winsif_WinsStatusWHdl {
516 struct winsif_BindData *server_handle;/* [ref] */
517 enum winsif_StatusCmd cmd;
518 struct winsif_ResultsNew *results;/* [ref] */
522 struct winsif_ResultsNew *results;/* [ref] */
529 struct winsif_WinsDoScanvengingNew {
531 struct winsif_ScavengingRequest *request;/* [ref] */
540 #endif /* _HEADER_winsif */
541 #endif /* _PIDL_HEADER_winsif */