2 This file was automatically generated by Pidl
3 from atsvc.idl and atsvc.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at https://wiki.wireshark.org/Pidl
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
18 #include "packet-dcerpc.h"
19 #include "packet-dcerpc-nt.h"
20 #include "packet-windows-common.h"
21 #include "packet-dcerpc-atsvc.h"
22 void proto_register_dcerpc_atsvc(void);
23 void proto_reg_handoff_dcerpc_atsvc(void);
25 /* Ett declarations */
26 static int ett_dcerpc_atsvc
;
27 static int ett_atsvc_atsvc_DaysOfMonth
;
28 static int ett_atsvc_atsvc_Flags
;
29 static int ett_atsvc_atsvc_DaysOfWeek
;
30 static int ett_atsvc_atsvc_JobInfo
;
31 static int ett_atsvc_atsvc_JobEnumInfo
;
32 static int ett_atsvc_atsvc_enum_ctr
;
35 /* Header field declarations */
36 static int hf_atsvc_atsvc_DaysOfMonth_Eight
;
37 static int hf_atsvc_atsvc_DaysOfMonth_Eighteenth
;
38 static int hf_atsvc_atsvc_DaysOfMonth_Eleventh
;
39 static int hf_atsvc_atsvc_DaysOfMonth_Fifteenth
;
40 static int hf_atsvc_atsvc_DaysOfMonth_Fifth
;
41 static int hf_atsvc_atsvc_DaysOfMonth_First
;
42 static int hf_atsvc_atsvc_DaysOfMonth_Fourteenth
;
43 static int hf_atsvc_atsvc_DaysOfMonth_Fourth
;
44 static int hf_atsvc_atsvc_DaysOfMonth_Ninteenth
;
45 static int hf_atsvc_atsvc_DaysOfMonth_Ninth
;
46 static int hf_atsvc_atsvc_DaysOfMonth_Second
;
47 static int hf_atsvc_atsvc_DaysOfMonth_Seventeenth
;
48 static int hf_atsvc_atsvc_DaysOfMonth_Seventh
;
49 static int hf_atsvc_atsvc_DaysOfMonth_Sixteenth
;
50 static int hf_atsvc_atsvc_DaysOfMonth_Sixth
;
51 static int hf_atsvc_atsvc_DaysOfMonth_Tenth
;
52 static int hf_atsvc_atsvc_DaysOfMonth_Third
;
53 static int hf_atsvc_atsvc_DaysOfMonth_Thirtieth
;
54 static int hf_atsvc_atsvc_DaysOfMonth_Thirtyfirst
;
55 static int hf_atsvc_atsvc_DaysOfMonth_Thitteenth
;
56 static int hf_atsvc_atsvc_DaysOfMonth_Twelfth
;
57 static int hf_atsvc_atsvc_DaysOfMonth_Twentyeighth
;
58 static int hf_atsvc_atsvc_DaysOfMonth_Twentyfifth
;
59 static int hf_atsvc_atsvc_DaysOfMonth_Twentyfirst
;
60 static int hf_atsvc_atsvc_DaysOfMonth_Twentyfourth
;
61 static int hf_atsvc_atsvc_DaysOfMonth_Twentyninth
;
62 static int hf_atsvc_atsvc_DaysOfMonth_Twentysecond
;
63 static int hf_atsvc_atsvc_DaysOfMonth_Twentyseventh
;
64 static int hf_atsvc_atsvc_DaysOfMonth_Twentysixth
;
65 static int hf_atsvc_atsvc_DaysOfMonth_Twentyth
;
66 static int hf_atsvc_atsvc_DaysOfMonth_Twentythird
;
67 static int hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY
;
68 static int hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY
;
69 static int hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY
;
70 static int hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY
;
71 static int hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY
;
72 static int hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY
;
73 static int hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY
;
74 static int hf_atsvc_atsvc_Flags_JOB_ADD_CURRENT_DATE
;
75 static int hf_atsvc_atsvc_Flags_JOB_EXEC_ERROR
;
76 static int hf_atsvc_atsvc_Flags_JOB_NONINTERACTIVE
;
77 static int hf_atsvc_atsvc_Flags_JOB_RUNS_TODAY
;
78 static int hf_atsvc_atsvc_Flags_JOB_RUN_PERIODICALLY
;
79 static int hf_atsvc_atsvc_JobDel_max_job_id
;
80 static int hf_atsvc_atsvc_JobDel_min_job_id
;
81 static int hf_atsvc_atsvc_JobEnumInfo_command
;
82 static int hf_atsvc_atsvc_JobEnumInfo_days_of_month
;
83 static int hf_atsvc_atsvc_JobEnumInfo_days_of_week
;
84 static int hf_atsvc_atsvc_JobEnumInfo_flags
;
85 static int hf_atsvc_atsvc_JobEnumInfo_job_time
;
86 static int hf_atsvc_atsvc_JobEnum_ctr
;
87 static int hf_atsvc_atsvc_JobEnum_preferred_max_len
;
88 static int hf_atsvc_atsvc_JobEnum_resume_handle
;
89 static int hf_atsvc_atsvc_JobEnum_total_entries
;
90 static int hf_atsvc_atsvc_JobInfo_command
;
91 static int hf_atsvc_atsvc_JobInfo_days_of_month
;
92 static int hf_atsvc_atsvc_JobInfo_days_of_week
;
93 static int hf_atsvc_atsvc_JobInfo_flags
;
94 static int hf_atsvc_atsvc_JobInfo_job_time
;
95 static int hf_atsvc_atsvc_enum_ctr_entries_read
;
96 static int hf_atsvc_atsvc_enum_ctr_first_entry
;
97 static int hf_atsvc_job_id
;
98 static int hf_atsvc_job_info
;
99 static int hf_atsvc_opnum
;
100 static int hf_atsvc_servername
;
101 static int hf_atsvc_status
;
103 static int proto_dcerpc_atsvc
;
104 /* Version information */
107 static e_guid_t uuid_dcerpc_atsvc
= {
108 0x1ff70682, 0x0a51, 0x30e8,
109 { 0x07, 0x6d, 0x74, 0x0b, 0xe8, 0xce, 0xe9, 0x8b }
111 static uint16_t ver_dcerpc_atsvc
= 1;
113 static const true_false_string atsvc_DaysOfMonth_First_tfs
= {
117 static const true_false_string atsvc_DaysOfMonth_Second_tfs
= {
121 static const true_false_string atsvc_DaysOfMonth_Third_tfs
= {
125 static const true_false_string atsvc_DaysOfMonth_Fourth_tfs
= {
129 static const true_false_string atsvc_DaysOfMonth_Fifth_tfs
= {
133 static const true_false_string atsvc_DaysOfMonth_Sixth_tfs
= {
137 static const true_false_string atsvc_DaysOfMonth_Seventh_tfs
= {
139 "Seventh is NOT SET",
141 static const true_false_string atsvc_DaysOfMonth_Eight_tfs
= {
145 static const true_false_string atsvc_DaysOfMonth_Ninth_tfs
= {
149 static const true_false_string atsvc_DaysOfMonth_Tenth_tfs
= {
153 static const true_false_string atsvc_DaysOfMonth_Eleventh_tfs
= {
155 "Eleventh is NOT SET",
157 static const true_false_string atsvc_DaysOfMonth_Twelfth_tfs
= {
159 "Twelfth is NOT SET",
161 static const true_false_string atsvc_DaysOfMonth_Thitteenth_tfs
= {
163 "Thitteenth is NOT SET",
165 static const true_false_string atsvc_DaysOfMonth_Fourteenth_tfs
= {
167 "Fourteenth is NOT SET",
169 static const true_false_string atsvc_DaysOfMonth_Fifteenth_tfs
= {
171 "Fifteenth is NOT SET",
173 static const true_false_string atsvc_DaysOfMonth_Sixteenth_tfs
= {
175 "Sixteenth is NOT SET",
177 static const true_false_string atsvc_DaysOfMonth_Seventeenth_tfs
= {
178 "Seventeenth is SET",
179 "Seventeenth is NOT SET",
181 static const true_false_string atsvc_DaysOfMonth_Eighteenth_tfs
= {
183 "Eighteenth is NOT SET",
185 static const true_false_string atsvc_DaysOfMonth_Ninteenth_tfs
= {
187 "Ninteenth is NOT SET",
189 static const true_false_string atsvc_DaysOfMonth_Twentyth_tfs
= {
191 "Twentyth is NOT SET",
193 static const true_false_string atsvc_DaysOfMonth_Twentyfirst_tfs
= {
194 "Twentyfirst is SET",
195 "Twentyfirst is NOT SET",
197 static const true_false_string atsvc_DaysOfMonth_Twentysecond_tfs
= {
198 "Twentysecond is SET",
199 "Twentysecond is NOT SET",
201 static const true_false_string atsvc_DaysOfMonth_Twentythird_tfs
= {
202 "Twentythird is SET",
203 "Twentythird is NOT SET",
205 static const true_false_string atsvc_DaysOfMonth_Twentyfourth_tfs
= {
206 "Twentyfourth is SET",
207 "Twentyfourth is NOT SET",
209 static const true_false_string atsvc_DaysOfMonth_Twentyfifth_tfs
= {
210 "Twentyfifth is SET",
211 "Twentyfifth is NOT SET",
213 static const true_false_string atsvc_DaysOfMonth_Twentysixth_tfs
= {
214 "Twentysixth is SET",
215 "Twentysixth is NOT SET",
217 static const true_false_string atsvc_DaysOfMonth_Twentyseventh_tfs
= {
218 "Twentyseventh is SET",
219 "Twentyseventh is NOT SET",
221 static const true_false_string atsvc_DaysOfMonth_Twentyeighth_tfs
= {
222 "Twentyeighth is SET",
223 "Twentyeighth is NOT SET",
225 static const true_false_string atsvc_DaysOfMonth_Twentyninth_tfs
= {
226 "Twentyninth is SET",
227 "Twentyninth is NOT SET",
229 static const true_false_string atsvc_DaysOfMonth_Thirtieth_tfs
= {
231 "Thirtieth is NOT SET",
233 static const true_false_string atsvc_DaysOfMonth_Thirtyfirst_tfs
= {
234 "Thirtyfirst is SET",
235 "Thirtyfirst is NOT SET",
237 static const true_false_string atsvc_Flags_JOB_RUN_PERIODICALLY_tfs
= {
238 "JOB_RUN_PERIODICALLY is SET",
239 "JOB_RUN_PERIODICALLY is NOT SET",
241 static const true_false_string atsvc_Flags_JOB_EXEC_ERROR_tfs
= {
242 "JOB_EXEC_ERROR is SET",
243 "JOB_EXEC_ERROR is NOT SET",
245 static const true_false_string atsvc_Flags_JOB_RUNS_TODAY_tfs
= {
246 "JOB_RUNS_TODAY is SET",
247 "JOB_RUNS_TODAY is NOT SET",
249 static const true_false_string atsvc_Flags_JOB_ADD_CURRENT_DATE_tfs
= {
250 "JOB_ADD_CURRENT_DATE is SET",
251 "JOB_ADD_CURRENT_DATE is NOT SET",
253 static const true_false_string atsvc_Flags_JOB_NONINTERACTIVE_tfs
= {
254 "JOB_NONINTERACTIVE is SET",
255 "JOB_NONINTERACTIVE is NOT SET",
257 static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY_tfs
= {
258 "DAYSOFWEEK_MONDAY is SET",
259 "DAYSOFWEEK_MONDAY is NOT SET",
261 static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY_tfs
= {
262 "DAYSOFWEEK_TUESDAY is SET",
263 "DAYSOFWEEK_TUESDAY is NOT SET",
265 static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY_tfs
= {
266 "DAYSOFWEEK_WEDNESDAY is SET",
267 "DAYSOFWEEK_WEDNESDAY is NOT SET",
269 static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY_tfs
= {
270 "DAYSOFWEEK_THURSDAY is SET",
271 "DAYSOFWEEK_THURSDAY is NOT SET",
273 static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY_tfs
= {
274 "DAYSOFWEEK_FRIDAY is SET",
275 "DAYSOFWEEK_FRIDAY is NOT SET",
277 static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY_tfs
= {
278 "DAYSOFWEEK_SATURDAY is SET",
279 "DAYSOFWEEK_SATURDAY is NOT SET",
281 static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY_tfs
= {
282 "DAYSOFWEEK_SUNDAY is SET",
283 "DAYSOFWEEK_SUNDAY is NOT SET",
285 static int atsvc_dissect_element_JobInfo_job_time(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
286 static int atsvc_dissect_element_JobInfo_days_of_month(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
287 static int atsvc_dissect_element_JobInfo_days_of_week(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
288 static int atsvc_dissect_element_JobInfo_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
289 static int atsvc_dissect_element_JobInfo_command(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
290 static int atsvc_dissect_element_JobInfo_command_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
291 static int atsvc_dissect_element_JobEnumInfo_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
292 static int atsvc_dissect_element_JobEnumInfo_job_time(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
293 static int atsvc_dissect_element_JobEnumInfo_days_of_month(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
294 static int atsvc_dissect_element_JobEnumInfo_days_of_week(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
295 static int atsvc_dissect_element_JobEnumInfo_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
296 static int atsvc_dissect_element_JobEnumInfo_command(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
297 static int atsvc_dissect_element_JobEnumInfo_command_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
298 static int atsvc_dissect_element_enum_ctr_entries_read(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
299 static int atsvc_dissect_element_enum_ctr_first_entry(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
300 static int atsvc_dissect_element_enum_ctr_first_entry_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
301 static int atsvc_dissect_element_enum_ctr_first_entry__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
302 static int atsvc_dissect_element_JobAdd_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
303 static int atsvc_dissect_element_JobAdd_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
304 static int atsvc_dissect_element_JobAdd_job_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
305 static int atsvc_dissect_element_JobAdd_job_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
306 static int atsvc_dissect_element_JobAdd_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
307 static int atsvc_dissect_element_JobAdd_job_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
308 static int atsvc_dissect_element_JobDel_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
309 static int atsvc_dissect_element_JobDel_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
310 static int atsvc_dissect_element_JobDel_min_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
311 static int atsvc_dissect_element_JobDel_max_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
312 static int atsvc_dissect_element_JobEnum_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
313 static int atsvc_dissect_element_JobEnum_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
314 static int atsvc_dissect_element_JobEnum_ctr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
315 static int atsvc_dissect_element_JobEnum_ctr_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
316 static int atsvc_dissect_element_JobEnum_preferred_max_len(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
317 static int atsvc_dissect_element_JobEnum_total_entries(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
318 static int atsvc_dissect_element_JobEnum_total_entries_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
319 static int atsvc_dissect_element_JobEnum_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
320 static int atsvc_dissect_element_JobEnum_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
321 static int atsvc_dissect_element_JobGetInfo_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
322 static int atsvc_dissect_element_JobGetInfo_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
323 static int atsvc_dissect_element_JobGetInfo_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
324 static int atsvc_dissect_element_JobGetInfo_job_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
325 static int atsvc_dissect_element_JobGetInfo_job_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
326 static int atsvc_dissect_element_JobGetInfo_job_info__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
330 /* IDL: First = 0x00000001 , */
331 /* IDL: Second = 0x00000002 , */
332 /* IDL: Third = 0x00000004 , */
333 /* IDL: Fourth = 0x00000008 , */
334 /* IDL: Fifth = 0x00000010 , */
335 /* IDL: Sixth = 0x00000020 , */
336 /* IDL: Seventh = 0x00000040 , */
337 /* IDL: Eight = 0x00000080 , */
338 /* IDL: Ninth = 0x00000100 , */
339 /* IDL: Tenth = 0x00000200 , */
340 /* IDL: Eleventh = 0x00000400 , */
341 /* IDL: Twelfth = 0x00000800 , */
342 /* IDL: Thitteenth = 0x00001000 , */
343 /* IDL: Fourteenth = 0x00002000 , */
344 /* IDL: Fifteenth = 0x00004000 , */
345 /* IDL: Sixteenth = 0x00008000 , */
346 /* IDL: Seventeenth = 0x00010000 , */
347 /* IDL: Eighteenth = 0x00020000 , */
348 /* IDL: Ninteenth = 0x00040000 , */
349 /* IDL: Twentyth = 0x00080000 , */
350 /* IDL: Twentyfirst = 0x00100000 , */
351 /* IDL: Twentysecond = 0x00200000 , */
352 /* IDL: Twentythird = 0x00400000 , */
353 /* IDL: Twentyfourth = 0x00800000 , */
354 /* IDL: Twentyfifth = 0x01000000 , */
355 /* IDL: Twentysixth = 0x02000000 , */
356 /* IDL: Twentyseventh = 0x04000000 , */
357 /* IDL: Twentyeighth = 0x08000000 , */
358 /* IDL: Twentyninth = 0x10000000 , */
359 /* IDL: Thirtieth = 0x20000000 , */
360 /* IDL: Thirtyfirst = 0x40000000 , */
364 atsvc_dissect_bitmap_DaysOfMonth(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
367 static int * const atsvc_atsvc_DaysOfMonth_fields
[] = {
368 &hf_atsvc_atsvc_DaysOfMonth_First
,
369 &hf_atsvc_atsvc_DaysOfMonth_Second
,
370 &hf_atsvc_atsvc_DaysOfMonth_Third
,
371 &hf_atsvc_atsvc_DaysOfMonth_Fourth
,
372 &hf_atsvc_atsvc_DaysOfMonth_Fifth
,
373 &hf_atsvc_atsvc_DaysOfMonth_Sixth
,
374 &hf_atsvc_atsvc_DaysOfMonth_Seventh
,
375 &hf_atsvc_atsvc_DaysOfMonth_Eight
,
376 &hf_atsvc_atsvc_DaysOfMonth_Ninth
,
377 &hf_atsvc_atsvc_DaysOfMonth_Tenth
,
378 &hf_atsvc_atsvc_DaysOfMonth_Eleventh
,
379 &hf_atsvc_atsvc_DaysOfMonth_Twelfth
,
380 &hf_atsvc_atsvc_DaysOfMonth_Thitteenth
,
381 &hf_atsvc_atsvc_DaysOfMonth_Fourteenth
,
382 &hf_atsvc_atsvc_DaysOfMonth_Fifteenth
,
383 &hf_atsvc_atsvc_DaysOfMonth_Sixteenth
,
384 &hf_atsvc_atsvc_DaysOfMonth_Seventeenth
,
385 &hf_atsvc_atsvc_DaysOfMonth_Eighteenth
,
386 &hf_atsvc_atsvc_DaysOfMonth_Ninteenth
,
387 &hf_atsvc_atsvc_DaysOfMonth_Twentyth
,
388 &hf_atsvc_atsvc_DaysOfMonth_Twentyfirst
,
389 &hf_atsvc_atsvc_DaysOfMonth_Twentysecond
,
390 &hf_atsvc_atsvc_DaysOfMonth_Twentythird
,
391 &hf_atsvc_atsvc_DaysOfMonth_Twentyfourth
,
392 &hf_atsvc_atsvc_DaysOfMonth_Twentyfifth
,
393 &hf_atsvc_atsvc_DaysOfMonth_Twentysixth
,
394 &hf_atsvc_atsvc_DaysOfMonth_Twentyseventh
,
395 &hf_atsvc_atsvc_DaysOfMonth_Twentyeighth
,
396 &hf_atsvc_atsvc_DaysOfMonth_Twentyninth
,
397 &hf_atsvc_atsvc_DaysOfMonth_Thirtieth
,
398 &hf_atsvc_atsvc_DaysOfMonth_Thirtyfirst
,
404 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
405 ett_atsvc_atsvc_DaysOfMonth
, atsvc_atsvc_DaysOfMonth_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
407 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
410 proto_item_append_text(item
, ": (No values set)");
412 if (flags
& (~0x7fffffff)) {
413 flags
&= (~0x7fffffff);
414 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
422 /* IDL: JOB_RUN_PERIODICALLY = 0x01 , */
423 /* IDL: JOB_EXEC_ERROR = 0x02 , */
424 /* IDL: JOB_RUNS_TODAY = 0x04 , */
425 /* IDL: JOB_ADD_CURRENT_DATE = 0x08 , */
426 /* IDL: JOB_NONINTERACTIVE = 0x10 , */
430 atsvc_dissect_bitmap_Flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
433 static int * const atsvc_atsvc_Flags_fields
[] = {
434 &hf_atsvc_atsvc_Flags_JOB_RUN_PERIODICALLY
,
435 &hf_atsvc_atsvc_Flags_JOB_EXEC_ERROR
,
436 &hf_atsvc_atsvc_Flags_JOB_RUNS_TODAY
,
437 &hf_atsvc_atsvc_Flags_JOB_ADD_CURRENT_DATE
,
438 &hf_atsvc_atsvc_Flags_JOB_NONINTERACTIVE
,
443 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
444 ett_atsvc_atsvc_Flags
, atsvc_atsvc_Flags_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
446 offset
= dissect_ndr_uint8(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
449 proto_item_append_text(item
, ": (No values set)");
451 if (flags
& (~0x0000001f)) {
452 flags
&= (~0x0000001f);
453 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
461 /* IDL: DAYSOFWEEK_MONDAY = 0x01 , */
462 /* IDL: DAYSOFWEEK_TUESDAY = 0x02 , */
463 /* IDL: DAYSOFWEEK_WEDNESDAY = 0x04 , */
464 /* IDL: DAYSOFWEEK_THURSDAY = 0x08 , */
465 /* IDL: DAYSOFWEEK_FRIDAY = 0x10 , */
466 /* IDL: DAYSOFWEEK_SATURDAY = 0x20 , */
467 /* IDL: DAYSOFWEEK_SUNDAY = 0x40 , */
471 atsvc_dissect_bitmap_DaysOfWeek(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
474 static int * const atsvc_atsvc_DaysOfWeek_fields
[] = {
475 &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY
,
476 &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY
,
477 &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY
,
478 &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY
,
479 &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY
,
480 &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY
,
481 &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY
,
486 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
487 ett_atsvc_atsvc_DaysOfWeek
, atsvc_atsvc_DaysOfWeek_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
489 offset
= dissect_ndr_uint8(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
492 proto_item_append_text(item
, ": (No values set)");
494 if (flags
& (~0x0000007f)) {
495 flags
&= (~0x0000007f);
496 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
504 /* IDL: uint32 job_time; */
505 /* IDL: atsvc_DaysOfMonth days_of_month; */
506 /* IDL: atsvc_DaysOfWeek days_of_week; */
507 /* IDL: atsvc_Flags flags; */
508 /* IDL: [charset(UTF16)] [unique(1)] uint16 *command; */
512 atsvc_dissect_element_JobInfo_job_time(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
514 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobInfo_job_time
, 0);
520 atsvc_dissect_element_JobInfo_days_of_month(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
522 offset
= atsvc_dissect_bitmap_DaysOfMonth(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobInfo_days_of_month
, 0);
528 atsvc_dissect_element_JobInfo_days_of_week(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
530 offset
= atsvc_dissect_bitmap_DaysOfWeek(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobInfo_days_of_week
, 0);
536 atsvc_dissect_element_JobInfo_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
538 offset
= atsvc_dissect_bitmap_Flags(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobInfo_flags
, 0);
544 atsvc_dissect_element_JobInfo_command(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
546 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobInfo_command_
, NDR_POINTER_UNIQUE
, "Pointer to Command (uint16)",hf_atsvc_atsvc_JobInfo_command
);
552 atsvc_dissect_element_JobInfo_command_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
555 struct ndr_generic_array nga
= { .is_conformant
= false, };
557 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
559 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
560 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_atsvc_atsvc_JobInfo_command
, false, &nga
, &data
);
561 proto_item_append_text(tree
, ": %s", data
);
567 atsvc_dissect_struct_JobInfo(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
569 proto_item
*item
= NULL
;
570 proto_tree
*tree
= NULL
;
578 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
579 tree
= proto_item_add_subtree(item
, ett_atsvc_atsvc_JobInfo
);
582 offset
= atsvc_dissect_element_JobInfo_job_time(tvb
, offset
, pinfo
, tree
, di
, drep
);
584 offset
= atsvc_dissect_element_JobInfo_days_of_month(tvb
, offset
, pinfo
, tree
, di
, drep
);
586 offset
= atsvc_dissect_element_JobInfo_days_of_week(tvb
, offset
, pinfo
, tree
, di
, drep
);
588 offset
= atsvc_dissect_element_JobInfo_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
590 offset
= atsvc_dissect_element_JobInfo_command(tvb
, offset
, pinfo
, tree
, di
, drep
);
593 proto_item_set_len(item
, offset
-old_offset
);
596 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
605 /* IDL: uint32 job_id; */
606 /* IDL: uint32 job_time; */
607 /* IDL: atsvc_DaysOfMonth days_of_month; */
608 /* IDL: atsvc_DaysOfWeek days_of_week; */
609 /* IDL: atsvc_Flags flags; */
610 /* IDL: [charset(UTF16)] [unique(1)] uint16 *command; */
614 atsvc_dissect_element_JobEnumInfo_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
616 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_job_id
, 0);
622 atsvc_dissect_element_JobEnumInfo_job_time(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
624 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobEnumInfo_job_time
, 0);
630 atsvc_dissect_element_JobEnumInfo_days_of_month(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
632 offset
= atsvc_dissect_bitmap_DaysOfMonth(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobEnumInfo_days_of_month
, 0);
638 atsvc_dissect_element_JobEnumInfo_days_of_week(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
640 offset
= atsvc_dissect_bitmap_DaysOfWeek(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobEnumInfo_days_of_week
, 0);
646 atsvc_dissect_element_JobEnumInfo_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
648 offset
= atsvc_dissect_bitmap_Flags(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobEnumInfo_flags
, 0);
654 atsvc_dissect_element_JobEnumInfo_command(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
656 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobEnumInfo_command_
, NDR_POINTER_UNIQUE
, "Pointer to Command (uint16)",hf_atsvc_atsvc_JobEnumInfo_command
);
662 atsvc_dissect_element_JobEnumInfo_command_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
665 struct ndr_generic_array nga
= { .is_conformant
= false, };
667 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
669 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
670 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_atsvc_atsvc_JobEnumInfo_command
, false, &nga
, &data
);
671 proto_item_append_text(tree
, ": %s", data
);
677 atsvc_dissect_struct_JobEnumInfo(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
679 proto_item
*item
= NULL
;
680 proto_tree
*tree
= NULL
;
688 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
689 tree
= proto_item_add_subtree(item
, ett_atsvc_atsvc_JobEnumInfo
);
692 offset
= atsvc_dissect_element_JobEnumInfo_job_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
694 offset
= atsvc_dissect_element_JobEnumInfo_job_time(tvb
, offset
, pinfo
, tree
, di
, drep
);
696 offset
= atsvc_dissect_element_JobEnumInfo_days_of_month(tvb
, offset
, pinfo
, tree
, di
, drep
);
698 offset
= atsvc_dissect_element_JobEnumInfo_days_of_week(tvb
, offset
, pinfo
, tree
, di
, drep
);
700 offset
= atsvc_dissect_element_JobEnumInfo_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
702 offset
= atsvc_dissect_element_JobEnumInfo_command(tvb
, offset
, pinfo
, tree
, di
, drep
);
705 proto_item_set_len(item
, offset
-old_offset
);
708 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
717 /* IDL: uint32 entries_read; */
718 /* IDL: [size_is(entries_read)] [unique(1)] atsvc_JobEnumInfo *first_entry; */
722 atsvc_dissect_element_enum_ctr_entries_read(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
724 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_enum_ctr_entries_read
, 0);
730 atsvc_dissect_element_enum_ctr_first_entry(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
732 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_enum_ctr_first_entry_
, NDR_POINTER_UNIQUE
, "Pointer to First Entry (atsvc_JobEnumInfo)",hf_atsvc_atsvc_enum_ctr_first_entry
);
738 atsvc_dissect_element_enum_ctr_first_entry_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
740 struct ndr_generic_array nga
= { .is_conformant
= false, };
742 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
744 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, atsvc_dissect_element_enum_ctr_first_entry__
);
750 atsvc_dissect_element_enum_ctr_first_entry__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
752 offset
= atsvc_dissect_struct_JobEnumInfo(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_atsvc_atsvc_enum_ctr_first_entry
,0);
758 atsvc_dissect_struct_enum_ctr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
760 proto_item
*item
= NULL
;
761 proto_tree
*tree
= NULL
;
769 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
770 tree
= proto_item_add_subtree(item
, ett_atsvc_atsvc_enum_ctr
);
773 offset
= atsvc_dissect_element_enum_ctr_entries_read(tvb
, offset
, pinfo
, tree
, di
, drep
);
775 offset
= atsvc_dissect_element_enum_ctr_first_entry(tvb
, offset
, pinfo
, tree
, di
, drep
);
778 proto_item_set_len(item
, offset
-old_offset
);
781 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
789 atsvc_dissect_element_JobAdd_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
791 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobAdd_servername_
, NDR_POINTER_UNIQUE
, "Pointer to Servername (uint16)",hf_atsvc_servername
);
797 atsvc_dissect_element_JobAdd_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
800 struct ndr_generic_array nga
= { .is_conformant
= false, };
802 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
804 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
805 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_atsvc_servername
, false, &nga
, &data
);
806 proto_item_append_text(tree
, ": %s", data
);
812 atsvc_dissect_element_JobAdd_job_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
814 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobAdd_job_info_
, NDR_POINTER_REF
, "Pointer to Job Info (atsvc_JobInfo)",hf_atsvc_job_info
);
820 atsvc_dissect_element_JobAdd_job_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
822 offset
= atsvc_dissect_struct_JobInfo(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_atsvc_job_info
,0);
828 atsvc_dissect_element_JobAdd_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
830 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobAdd_job_id_
, NDR_POINTER_REF
, "Pointer to Job Id (uint32)",hf_atsvc_job_id
);
836 atsvc_dissect_element_JobAdd_job_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
838 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_job_id
, 0);
843 /* IDL: NTSTATUS atsvc_JobAdd( */
844 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
845 /* IDL: [in] [ref] atsvc_JobInfo *job_info, */
846 /* IDL: [out] [ref] uint32 *job_id */
850 atsvc_dissect_JobAdd_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
854 di
->dcerpc_procedure_name
="JobAdd";
855 offset
= atsvc_dissect_element_JobAdd_job_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
856 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
858 offset
= dissect_ntstatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_status
, &status
);
861 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &NT_errors_ext
, "Unknown NT status 0x%08x"));
867 atsvc_dissect_JobAdd_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
869 di
->dcerpc_procedure_name
="JobAdd";
870 offset
= atsvc_dissect_element_JobAdd_servername(tvb
, offset
, pinfo
, tree
, di
, drep
);
871 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
872 offset
= atsvc_dissect_element_JobAdd_job_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
873 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
878 atsvc_dissect_element_JobDel_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
880 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobDel_servername_
, NDR_POINTER_UNIQUE
, "Pointer to Servername (uint16)",hf_atsvc_servername
);
886 atsvc_dissect_element_JobDel_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
889 struct ndr_generic_array nga
= { .is_conformant
= false, };
891 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
893 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
894 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_atsvc_servername
, false, &nga
, &data
);
895 proto_item_append_text(tree
, ": %s", data
);
901 atsvc_dissect_element_JobDel_min_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
903 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobDel_min_job_id
, 0);
909 atsvc_dissect_element_JobDel_max_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
911 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobDel_max_job_id
, 0);
916 /* IDL: NTSTATUS atsvc_JobDel( */
917 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
918 /* IDL: [in] uint32 min_job_id, */
919 /* IDL: [in] uint32 max_job_id */
923 atsvc_dissect_JobDel_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
927 di
->dcerpc_procedure_name
="JobDel";
928 offset
= dissect_ntstatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_status
, &status
);
931 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &NT_errors_ext
, "Unknown NT status 0x%08x"));
937 atsvc_dissect_JobDel_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
939 di
->dcerpc_procedure_name
="JobDel";
940 offset
= atsvc_dissect_element_JobDel_servername(tvb
, offset
, pinfo
, tree
, di
, drep
);
941 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
942 offset
= atsvc_dissect_element_JobDel_min_job_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
943 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
944 offset
= atsvc_dissect_element_JobDel_max_job_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
945 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
950 atsvc_dissect_element_JobEnum_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
952 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobEnum_servername_
, NDR_POINTER_UNIQUE
, "Pointer to Servername (uint16)",hf_atsvc_servername
);
958 atsvc_dissect_element_JobEnum_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
961 struct ndr_generic_array nga
= { .is_conformant
= false, };
963 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
965 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
966 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_atsvc_servername
, false, &nga
, &data
);
967 proto_item_append_text(tree
, ": %s", data
);
973 atsvc_dissect_element_JobEnum_ctr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
975 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobEnum_ctr_
, NDR_POINTER_REF
, "Pointer to Ctr (atsvc_enum_ctr)",hf_atsvc_atsvc_JobEnum_ctr
);
981 atsvc_dissect_element_JobEnum_ctr_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
983 offset
= atsvc_dissect_struct_enum_ctr(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_atsvc_atsvc_JobEnum_ctr
,0);
989 atsvc_dissect_element_JobEnum_preferred_max_len(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
991 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobEnum_preferred_max_len
, 0);
997 atsvc_dissect_element_JobEnum_total_entries(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
999 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobEnum_total_entries_
, NDR_POINTER_REF
, "Pointer to Total Entries (uint32)",hf_atsvc_atsvc_JobEnum_total_entries
);
1005 atsvc_dissect_element_JobEnum_total_entries_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1007 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobEnum_total_entries
, 0);
1013 atsvc_dissect_element_JobEnum_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1015 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobEnum_resume_handle_
, NDR_POINTER_UNIQUE
, "Pointer to Resume Handle (uint32)",hf_atsvc_atsvc_JobEnum_resume_handle
);
1021 atsvc_dissect_element_JobEnum_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1023 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_atsvc_JobEnum_resume_handle
, 0);
1028 /* IDL: NTSTATUS atsvc_JobEnum( */
1029 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
1030 /* IDL: [in] [out] [ref] atsvc_enum_ctr *ctr, */
1031 /* IDL: [in] uint32 preferred_max_len, */
1032 /* IDL: [out] [ref] uint32 *total_entries, */
1033 /* IDL: [in] [out] [unique(1)] uint32 *resume_handle */
1037 atsvc_dissect_JobEnum_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1041 di
->dcerpc_procedure_name
="JobEnum";
1042 offset
= atsvc_dissect_element_JobEnum_ctr(tvb
, offset
, pinfo
, tree
, di
, drep
);
1043 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1045 offset
= atsvc_dissect_element_JobEnum_total_entries(tvb
, offset
, pinfo
, tree
, di
, drep
);
1046 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1048 offset
= atsvc_dissect_element_JobEnum_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1049 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1051 offset
= dissect_ntstatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_status
, &status
);
1054 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &NT_errors_ext
, "Unknown NT status 0x%08x"));
1060 atsvc_dissect_JobEnum_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1062 di
->dcerpc_procedure_name
="JobEnum";
1063 offset
= atsvc_dissect_element_JobEnum_servername(tvb
, offset
, pinfo
, tree
, di
, drep
);
1064 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1065 offset
= atsvc_dissect_element_JobEnum_ctr(tvb
, offset
, pinfo
, tree
, di
, drep
);
1066 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1067 offset
= atsvc_dissect_element_JobEnum_preferred_max_len(tvb
, offset
, pinfo
, tree
, di
, drep
);
1068 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1069 offset
= atsvc_dissect_element_JobEnum_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1070 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1075 atsvc_dissect_element_JobGetInfo_servername(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1077 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobGetInfo_servername_
, NDR_POINTER_UNIQUE
, "Pointer to Servername (uint16)",hf_atsvc_servername
);
1083 atsvc_dissect_element_JobGetInfo_servername_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1086 struct ndr_generic_array nga
= { .is_conformant
= false, };
1088 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1090 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1091 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_atsvc_servername
, false, &nga
, &data
);
1092 proto_item_append_text(tree
, ": %s", data
);
1098 atsvc_dissect_element_JobGetInfo_job_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1100 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_job_id
, 0);
1106 atsvc_dissect_element_JobGetInfo_job_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1108 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobGetInfo_job_info_
, NDR_POINTER_REF
, "Pointer to Job Info (atsvc_JobInfo)",hf_atsvc_job_info
);
1114 atsvc_dissect_element_JobGetInfo_job_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1116 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, atsvc_dissect_element_JobGetInfo_job_info__
, NDR_POINTER_UNIQUE
, "Pointer to Job Info (atsvc_JobInfo)",hf_atsvc_job_info
);
1122 atsvc_dissect_element_JobGetInfo_job_info__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1124 offset
= atsvc_dissect_struct_JobInfo(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_atsvc_job_info
,0);
1129 /* IDL: NTSTATUS atsvc_JobGetInfo( */
1130 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
1131 /* IDL: [in] uint32 job_id, */
1132 /* IDL: [out] [ref] atsvc_JobInfo **job_info */
1136 atsvc_dissect_JobGetInfo_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1140 di
->dcerpc_procedure_name
="JobGetInfo";
1141 offset
= atsvc_dissect_element_JobGetInfo_job_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
1142 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1144 offset
= dissect_ntstatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_atsvc_status
, &status
);
1147 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &NT_errors_ext
, "Unknown NT status 0x%08x"));
1153 atsvc_dissect_JobGetInfo_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1155 di
->dcerpc_procedure_name
="JobGetInfo";
1156 offset
= atsvc_dissect_element_JobGetInfo_servername(tvb
, offset
, pinfo
, tree
, di
, drep
);
1157 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1158 offset
= atsvc_dissect_element_JobGetInfo_job_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
1159 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1164 static const dcerpc_sub_dissector atsvc_dissectors
[] = {
1166 atsvc_dissect_JobAdd_request
, atsvc_dissect_JobAdd_response
},
1168 atsvc_dissect_JobDel_request
, atsvc_dissect_JobDel_response
},
1170 atsvc_dissect_JobEnum_request
, atsvc_dissect_JobEnum_response
},
1172 atsvc_dissect_JobGetInfo_request
, atsvc_dissect_JobGetInfo_response
},
1173 { 0, NULL
, NULL
, NULL
}
1176 void proto_register_dcerpc_atsvc(void)
1178 static hf_register_info hf
[] = {
1179 { &hf_atsvc_atsvc_DaysOfMonth_Eight
,
1180 { "Eight", "atsvc.atsvc_DaysOfMonth.Eight", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Eight_tfs
), ( 0x00000080 ), NULL
, HFILL
}},
1181 { &hf_atsvc_atsvc_DaysOfMonth_Eighteenth
,
1182 { "Eighteenth", "atsvc.atsvc_DaysOfMonth.Eighteenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Eighteenth_tfs
), ( 0x00020000 ), NULL
, HFILL
}},
1183 { &hf_atsvc_atsvc_DaysOfMonth_Eleventh
,
1184 { "Eleventh", "atsvc.atsvc_DaysOfMonth.Eleventh", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Eleventh_tfs
), ( 0x00000400 ), NULL
, HFILL
}},
1185 { &hf_atsvc_atsvc_DaysOfMonth_Fifteenth
,
1186 { "Fifteenth", "atsvc.atsvc_DaysOfMonth.Fifteenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Fifteenth_tfs
), ( 0x00004000 ), NULL
, HFILL
}},
1187 { &hf_atsvc_atsvc_DaysOfMonth_Fifth
,
1188 { "Fifth", "atsvc.atsvc_DaysOfMonth.Fifth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Fifth_tfs
), ( 0x00000010 ), NULL
, HFILL
}},
1189 { &hf_atsvc_atsvc_DaysOfMonth_First
,
1190 { "First", "atsvc.atsvc_DaysOfMonth.First", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_First_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
1191 { &hf_atsvc_atsvc_DaysOfMonth_Fourteenth
,
1192 { "Fourteenth", "atsvc.atsvc_DaysOfMonth.Fourteenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Fourteenth_tfs
), ( 0x00002000 ), NULL
, HFILL
}},
1193 { &hf_atsvc_atsvc_DaysOfMonth_Fourth
,
1194 { "Fourth", "atsvc.atsvc_DaysOfMonth.Fourth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Fourth_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
1195 { &hf_atsvc_atsvc_DaysOfMonth_Ninteenth
,
1196 { "Ninteenth", "atsvc.atsvc_DaysOfMonth.Ninteenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Ninteenth_tfs
), ( 0x00040000 ), NULL
, HFILL
}},
1197 { &hf_atsvc_atsvc_DaysOfMonth_Ninth
,
1198 { "Ninth", "atsvc.atsvc_DaysOfMonth.Ninth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Ninth_tfs
), ( 0x00000100 ), NULL
, HFILL
}},
1199 { &hf_atsvc_atsvc_DaysOfMonth_Second
,
1200 { "Second", "atsvc.atsvc_DaysOfMonth.Second", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Second_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
1201 { &hf_atsvc_atsvc_DaysOfMonth_Seventeenth
,
1202 { "Seventeenth", "atsvc.atsvc_DaysOfMonth.Seventeenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Seventeenth_tfs
), ( 0x00010000 ), NULL
, HFILL
}},
1203 { &hf_atsvc_atsvc_DaysOfMonth_Seventh
,
1204 { "Seventh", "atsvc.atsvc_DaysOfMonth.Seventh", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Seventh_tfs
), ( 0x00000040 ), NULL
, HFILL
}},
1205 { &hf_atsvc_atsvc_DaysOfMonth_Sixteenth
,
1206 { "Sixteenth", "atsvc.atsvc_DaysOfMonth.Sixteenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Sixteenth_tfs
), ( 0x00008000 ), NULL
, HFILL
}},
1207 { &hf_atsvc_atsvc_DaysOfMonth_Sixth
,
1208 { "Sixth", "atsvc.atsvc_DaysOfMonth.Sixth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Sixth_tfs
), ( 0x00000020 ), NULL
, HFILL
}},
1209 { &hf_atsvc_atsvc_DaysOfMonth_Tenth
,
1210 { "Tenth", "atsvc.atsvc_DaysOfMonth.Tenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Tenth_tfs
), ( 0x00000200 ), NULL
, HFILL
}},
1211 { &hf_atsvc_atsvc_DaysOfMonth_Third
,
1212 { "Third", "atsvc.atsvc_DaysOfMonth.Third", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Third_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
1213 { &hf_atsvc_atsvc_DaysOfMonth_Thirtieth
,
1214 { "Thirtieth", "atsvc.atsvc_DaysOfMonth.Thirtieth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Thirtieth_tfs
), ( 0x20000000 ), NULL
, HFILL
}},
1215 { &hf_atsvc_atsvc_DaysOfMonth_Thirtyfirst
,
1216 { "Thirtyfirst", "atsvc.atsvc_DaysOfMonth.Thirtyfirst", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Thirtyfirst_tfs
), ( 0x40000000 ), NULL
, HFILL
}},
1217 { &hf_atsvc_atsvc_DaysOfMonth_Thitteenth
,
1218 { "Thitteenth", "atsvc.atsvc_DaysOfMonth.Thitteenth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Thitteenth_tfs
), ( 0x00001000 ), NULL
, HFILL
}},
1219 { &hf_atsvc_atsvc_DaysOfMonth_Twelfth
,
1220 { "Twelfth", "atsvc.atsvc_DaysOfMonth.Twelfth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twelfth_tfs
), ( 0x00000800 ), NULL
, HFILL
}},
1221 { &hf_atsvc_atsvc_DaysOfMonth_Twentyeighth
,
1222 { "Twentyeighth", "atsvc.atsvc_DaysOfMonth.Twentyeighth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentyeighth_tfs
), ( 0x08000000 ), NULL
, HFILL
}},
1223 { &hf_atsvc_atsvc_DaysOfMonth_Twentyfifth
,
1224 { "Twentyfifth", "atsvc.atsvc_DaysOfMonth.Twentyfifth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentyfifth_tfs
), ( 0x01000000 ), NULL
, HFILL
}},
1225 { &hf_atsvc_atsvc_DaysOfMonth_Twentyfirst
,
1226 { "Twentyfirst", "atsvc.atsvc_DaysOfMonth.Twentyfirst", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentyfirst_tfs
), ( 0x00100000 ), NULL
, HFILL
}},
1227 { &hf_atsvc_atsvc_DaysOfMonth_Twentyfourth
,
1228 { "Twentyfourth", "atsvc.atsvc_DaysOfMonth.Twentyfourth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentyfourth_tfs
), ( 0x00800000 ), NULL
, HFILL
}},
1229 { &hf_atsvc_atsvc_DaysOfMonth_Twentyninth
,
1230 { "Twentyninth", "atsvc.atsvc_DaysOfMonth.Twentyninth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentyninth_tfs
), ( 0x10000000 ), NULL
, HFILL
}},
1231 { &hf_atsvc_atsvc_DaysOfMonth_Twentysecond
,
1232 { "Twentysecond", "atsvc.atsvc_DaysOfMonth.Twentysecond", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentysecond_tfs
), ( 0x00200000 ), NULL
, HFILL
}},
1233 { &hf_atsvc_atsvc_DaysOfMonth_Twentyseventh
,
1234 { "Twentyseventh", "atsvc.atsvc_DaysOfMonth.Twentyseventh", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentyseventh_tfs
), ( 0x04000000 ), NULL
, HFILL
}},
1235 { &hf_atsvc_atsvc_DaysOfMonth_Twentysixth
,
1236 { "Twentysixth", "atsvc.atsvc_DaysOfMonth.Twentysixth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentysixth_tfs
), ( 0x02000000 ), NULL
, HFILL
}},
1237 { &hf_atsvc_atsvc_DaysOfMonth_Twentyth
,
1238 { "Twentyth", "atsvc.atsvc_DaysOfMonth.Twentyth", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentyth_tfs
), ( 0x00080000 ), NULL
, HFILL
}},
1239 { &hf_atsvc_atsvc_DaysOfMonth_Twentythird
,
1240 { "Twentythird", "atsvc.atsvc_DaysOfMonth.Twentythird", FT_BOOLEAN
, 32, TFS(&atsvc_DaysOfMonth_Twentythird_tfs
), ( 0x00400000 ), NULL
, HFILL
}},
1241 { &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY
,
1242 { "DAYSOFWEEK FRIDAY", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_FRIDAY", FT_BOOLEAN
, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY_tfs
), ( 0x10 ), NULL
, HFILL
}},
1243 { &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY
,
1244 { "DAYSOFWEEK MONDAY", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_MONDAY", FT_BOOLEAN
, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY_tfs
), ( 0x01 ), NULL
, HFILL
}},
1245 { &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY
,
1246 { "DAYSOFWEEK SATURDAY", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_SATURDAY", FT_BOOLEAN
, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY_tfs
), ( 0x20 ), NULL
, HFILL
}},
1247 { &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY
,
1248 { "DAYSOFWEEK SUNDAY", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_SUNDAY", FT_BOOLEAN
, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY_tfs
), ( 0x40 ), NULL
, HFILL
}},
1249 { &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY
,
1250 { "DAYSOFWEEK THURSDAY", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_THURSDAY", FT_BOOLEAN
, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY_tfs
), ( 0x08 ), NULL
, HFILL
}},
1251 { &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY
,
1252 { "DAYSOFWEEK TUESDAY", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_TUESDAY", FT_BOOLEAN
, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY_tfs
), ( 0x02 ), NULL
, HFILL
}},
1253 { &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY
,
1254 { "DAYSOFWEEK WEDNESDAY", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_WEDNESDAY", FT_BOOLEAN
, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY_tfs
), ( 0x04 ), NULL
, HFILL
}},
1255 { &hf_atsvc_atsvc_Flags_JOB_ADD_CURRENT_DATE
,
1256 { "JOB ADD CURRENT DATE", "atsvc.atsvc_Flags.JOB_ADD_CURRENT_DATE", FT_BOOLEAN
, 8, TFS(&atsvc_Flags_JOB_ADD_CURRENT_DATE_tfs
), ( 0x08 ), NULL
, HFILL
}},
1257 { &hf_atsvc_atsvc_Flags_JOB_EXEC_ERROR
,
1258 { "JOB EXEC ERROR", "atsvc.atsvc_Flags.JOB_EXEC_ERROR", FT_BOOLEAN
, 8, TFS(&atsvc_Flags_JOB_EXEC_ERROR_tfs
), ( 0x02 ), NULL
, HFILL
}},
1259 { &hf_atsvc_atsvc_Flags_JOB_NONINTERACTIVE
,
1260 { "JOB NONINTERACTIVE", "atsvc.atsvc_Flags.JOB_NONINTERACTIVE", FT_BOOLEAN
, 8, TFS(&atsvc_Flags_JOB_NONINTERACTIVE_tfs
), ( 0x10 ), NULL
, HFILL
}},
1261 { &hf_atsvc_atsvc_Flags_JOB_RUNS_TODAY
,
1262 { "JOB RUNS TODAY", "atsvc.atsvc_Flags.JOB_RUNS_TODAY", FT_BOOLEAN
, 8, TFS(&atsvc_Flags_JOB_RUNS_TODAY_tfs
), ( 0x04 ), NULL
, HFILL
}},
1263 { &hf_atsvc_atsvc_Flags_JOB_RUN_PERIODICALLY
,
1264 { "JOB RUN PERIODICALLY", "atsvc.atsvc_Flags.JOB_RUN_PERIODICALLY", FT_BOOLEAN
, 8, TFS(&atsvc_Flags_JOB_RUN_PERIODICALLY_tfs
), ( 0x01 ), NULL
, HFILL
}},
1265 { &hf_atsvc_atsvc_JobDel_max_job_id
,
1266 { "Max Job Id", "atsvc.atsvc_JobDel.max_job_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1267 { &hf_atsvc_atsvc_JobDel_min_job_id
,
1268 { "Min Job Id", "atsvc.atsvc_JobDel.min_job_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1269 { &hf_atsvc_atsvc_JobEnumInfo_command
,
1270 { "Command", "atsvc.atsvc_JobEnumInfo.command", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
1271 { &hf_atsvc_atsvc_JobEnumInfo_days_of_month
,
1272 { "Days Of Month", "atsvc.atsvc_JobEnumInfo.days_of_month", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
1273 { &hf_atsvc_atsvc_JobEnumInfo_days_of_week
,
1274 { "Days Of Week", "atsvc.atsvc_JobEnumInfo.days_of_week", FT_UINT8
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
1275 { &hf_atsvc_atsvc_JobEnumInfo_flags
,
1276 { "Flags", "atsvc.atsvc_JobEnumInfo.flags", FT_UINT8
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
1277 { &hf_atsvc_atsvc_JobEnumInfo_job_time
,
1278 { "Job Time", "atsvc.atsvc_JobEnumInfo.job_time", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1279 { &hf_atsvc_atsvc_JobEnum_ctr
,
1280 { "Ctr", "atsvc.atsvc_JobEnum.ctr", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
1281 { &hf_atsvc_atsvc_JobEnum_preferred_max_len
,
1282 { "Preferred Max Len", "atsvc.atsvc_JobEnum.preferred_max_len", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1283 { &hf_atsvc_atsvc_JobEnum_resume_handle
,
1284 { "Resume Handle", "atsvc.atsvc_JobEnum.resume_handle", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1285 { &hf_atsvc_atsvc_JobEnum_total_entries
,
1286 { "Total Entries", "atsvc.atsvc_JobEnum.total_entries", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1287 { &hf_atsvc_atsvc_JobInfo_command
,
1288 { "Command", "atsvc.atsvc_JobInfo.command", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
1289 { &hf_atsvc_atsvc_JobInfo_days_of_month
,
1290 { "Days Of Month", "atsvc.atsvc_JobInfo.days_of_month", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
1291 { &hf_atsvc_atsvc_JobInfo_days_of_week
,
1292 { "Days Of Week", "atsvc.atsvc_JobInfo.days_of_week", FT_UINT8
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
1293 { &hf_atsvc_atsvc_JobInfo_flags
,
1294 { "Flags", "atsvc.atsvc_JobInfo.flags", FT_UINT8
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
1295 { &hf_atsvc_atsvc_JobInfo_job_time
,
1296 { "Job Time", "atsvc.atsvc_JobInfo.job_time", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1297 { &hf_atsvc_atsvc_enum_ctr_entries_read
,
1298 { "Entries Read", "atsvc.atsvc_enum_ctr.entries_read", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1299 { &hf_atsvc_atsvc_enum_ctr_first_entry
,
1300 { "First Entry", "atsvc.atsvc_enum_ctr.first_entry", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
1302 { "Job Id", "atsvc.job_id", FT_UINT32
, BASE_DEC
, NULL
, 0, "Identifier of the scheduled job", HFILL
}},
1303 { &hf_atsvc_job_info
,
1304 { "JobInfo", "atcvs.job_info", FT_NONE
, BASE_NONE
, NULL
, 0, "JobInfo structure", HFILL
}},
1306 { "Operation", "atsvc.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
1307 { &hf_atsvc_servername
,
1308 { "Server", "atsvc.server", FT_STRING
, BASE_NONE
, NULL
, 0, "Name of the server", HFILL
}},
1310 { "NT Error", "atsvc.status", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &NT_errors_ext
, 0, NULL
, HFILL
}},
1314 static int *ett
[] = {
1316 &ett_atsvc_atsvc_DaysOfMonth
,
1317 &ett_atsvc_atsvc_Flags
,
1318 &ett_atsvc_atsvc_DaysOfWeek
,
1319 &ett_atsvc_atsvc_JobInfo
,
1320 &ett_atsvc_atsvc_JobEnumInfo
,
1321 &ett_atsvc_atsvc_enum_ctr
,
1324 proto_dcerpc_atsvc
= proto_register_protocol("Microsoft AT-Scheduler Service", "ATSVC", "atsvc");
1325 proto_register_field_array(proto_dcerpc_atsvc
, hf
, array_length (hf
));
1326 proto_register_subtree_array(ett
, array_length(ett
));
1329 void proto_reg_handoff_dcerpc_atsvc(void)
1331 dcerpc_init_uuid(proto_dcerpc_atsvc
, ett_dcerpc_atsvc
,
1332 &uuid_dcerpc_atsvc
, ver_dcerpc_atsvc
,
1333 atsvc_dissectors
, hf_atsvc_opnum
);