wireshark/epan/dissectors/packet-dcerpc-atsvc.c
Ronnie Sahlberg 74e19c696e regenerate the dissectors with an even newer patched version of pidl to add two more pragmas
you need this patch ontop of svn pidl to regenerate the files :

Index: lib/Parse/Pidl/Wireshark/NDR.pm
===================================================================
--- lib/Parse/Pidl/Wireshark/NDR.pm     (revision 22005)
+++ lib/Parse/Pidl/Wireshark/NDR.pm     (working copy)
@@ -916,6 +916,14 @@
        $res{headers} .= "#ifdef HAVE_CONFIG_H\n";
        $res{headers} .= "#include \"config.h\"\n";
        $res{headers} .= "#endif\n\n";
+
+       $res{headers} .= "#ifdef _MSC_VER\n";
+       $res{headers} .= "#pragma warning(disable:4005)\n";
+       $res{headers} .= "#pragma warning(disable:4013)\n";
+       $res{headers} .= "#pragma warning(disable:4018)\n";
+       $res{headers} .= "#pragma warning(disable:4101)\n";
+       $res{headers} .= "#endif\n\n";
+
        $res{headers} .= "#include <glib.h>\n";
        $res{headers} .= "#include <string.h>\n";
        $res{headers} .= "#include <epan/packet.h>\n\n";



svn path=/trunk/; revision=21262
2007-03-29 02:22:23 +00:00

1603 lines
65 KiB
C

/* DO NOT EDIT
This filter was automatically generated
from atsvc.idl and atsvc.cnf.
Pidl is a perl based IDL compiler for DCE/RPC idl files.
It is maintained by the Samba team, not the Wireshark team.
Instructions on how to download and install Pidl can be
found at http://wiki.wireshark.org/Pidl
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef _MSC_VER
#pragma warning(disable:4005)
#pragma warning(disable:4013)
#pragma warning(disable:4018)
#pragma warning(disable:4101)
#endif
#include <glib.h>
#include <string.h>
#include <epan/packet.h>
#include "packet-dcerpc.h"
#include "packet-dcerpc-nt.h"
#include "packet-windows-common.h"
#include "packet-dcerpc-atsvc.h"
/* Ett declarations */
static gint ett_dcerpc_atsvc = -1;
static gint ett_atsvc_atsvc_DaysOfMonth = -1;
static gint ett_atsvc_atsvc_Flags = -1;
static gint ett_atsvc_atsvc_DaysOfWeek = -1;
static gint ett_atsvc_atsvc_JobInfo = -1;
static gint ett_atsvc_atsvc_JobEnumInfo = -1;
static gint ett_atsvc_atsvc_enum_ctr = -1;
/* Header field declarations */
static gint hf_atsvc_atsvc_Flags_JOB_NONINTERACTIVE = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Fourteenth = -1;
static gint hf_atsvc_atsvc_Flags_JOB_RUN_PERIODICALLY = -1;
static gint hf_atsvc_atsvc_enum_ctr_entries_read = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentyeighth = -1;
static gint hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY = -1;
static gint hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Second = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentyth = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Ninth = -1;
static gint hf_atsvc_servername = -1;
static gint hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentyninth = -1;
static gint hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Tenth = -1;
static gint hf_atsvc_atsvc_JobEnum_resume_handle = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentyseventh = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Fifteenth = -1;
static gint hf_atsvc_atsvc_JobInfo_command = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Ninteenth = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Seventh = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentyfourth = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Seventeenth = -1;
static gint hf_atsvc_opnum = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twelfth = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Eighteenth = -1;
static gint hf_atsvc_atsvc_Flags_JOB_RUNS_TODAY = -1;
static gint hf_atsvc_atsvc_JobEnum_total_entries = -1;
static gint hf_atsvc_atsvc_enum_ctr_first_entry = -1;
static gint hf_atsvc_atsvc_JobEnumInfo_job_time = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Thirtyfirst = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Third = -1;
static gint hf_atsvc_atsvc_JobEnum_preferred_max_len = -1;
static gint hf_atsvc_atsvc_JobEnumInfo_days_of_month = -1;
static gint hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY = -1;
static gint hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentythird = -1;
static gint hf_atsvc_atsvc_JobInfo_job_time = -1;
static gint hf_atsvc_status = -1;
static gint hf_atsvc_atsvc_JobInfo_flags = -1;
static gint hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Sixth = -1;
static gint hf_atsvc_job_id = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentysixth = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Fifth = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Fourth = -1;
static gint hf_atsvc_job_info = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Eleventh = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Sixteenth = -1;
static gint hf_atsvc_atsvc_Flags_JOB_ADD_CURRENT_DATE = -1;
static gint hf_atsvc_atsvc_JobEnum_ctr = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentyfifth = -1;
static gint hf_atsvc_atsvc_JobInfo_days_of_month = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentysecond = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_First = -1;
static gint hf_atsvc_atsvc_JobEnumInfo_command = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Thirtieth = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Eight = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Twentyfirst = -1;
static gint hf_atsvc_atsvc_Flags_JOB_EXEC_ERROR = -1;
static gint hf_atsvc_atsvc_JobInfo_days_of_week = -1;
static gint hf_atsvc_atsvc_JobDel_min_job_id = -1;
static gint hf_atsvc_atsvc_JobEnumInfo_days_of_week = -1;
static gint hf_atsvc_atsvc_JobEnumInfo_flags = -1;
static gint hf_atsvc_atsvc_JobDel_max_job_id = -1;
static gint hf_atsvc_atsvc_DaysOfMonth_Thitteenth = -1;
static gint proto_dcerpc_atsvc = -1;
/* Version information */
static e_uuid_t uuid_dcerpc_atsvc = {
0x1ff70682, 0x0a51, 0x30e8,
{ 0x07, 0x6d, 0x74, 0x0b, 0xe8, 0xce, 0xe9, 0x8b }
};
static guint16 ver_dcerpc_atsvc = 1;
static const true_false_string atsvc_DaysOfMonth_First_tfs = {
"First is SET",
"First is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Second_tfs = {
"Second is SET",
"Second is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Third_tfs = {
"Third is SET",
"Third is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Fourth_tfs = {
"Fourth is SET",
"Fourth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Fifth_tfs = {
"Fifth is SET",
"Fifth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Sixth_tfs = {
"Sixth is SET",
"Sixth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Seventh_tfs = {
"Seventh is SET",
"Seventh is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Eight_tfs = {
"Eight is SET",
"Eight is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Ninth_tfs = {
"Ninth is SET",
"Ninth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Tenth_tfs = {
"Tenth is SET",
"Tenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Eleventh_tfs = {
"Eleventh is SET",
"Eleventh is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twelfth_tfs = {
"Twelfth is SET",
"Twelfth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Thitteenth_tfs = {
"Thitteenth is SET",
"Thitteenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Fourteenth_tfs = {
"Fourteenth is SET",
"Fourteenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Fifteenth_tfs = {
"Fifteenth is SET",
"Fifteenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Sixteenth_tfs = {
"Sixteenth is SET",
"Sixteenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Seventeenth_tfs = {
"Seventeenth is SET",
"Seventeenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Eighteenth_tfs = {
"Eighteenth is SET",
"Eighteenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Ninteenth_tfs = {
"Ninteenth is SET",
"Ninteenth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentyth_tfs = {
"Twentyth is SET",
"Twentyth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentyfirst_tfs = {
"Twentyfirst is SET",
"Twentyfirst is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentysecond_tfs = {
"Twentysecond is SET",
"Twentysecond is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentythird_tfs = {
"Twentythird is SET",
"Twentythird is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentyfourth_tfs = {
"Twentyfourth is SET",
"Twentyfourth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentyfifth_tfs = {
"Twentyfifth is SET",
"Twentyfifth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentysixth_tfs = {
"Twentysixth is SET",
"Twentysixth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentyseventh_tfs = {
"Twentyseventh is SET",
"Twentyseventh is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentyeighth_tfs = {
"Twentyeighth is SET",
"Twentyeighth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Twentyninth_tfs = {
"Twentyninth is SET",
"Twentyninth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Thirtieth_tfs = {
"Thirtieth is SET",
"Thirtieth is NOT SET",
};
static const true_false_string atsvc_DaysOfMonth_Thirtyfirst_tfs = {
"Thirtyfirst is SET",
"Thirtyfirst is NOT SET",
};
static const true_false_string atsvc_Flags_JOB_RUN_PERIODICALLY_tfs = {
"JOB_RUN_PERIODICALLY is SET",
"JOB_RUN_PERIODICALLY is NOT SET",
};
static const true_false_string atsvc_Flags_JOB_EXEC_ERROR_tfs = {
"JOB_EXEC_ERROR is SET",
"JOB_EXEC_ERROR is NOT SET",
};
static const true_false_string atsvc_Flags_JOB_RUNS_TODAY_tfs = {
"JOB_RUNS_TODAY is SET",
"JOB_RUNS_TODAY is NOT SET",
};
static const true_false_string atsvc_Flags_JOB_ADD_CURRENT_DATE_tfs = {
"JOB_ADD_CURRENT_DATE is SET",
"JOB_ADD_CURRENT_DATE is NOT SET",
};
static const true_false_string atsvc_Flags_JOB_NONINTERACTIVE_tfs = {
"JOB_NONINTERACTIVE is SET",
"JOB_NONINTERACTIVE is NOT SET",
};
static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY_tfs = {
"DAYSOFWEEK_MONDAY is SET",
"DAYSOFWEEK_MONDAY is NOT SET",
};
static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY_tfs = {
"DAYSOFWEEK_TUESDAY is SET",
"DAYSOFWEEK_TUESDAY is NOT SET",
};
static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY_tfs = {
"DAYSOFWEEK_WEDNESDAY is SET",
"DAYSOFWEEK_WEDNESDAY is NOT SET",
};
static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY_tfs = {
"DAYSOFWEEK_THURSDAY is SET",
"DAYSOFWEEK_THURSDAY is NOT SET",
};
static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY_tfs = {
"DAYSOFWEEK_FRIDAY is SET",
"DAYSOFWEEK_FRIDAY is NOT SET",
};
static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY_tfs = {
"DAYSOFWEEK_SATURDAY is SET",
"DAYSOFWEEK_SATURDAY is NOT SET",
};
static const true_false_string atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY_tfs = {
"DAYSOFWEEK_SUNDAY is SET",
"DAYSOFWEEK_SUNDAY is NOT SET",
};
static int atsvc_dissect_element_JobInfo_job_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobInfo_days_of_month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobInfo_days_of_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobInfo_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobInfo_command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobInfo_command_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnumInfo_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnumInfo_job_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnumInfo_days_of_month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnumInfo_days_of_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnumInfo_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnumInfo_command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnumInfo_command_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_enum_ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_enum_ctr_first_entry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_enum_ctr_first_entry_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_enum_ctr_first_entry__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobAdd_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobAdd_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobAdd_job_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobAdd_job_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobAdd_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobAdd_job_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobDel_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobDel_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobDel_min_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobDel_max_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_ctr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_ctr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_preferred_max_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_total_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_total_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobEnum_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobGetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobGetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobGetInfo_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobGetInfo_job_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobGetInfo_job_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int atsvc_dissect_element_JobGetInfo_job_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
/* IDL: bitmap { */
/* IDL: First = 0x00000001 , */
/* IDL: Second = 0x00000002 , */
/* IDL: Third = 0x00000004 , */
/* IDL: Fourth = 0x00000008 , */
/* IDL: Fifth = 0x00000010 , */
/* IDL: Sixth = 0x00000020 , */
/* IDL: Seventh = 0x00000040 , */
/* IDL: Eight = 0x00000080 , */
/* IDL: Ninth = 0x00000100 , */
/* IDL: Tenth = 0x00000200 , */
/* IDL: Eleventh = 0x00000400 , */
/* IDL: Twelfth = 0x00000800 , */
/* IDL: Thitteenth = 0x00001000 , */
/* IDL: Fourteenth = 0x00002000 , */
/* IDL: Fifteenth = 0x00004000 , */
/* IDL: Sixteenth = 0x00008000 , */
/* IDL: Seventeenth = 0x00010000 , */
/* IDL: Eighteenth = 0x00020000 , */
/* IDL: Ninteenth = 0x00040000 , */
/* IDL: Twentyth = 0x00080000 , */
/* IDL: Twentyfirst = 0x00100000 , */
/* IDL: Twentysecond = 0x00200000 , */
/* IDL: Twentythird = 0x00400000 , */
/* IDL: Twentyfourth = 0x00800000 , */
/* IDL: Twentyfifth = 0x01000000 , */
/* IDL: Twentysixth = 0x02000000 , */
/* IDL: Twentyseventh = 0x04000000 , */
/* IDL: Twentyeighth = 0x08000000 , */
/* IDL: Twentyninth = 0x10000000 , */
/* IDL: Thirtieth = 0x20000000 , */
/* IDL: Thirtyfirst = 0x40000000 , */
/* IDL: } */
int
atsvc_dissect_bitmap_DaysOfMonth(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
guint32 flags;
ALIGN_TO_4_BYTES;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
tree = proto_item_add_subtree(item,ett_atsvc_atsvc_DaysOfMonth);
}
offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
proto_item_append_text(item, ": ");
if (!flags)
proto_item_append_text(item, "(No values set)");
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_First, tvb, offset-4, 4, flags);
if (flags&( 0x00000001 )){
proto_item_append_text(item, "First");
if (flags & (~( 0x00000001 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000001 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Second, tvb, offset-4, 4, flags);
if (flags&( 0x00000002 )){
proto_item_append_text(item, "Second");
if (flags & (~( 0x00000002 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000002 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Third, tvb, offset-4, 4, flags);
if (flags&( 0x00000004 )){
proto_item_append_text(item, "Third");
if (flags & (~( 0x00000004 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000004 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Fourth, tvb, offset-4, 4, flags);
if (flags&( 0x00000008 )){
proto_item_append_text(item, "Fourth");
if (flags & (~( 0x00000008 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000008 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Fifth, tvb, offset-4, 4, flags);
if (flags&( 0x00000010 )){
proto_item_append_text(item, "Fifth");
if (flags & (~( 0x00000010 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000010 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Sixth, tvb, offset-4, 4, flags);
if (flags&( 0x00000020 )){
proto_item_append_text(item, "Sixth");
if (flags & (~( 0x00000020 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000020 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Seventh, tvb, offset-4, 4, flags);
if (flags&( 0x00000040 )){
proto_item_append_text(item, "Seventh");
if (flags & (~( 0x00000040 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000040 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Eight, tvb, offset-4, 4, flags);
if (flags&( 0x00000080 )){
proto_item_append_text(item, "Eight");
if (flags & (~( 0x00000080 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000080 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Ninth, tvb, offset-4, 4, flags);
if (flags&( 0x00000100 )){
proto_item_append_text(item, "Ninth");
if (flags & (~( 0x00000100 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000100 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Tenth, tvb, offset-4, 4, flags);
if (flags&( 0x00000200 )){
proto_item_append_text(item, "Tenth");
if (flags & (~( 0x00000200 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000200 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Eleventh, tvb, offset-4, 4, flags);
if (flags&( 0x00000400 )){
proto_item_append_text(item, "Eleventh");
if (flags & (~( 0x00000400 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000400 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twelfth, tvb, offset-4, 4, flags);
if (flags&( 0x00000800 )){
proto_item_append_text(item, "Twelfth");
if (flags & (~( 0x00000800 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00000800 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Thitteenth, tvb, offset-4, 4, flags);
if (flags&( 0x00001000 )){
proto_item_append_text(item, "Thitteenth");
if (flags & (~( 0x00001000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00001000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Fourteenth, tvb, offset-4, 4, flags);
if (flags&( 0x00002000 )){
proto_item_append_text(item, "Fourteenth");
if (flags & (~( 0x00002000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00002000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Fifteenth, tvb, offset-4, 4, flags);
if (flags&( 0x00004000 )){
proto_item_append_text(item, "Fifteenth");
if (flags & (~( 0x00004000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00004000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Sixteenth, tvb, offset-4, 4, flags);
if (flags&( 0x00008000 )){
proto_item_append_text(item, "Sixteenth");
if (flags & (~( 0x00008000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00008000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Seventeenth, tvb, offset-4, 4, flags);
if (flags&( 0x00010000 )){
proto_item_append_text(item, "Seventeenth");
if (flags & (~( 0x00010000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00010000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Eighteenth, tvb, offset-4, 4, flags);
if (flags&( 0x00020000 )){
proto_item_append_text(item, "Eighteenth");
if (flags & (~( 0x00020000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00020000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Ninteenth, tvb, offset-4, 4, flags);
if (flags&( 0x00040000 )){
proto_item_append_text(item, "Ninteenth");
if (flags & (~( 0x00040000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00040000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentyth, tvb, offset-4, 4, flags);
if (flags&( 0x00080000 )){
proto_item_append_text(item, "Twentyth");
if (flags & (~( 0x00080000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00080000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentyfirst, tvb, offset-4, 4, flags);
if (flags&( 0x00100000 )){
proto_item_append_text(item, "Twentyfirst");
if (flags & (~( 0x00100000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00100000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentysecond, tvb, offset-4, 4, flags);
if (flags&( 0x00200000 )){
proto_item_append_text(item, "Twentysecond");
if (flags & (~( 0x00200000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00200000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentythird, tvb, offset-4, 4, flags);
if (flags&( 0x00400000 )){
proto_item_append_text(item, "Twentythird");
if (flags & (~( 0x00400000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00400000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentyfourth, tvb, offset-4, 4, flags);
if (flags&( 0x00800000 )){
proto_item_append_text(item, "Twentyfourth");
if (flags & (~( 0x00800000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x00800000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentyfifth, tvb, offset-4, 4, flags);
if (flags&( 0x01000000 )){
proto_item_append_text(item, "Twentyfifth");
if (flags & (~( 0x01000000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x01000000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentysixth, tvb, offset-4, 4, flags);
if (flags&( 0x02000000 )){
proto_item_append_text(item, "Twentysixth");
if (flags & (~( 0x02000000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x02000000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentyseventh, tvb, offset-4, 4, flags);
if (flags&( 0x04000000 )){
proto_item_append_text(item, "Twentyseventh");
if (flags & (~( 0x04000000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x04000000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentyeighth, tvb, offset-4, 4, flags);
if (flags&( 0x08000000 )){
proto_item_append_text(item, "Twentyeighth");
if (flags & (~( 0x08000000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x08000000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Twentyninth, tvb, offset-4, 4, flags);
if (flags&( 0x10000000 )){
proto_item_append_text(item, "Twentyninth");
if (flags & (~( 0x10000000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x10000000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Thirtieth, tvb, offset-4, 4, flags);
if (flags&( 0x20000000 )){
proto_item_append_text(item, "Thirtieth");
if (flags & (~( 0x20000000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x20000000 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfMonth_Thirtyfirst, tvb, offset-4, 4, flags);
if (flags&( 0x40000000 )){
proto_item_append_text(item, "Thirtyfirst");
if (flags & (~( 0x40000000 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x40000000 ));
if (flags) {
proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
}
return offset;
}
/* IDL: bitmap { */
/* IDL: JOB_RUN_PERIODICALLY = 0x01 , */
/* IDL: JOB_EXEC_ERROR = 0x02 , */
/* IDL: JOB_RUNS_TODAY = 0x04 , */
/* IDL: JOB_ADD_CURRENT_DATE = 0x08 , */
/* IDL: JOB_NONINTERACTIVE = 0x10 , */
/* IDL: } */
int
atsvc_dissect_bitmap_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
guint8 flags;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 1, TRUE);
tree = proto_item_add_subtree(item,ett_atsvc_atsvc_Flags);
}
offset = dissect_ndr_uint8(tvb, offset, pinfo, NULL, drep, -1, &flags);
proto_item_append_text(item, ": ");
if (!flags)
proto_item_append_text(item, "(No values set)");
proto_tree_add_boolean(tree, hf_atsvc_atsvc_Flags_JOB_RUN_PERIODICALLY, tvb, offset-1, 1, flags);
if (flags&( 0x01 )){
proto_item_append_text(item, "JOB_RUN_PERIODICALLY");
if (flags & (~( 0x01 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x01 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_Flags_JOB_EXEC_ERROR, tvb, offset-1, 1, flags);
if (flags&( 0x02 )){
proto_item_append_text(item, "JOB_EXEC_ERROR");
if (flags & (~( 0x02 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x02 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_Flags_JOB_RUNS_TODAY, tvb, offset-1, 1, flags);
if (flags&( 0x04 )){
proto_item_append_text(item, "JOB_RUNS_TODAY");
if (flags & (~( 0x04 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x04 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_Flags_JOB_ADD_CURRENT_DATE, tvb, offset-1, 1, flags);
if (flags&( 0x08 )){
proto_item_append_text(item, "JOB_ADD_CURRENT_DATE");
if (flags & (~( 0x08 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x08 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_Flags_JOB_NONINTERACTIVE, tvb, offset-1, 1, flags);
if (flags&( 0x10 )){
proto_item_append_text(item, "JOB_NONINTERACTIVE");
if (flags & (~( 0x10 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x10 ));
if (flags) {
proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
}
return offset;
}
/* IDL: bitmap { */
/* IDL: DAYSOFWEEK_MONDAY = 0x01 , */
/* IDL: DAYSOFWEEK_TUESDAY = 0x02 , */
/* IDL: DAYSOFWEEK_WEDNESDAY = 0x04 , */
/* IDL: DAYSOFWEEK_THURSDAY = 0x08 , */
/* IDL: DAYSOFWEEK_FRIDAY = 0x10 , */
/* IDL: DAYSOFWEEK_SATURDAY = 0x20 , */
/* IDL: DAYSOFWEEK_SUNDAY = 0x40 , */
/* IDL: } */
int
atsvc_dissect_bitmap_DaysOfWeek(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
guint8 flags;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 1, TRUE);
tree = proto_item_add_subtree(item,ett_atsvc_atsvc_DaysOfWeek);
}
offset = dissect_ndr_uint8(tvb, offset, pinfo, NULL, drep, -1, &flags);
proto_item_append_text(item, ": ");
if (!flags)
proto_item_append_text(item, "(No values set)");
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY, tvb, offset-1, 1, flags);
if (flags&( 0x01 )){
proto_item_append_text(item, "DAYSOFWEEK_MONDAY");
if (flags & (~( 0x01 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x01 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY, tvb, offset-1, 1, flags);
if (flags&( 0x02 )){
proto_item_append_text(item, "DAYSOFWEEK_TUESDAY");
if (flags & (~( 0x02 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x02 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY, tvb, offset-1, 1, flags);
if (flags&( 0x04 )){
proto_item_append_text(item, "DAYSOFWEEK_WEDNESDAY");
if (flags & (~( 0x04 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x04 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY, tvb, offset-1, 1, flags);
if (flags&( 0x08 )){
proto_item_append_text(item, "DAYSOFWEEK_THURSDAY");
if (flags & (~( 0x08 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x08 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY, tvb, offset-1, 1, flags);
if (flags&( 0x10 )){
proto_item_append_text(item, "DAYSOFWEEK_FRIDAY");
if (flags & (~( 0x10 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x10 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY, tvb, offset-1, 1, flags);
if (flags&( 0x20 )){
proto_item_append_text(item, "DAYSOFWEEK_SATURDAY");
if (flags & (~( 0x20 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x20 ));
proto_tree_add_boolean(tree, hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY, tvb, offset-1, 1, flags);
if (flags&( 0x40 )){
proto_item_append_text(item, "DAYSOFWEEK_SUNDAY");
if (flags & (~( 0x40 )))
proto_item_append_text(item, ", ");
}
flags&=(~( 0x40 ));
if (flags) {
proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
}
return offset;
}
/* IDL: struct { */
/* IDL: uint32 job_time; */
/* IDL: atsvc_DaysOfMonth days_of_month; */
/* IDL: atsvc_DaysOfWeek days_of_week; */
/* IDL: atsvc_Flags flags; */
/* IDL: [charset(UTF16)] [unique(1)] uint16 *command; */
/* IDL: } */
static int
atsvc_dissect_element_JobInfo_job_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobInfo_job_time, 0);
return offset;
}
static int
atsvc_dissect_element_JobInfo_days_of_month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_bitmap_DaysOfMonth(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobInfo_days_of_month, 0);
return offset;
}
static int
atsvc_dissect_element_JobInfo_days_of_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_bitmap_DaysOfWeek(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobInfo_days_of_week, 0);
return offset;
}
static int
atsvc_dissect_element_JobInfo_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_bitmap_Flags(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobInfo_flags, 0);
return offset;
}
static int
atsvc_dissect_element_JobInfo_command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobInfo_command_, NDR_POINTER_UNIQUE, "Pointer to Command (uint16)",hf_atsvc_atsvc_JobInfo_command);
return offset;
}
static int
atsvc_dissect_element_JobInfo_command_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
char *data;
offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_atsvc_atsvc_JobInfo_command, FALSE, &data);
proto_item_append_text(tree, ": %s", data);
return offset;
}
int
atsvc_dissect_struct_JobInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
int old_offset;
ALIGN_TO_4_BYTES;
old_offset = offset;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
tree = proto_item_add_subtree(item, ett_atsvc_atsvc_JobInfo);
}
offset = atsvc_dissect_element_JobInfo_job_time(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobInfo_days_of_month(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobInfo_days_of_week(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobInfo_flags(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobInfo_command(tvb, offset, pinfo, tree, drep);
proto_item_set_len(item, offset-old_offset);
return offset;
}
/* IDL: struct { */
/* IDL: uint32 job_id; */
/* IDL: uint32 job_time; */
/* IDL: atsvc_DaysOfMonth days_of_month; */
/* IDL: atsvc_DaysOfWeek days_of_week; */
/* IDL: atsvc_Flags flags; */
/* IDL: [charset(UTF16)] [unique(1)] uint16 *command; */
/* IDL: } */
static int
atsvc_dissect_element_JobEnumInfo_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_job_id, 0);
return offset;
}
static int
atsvc_dissect_element_JobEnumInfo_job_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobEnumInfo_job_time, 0);
return offset;
}
static int
atsvc_dissect_element_JobEnumInfo_days_of_month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_bitmap_DaysOfMonth(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobEnumInfo_days_of_month, 0);
return offset;
}
static int
atsvc_dissect_element_JobEnumInfo_days_of_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_bitmap_DaysOfWeek(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobEnumInfo_days_of_week, 0);
return offset;
}
static int
atsvc_dissect_element_JobEnumInfo_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_bitmap_Flags(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobEnumInfo_flags, 0);
return offset;
}
static int
atsvc_dissect_element_JobEnumInfo_command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobEnumInfo_command_, NDR_POINTER_UNIQUE, "Pointer to Command (uint16)",hf_atsvc_atsvc_JobEnumInfo_command);
return offset;
}
static int
atsvc_dissect_element_JobEnumInfo_command_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
char *data;
offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_atsvc_atsvc_JobEnumInfo_command, FALSE, &data);
proto_item_append_text(tree, ": %s", data);
return offset;
}
int
atsvc_dissect_struct_JobEnumInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
int old_offset;
ALIGN_TO_4_BYTES;
old_offset = offset;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
tree = proto_item_add_subtree(item, ett_atsvc_atsvc_JobEnumInfo);
}
offset = atsvc_dissect_element_JobEnumInfo_job_id(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobEnumInfo_job_time(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobEnumInfo_days_of_month(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobEnumInfo_days_of_week(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobEnumInfo_flags(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_JobEnumInfo_command(tvb, offset, pinfo, tree, drep);
proto_item_set_len(item, offset-old_offset);
return offset;
}
/* IDL: struct { */
/* IDL: uint32 entries_read; */
/* IDL: [size_is(entries_read)] [unique(1)] atsvc_JobEnumInfo *first_entry; */
/* IDL: } */
static int
atsvc_dissect_element_enum_ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_enum_ctr_entries_read, 0);
return offset;
}
static int
atsvc_dissect_element_enum_ctr_first_entry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_enum_ctr_first_entry_, NDR_POINTER_UNIQUE, "Pointer to First Entry (atsvc_JobEnumInfo)",hf_atsvc_atsvc_enum_ctr_first_entry);
return offset;
}
static int
atsvc_dissect_element_enum_ctr_first_entry_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_enum_ctr_first_entry__);
return offset;
}
static int
atsvc_dissect_element_enum_ctr_first_entry__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_struct_JobEnumInfo(tvb,offset,pinfo,tree,drep,hf_atsvc_atsvc_enum_ctr_first_entry,0);
return offset;
}
int
atsvc_dissect_struct_enum_ctr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
int old_offset;
ALIGN_TO_4_BYTES;
old_offset = offset;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
tree = proto_item_add_subtree(item, ett_atsvc_atsvc_enum_ctr);
}
offset = atsvc_dissect_element_enum_ctr_entries_read(tvb, offset, pinfo, tree, drep);
offset = atsvc_dissect_element_enum_ctr_first_entry(tvb, offset, pinfo, tree, drep);
proto_item_set_len(item, offset-old_offset);
return offset;
}
static int
atsvc_dissect_element_JobAdd_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobAdd_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_atsvc_servername);
return offset;
}
static int
atsvc_dissect_element_JobAdd_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
char *data;
offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_atsvc_servername, FALSE, &data);
proto_item_append_text(tree, ": %s", data);
return offset;
}
static int
atsvc_dissect_element_JobAdd_job_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobAdd_job_info_, NDR_POINTER_REF, "Pointer to Job Info (atsvc_JobInfo)",hf_atsvc_job_info);
return offset;
}
static int
atsvc_dissect_element_JobAdd_job_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_struct_JobInfo(tvb,offset,pinfo,tree,drep,hf_atsvc_job_info,0);
return offset;
}
static int
atsvc_dissect_element_JobAdd_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobAdd_job_id_, NDR_POINTER_REF, "Pointer to Job Id (uint32)",hf_atsvc_job_id);
return offset;
}
static int
atsvc_dissect_element_JobAdd_job_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_job_id, 0);
return offset;
}
/* IDL: NTSTATUS atsvc_JobAdd( */
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
/* IDL: [in] [ref] atsvc_JobInfo *job_info, */
/* IDL: [out] [ref] uint32 *job_id */
/* IDL: ); */
static int
atsvc_dissect_JobAdd_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
guint32 status;
pinfo->dcerpc_procedure_name="JobAdd";
offset = atsvc_dissect_element_JobAdd_job_id(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_atsvc_status, &status);
if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
return offset;
}
static int
atsvc_dissect_JobAdd_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
pinfo->dcerpc_procedure_name="JobAdd";
offset = atsvc_dissect_element_JobAdd_servername(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobAdd_job_info(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
return offset;
}
static int
atsvc_dissect_element_JobDel_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobDel_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_atsvc_servername);
return offset;
}
static int
atsvc_dissect_element_JobDel_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
char *data;
offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_atsvc_servername, FALSE, &data);
proto_item_append_text(tree, ": %s", data);
return offset;
}
static int
atsvc_dissect_element_JobDel_min_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobDel_min_job_id, 0);
return offset;
}
static int
atsvc_dissect_element_JobDel_max_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobDel_max_job_id, 0);
return offset;
}
/* IDL: NTSTATUS atsvc_JobDel( */
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
/* IDL: [in] uint32 min_job_id, */
/* IDL: [in] uint32 max_job_id */
/* IDL: ); */
static int
atsvc_dissect_JobDel_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
guint32 status;
pinfo->dcerpc_procedure_name="JobDel";
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_atsvc_status, &status);
if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
return offset;
}
static int
atsvc_dissect_JobDel_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
pinfo->dcerpc_procedure_name="JobDel";
offset = atsvc_dissect_element_JobDel_servername(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobDel_min_job_id(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobDel_max_job_id(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
return offset;
}
static int
atsvc_dissect_element_JobEnum_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobEnum_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_atsvc_servername);
return offset;
}
static int
atsvc_dissect_element_JobEnum_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
char *data;
offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_atsvc_servername, FALSE, &data);
proto_item_append_text(tree, ": %s", data);
return offset;
}
static int
atsvc_dissect_element_JobEnum_ctr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobEnum_ctr_, NDR_POINTER_REF, "Pointer to Ctr (atsvc_enum_ctr)",hf_atsvc_atsvc_JobEnum_ctr);
return offset;
}
static int
atsvc_dissect_element_JobEnum_ctr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_struct_enum_ctr(tvb,offset,pinfo,tree,drep,hf_atsvc_atsvc_JobEnum_ctr,0);
return offset;
}
static int
atsvc_dissect_element_JobEnum_preferred_max_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobEnum_preferred_max_len, 0);
return offset;
}
static int
atsvc_dissect_element_JobEnum_total_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobEnum_total_entries_, NDR_POINTER_REF, "Pointer to Total Entries (uint32)",hf_atsvc_atsvc_JobEnum_total_entries);
return offset;
}
static int
atsvc_dissect_element_JobEnum_total_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobEnum_total_entries, 0);
return offset;
}
static int
atsvc_dissect_element_JobEnum_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_atsvc_atsvc_JobEnum_resume_handle);
return offset;
}
static int
atsvc_dissect_element_JobEnum_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_atsvc_JobEnum_resume_handle, 0);
return offset;
}
/* IDL: NTSTATUS atsvc_JobEnum( */
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
/* IDL: [out] [in] [ref] atsvc_enum_ctr *ctr, */
/* IDL: [in] uint32 preferred_max_len, */
/* IDL: [out] [ref] uint32 *total_entries, */
/* IDL: [out] [in] [unique(1)] uint32 *resume_handle */
/* IDL: ); */
static int
atsvc_dissect_JobEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
guint32 status;
pinfo->dcerpc_procedure_name="JobEnum";
offset = atsvc_dissect_element_JobEnum_ctr(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobEnum_total_entries(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobEnum_resume_handle(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_atsvc_status, &status);
if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
return offset;
}
static int
atsvc_dissect_JobEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
pinfo->dcerpc_procedure_name="JobEnum";
offset = atsvc_dissect_element_JobEnum_servername(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobEnum_ctr(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobEnum_preferred_max_len(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobEnum_resume_handle(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
return offset;
}
static int
atsvc_dissect_element_JobGetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobGetInfo_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_atsvc_servername);
return offset;
}
static int
atsvc_dissect_element_JobGetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
char *data;
offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_atsvc_servername, FALSE, &data);
proto_item_append_text(tree, ": %s", data);
return offset;
}
static int
atsvc_dissect_element_JobGetInfo_job_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_atsvc_job_id, 0);
return offset;
}
static int
atsvc_dissect_element_JobGetInfo_job_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobGetInfo_job_info_, NDR_POINTER_REF, "Pointer to Job Info (atsvc_JobInfo)",hf_atsvc_job_info);
return offset;
}
static int
atsvc_dissect_element_JobGetInfo_job_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, atsvc_dissect_element_JobGetInfo_job_info__, NDR_POINTER_REF, "Pointer to Job Info (atsvc_JobInfo)",hf_atsvc_job_info);
return offset;
}
static int
atsvc_dissect_element_JobGetInfo_job_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
offset = atsvc_dissect_struct_JobInfo(tvb,offset,pinfo,tree,drep,hf_atsvc_job_info,0);
return offset;
}
/* IDL: NTSTATUS atsvc_JobGetInfo( */
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
/* IDL: [in] uint32 job_id, */
/* IDL: [out] [ref] atsvc_JobInfo **job_info */
/* IDL: ); */
static int
atsvc_dissect_JobGetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
guint32 status;
pinfo->dcerpc_procedure_name="JobGetInfo";
offset = atsvc_dissect_element_JobGetInfo_job_info(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_atsvc_status, &status);
if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
return offset;
}
static int
atsvc_dissect_JobGetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
pinfo->dcerpc_procedure_name="JobGetInfo";
offset = atsvc_dissect_element_JobGetInfo_servername(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
offset = atsvc_dissect_element_JobGetInfo_job_id(tvb, offset, pinfo, tree, drep);
offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
return offset;
}
static dcerpc_sub_dissector atsvc_dissectors[] = {
{ 0, "JobAdd",
atsvc_dissect_JobAdd_request, atsvc_dissect_JobAdd_response},
{ 1, "JobDel",
atsvc_dissect_JobDel_request, atsvc_dissect_JobDel_response},
{ 2, "JobEnum",
atsvc_dissect_JobEnum_request, atsvc_dissect_JobEnum_response},
{ 3, "JobGetInfo",
atsvc_dissect_JobGetInfo_request, atsvc_dissect_JobGetInfo_response},
{ 0, NULL, NULL, NULL }
};
void proto_register_dcerpc_atsvc(void)
{
static hf_register_info hf[] = {
{ &hf_atsvc_atsvc_Flags_JOB_NONINTERACTIVE,
{ "Job Noninteractive", "atsvc.atsvc_Flags.JOB_NONINTERACTIVE", FT_BOOLEAN, 8, TFS(&atsvc_Flags_JOB_NONINTERACTIVE_tfs), ( 0x10 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Fourteenth,
{ "Fourteenth", "atsvc.atsvc_DaysOfMonth.Fourteenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Fourteenth_tfs), ( 0x00002000 ), "", HFILL }},
{ &hf_atsvc_atsvc_Flags_JOB_RUN_PERIODICALLY,
{ "Job Run Periodically", "atsvc.atsvc_Flags.JOB_RUN_PERIODICALLY", FT_BOOLEAN, 8, TFS(&atsvc_Flags_JOB_RUN_PERIODICALLY_tfs), ( 0x01 ), "", HFILL }},
{ &hf_atsvc_atsvc_enum_ctr_entries_read,
{ "Entries Read", "atsvc.atsvc_enum_ctr.entries_read", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentyeighth,
{ "Twentyeighth", "atsvc.atsvc_DaysOfMonth.Twentyeighth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentyeighth_tfs), ( 0x08000000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY,
{ "Daysofweek Monday", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_MONDAY", FT_BOOLEAN, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_MONDAY_tfs), ( 0x01 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY,
{ "Daysofweek Sunday", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_SUNDAY", FT_BOOLEAN, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_SUNDAY_tfs), ( 0x40 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Second,
{ "Second", "atsvc.atsvc_DaysOfMonth.Second", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Second_tfs), ( 0x00000002 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentyth,
{ "Twentyth", "atsvc.atsvc_DaysOfMonth.Twentyth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentyth_tfs), ( 0x00080000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Ninth,
{ "Ninth", "atsvc.atsvc_DaysOfMonth.Ninth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Ninth_tfs), ( 0x00000100 ), "", HFILL }},
{ &hf_atsvc_servername,
{ "Server", "atsvc.server", FT_STRING, BASE_HEX, NULL, 0, "Name of the server", HFILL }},
{ &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY,
{ "Daysofweek Wednesday", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_WEDNESDAY", FT_BOOLEAN, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_WEDNESDAY_tfs), ( 0x04 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentyninth,
{ "Twentyninth", "atsvc.atsvc_DaysOfMonth.Twentyninth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentyninth_tfs), ( 0x10000000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY,
{ "Daysofweek Tuesday", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_TUESDAY", FT_BOOLEAN, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_TUESDAY_tfs), ( 0x02 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Tenth,
{ "Tenth", "atsvc.atsvc_DaysOfMonth.Tenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Tenth_tfs), ( 0x00000200 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobEnum_resume_handle,
{ "Resume Handle", "atsvc.atsvc_JobEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentyseventh,
{ "Twentyseventh", "atsvc.atsvc_DaysOfMonth.Twentyseventh", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentyseventh_tfs), ( 0x04000000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Fifteenth,
{ "Fifteenth", "atsvc.atsvc_DaysOfMonth.Fifteenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Fifteenth_tfs), ( 0x00004000 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobInfo_command,
{ "Command", "atsvc.atsvc_JobInfo.command", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Ninteenth,
{ "Ninteenth", "atsvc.atsvc_DaysOfMonth.Ninteenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Ninteenth_tfs), ( 0x00040000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Seventh,
{ "Seventh", "atsvc.atsvc_DaysOfMonth.Seventh", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Seventh_tfs), ( 0x00000040 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentyfourth,
{ "Twentyfourth", "atsvc.atsvc_DaysOfMonth.Twentyfourth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentyfourth_tfs), ( 0x00800000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Seventeenth,
{ "Seventeenth", "atsvc.atsvc_DaysOfMonth.Seventeenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Seventeenth_tfs), ( 0x00010000 ), "", HFILL }},
{ &hf_atsvc_opnum,
{ "Operation", "atsvc.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twelfth,
{ "Twelfth", "atsvc.atsvc_DaysOfMonth.Twelfth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twelfth_tfs), ( 0x00000800 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Eighteenth,
{ "Eighteenth", "atsvc.atsvc_DaysOfMonth.Eighteenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Eighteenth_tfs), ( 0x00020000 ), "", HFILL }},
{ &hf_atsvc_atsvc_Flags_JOB_RUNS_TODAY,
{ "Job Runs Today", "atsvc.atsvc_Flags.JOB_RUNS_TODAY", FT_BOOLEAN, 8, TFS(&atsvc_Flags_JOB_RUNS_TODAY_tfs), ( 0x04 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobEnum_total_entries,
{ "Total Entries", "atsvc.atsvc_JobEnum.total_entries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_enum_ctr_first_entry,
{ "First Entry", "atsvc.atsvc_enum_ctr.first_entry", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_JobEnumInfo_job_time,
{ "Job Time", "atsvc.atsvc_JobEnumInfo.job_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Thirtyfirst,
{ "Thirtyfirst", "atsvc.atsvc_DaysOfMonth.Thirtyfirst", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Thirtyfirst_tfs), ( 0x40000000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Third,
{ "Third", "atsvc.atsvc_DaysOfMonth.Third", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Third_tfs), ( 0x00000004 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobEnum_preferred_max_len,
{ "Preferred Max Len", "atsvc.atsvc_JobEnum.preferred_max_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_JobEnumInfo_days_of_month,
{ "Days Of Month", "atsvc.atsvc_JobEnumInfo.days_of_month", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY,
{ "Daysofweek Thursday", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_THURSDAY", FT_BOOLEAN, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_THURSDAY_tfs), ( 0x08 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY,
{ "Daysofweek Friday", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_FRIDAY", FT_BOOLEAN, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_FRIDAY_tfs), ( 0x10 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentythird,
{ "Twentythird", "atsvc.atsvc_DaysOfMonth.Twentythird", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentythird_tfs), ( 0x00400000 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobInfo_job_time,
{ "Job Time", "atsvc.atsvc_JobInfo.job_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_status,
{ "NT Error", "atsvc.status", FT_UINT32, BASE_HEX, VALS(NT_errors), 0, "", HFILL }},
{ &hf_atsvc_atsvc_JobInfo_flags,
{ "Flags", "atsvc.atsvc_JobInfo.flags", FT_UINT8, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY,
{ "Daysofweek Saturday", "atsvc.atsvc_DaysOfWeek.DAYSOFWEEK_SATURDAY", FT_BOOLEAN, 8, TFS(&atsvc_DaysOfWeek_DAYSOFWEEK_SATURDAY_tfs), ( 0x20 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Sixth,
{ "Sixth", "atsvc.atsvc_DaysOfMonth.Sixth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Sixth_tfs), ( 0x00000020 ), "", HFILL }},
{ &hf_atsvc_job_id,
{ "Job Id", "atsvc.job_id", FT_UINT32, BASE_DEC, NULL, 0, "Identifier of the scheduled job", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentysixth,
{ "Twentysixth", "atsvc.atsvc_DaysOfMonth.Twentysixth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentysixth_tfs), ( 0x02000000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Fifth,
{ "Fifth", "atsvc.atsvc_DaysOfMonth.Fifth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Fifth_tfs), ( 0x00000010 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Fourth,
{ "Fourth", "atsvc.atsvc_DaysOfMonth.Fourth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Fourth_tfs), ( 0x00000008 ), "", HFILL }},
{ &hf_atsvc_job_info,
{ "JobInfo", "atcvs.job_info", FT_NONE, BASE_HEX, NULL, 0, "JobInfo structure", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Eleventh,
{ "Eleventh", "atsvc.atsvc_DaysOfMonth.Eleventh", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Eleventh_tfs), ( 0x00000400 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Sixteenth,
{ "Sixteenth", "atsvc.atsvc_DaysOfMonth.Sixteenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Sixteenth_tfs), ( 0x00008000 ), "", HFILL }},
{ &hf_atsvc_atsvc_Flags_JOB_ADD_CURRENT_DATE,
{ "Job Add Current Date", "atsvc.atsvc_Flags.JOB_ADD_CURRENT_DATE", FT_BOOLEAN, 8, TFS(&atsvc_Flags_JOB_ADD_CURRENT_DATE_tfs), ( 0x08 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobEnum_ctr,
{ "Ctr", "atsvc.atsvc_JobEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentyfifth,
{ "Twentyfifth", "atsvc.atsvc_DaysOfMonth.Twentyfifth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentyfifth_tfs), ( 0x01000000 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobInfo_days_of_month,
{ "Days Of Month", "atsvc.atsvc_JobInfo.days_of_month", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentysecond,
{ "Twentysecond", "atsvc.atsvc_DaysOfMonth.Twentysecond", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentysecond_tfs), ( 0x00200000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_First,
{ "First", "atsvc.atsvc_DaysOfMonth.First", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_First_tfs), ( 0x00000001 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobEnumInfo_command,
{ "Command", "atsvc.atsvc_JobEnumInfo.command", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Thirtieth,
{ "Thirtieth", "atsvc.atsvc_DaysOfMonth.Thirtieth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Thirtieth_tfs), ( 0x20000000 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Eight,
{ "Eight", "atsvc.atsvc_DaysOfMonth.Eight", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Eight_tfs), ( 0x00000080 ), "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Twentyfirst,
{ "Twentyfirst", "atsvc.atsvc_DaysOfMonth.Twentyfirst", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Twentyfirst_tfs), ( 0x00100000 ), "", HFILL }},
{ &hf_atsvc_atsvc_Flags_JOB_EXEC_ERROR,
{ "Job Exec Error", "atsvc.atsvc_Flags.JOB_EXEC_ERROR", FT_BOOLEAN, 8, TFS(&atsvc_Flags_JOB_EXEC_ERROR_tfs), ( 0x02 ), "", HFILL }},
{ &hf_atsvc_atsvc_JobInfo_days_of_week,
{ "Days Of Week", "atsvc.atsvc_JobInfo.days_of_week", FT_UINT8, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_JobDel_min_job_id,
{ "Min Job Id", "atsvc.atsvc_JobDel.min_job_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_JobEnumInfo_days_of_week,
{ "Days Of Week", "atsvc.atsvc_JobEnumInfo.days_of_week", FT_UINT8, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_JobEnumInfo_flags,
{ "Flags", "atsvc.atsvc_JobEnumInfo.flags", FT_UINT8, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_JobDel_max_job_id,
{ "Max Job Id", "atsvc.atsvc_JobDel.max_job_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
{ &hf_atsvc_atsvc_DaysOfMonth_Thitteenth,
{ "Thitteenth", "atsvc.atsvc_DaysOfMonth.Thitteenth", FT_BOOLEAN, 32, TFS(&atsvc_DaysOfMonth_Thitteenth_tfs), ( 0x00001000 ), "", HFILL }},
};
static gint *ett[] = {
&ett_dcerpc_atsvc,
&ett_atsvc_atsvc_DaysOfMonth,
&ett_atsvc_atsvc_Flags,
&ett_atsvc_atsvc_DaysOfWeek,
&ett_atsvc_atsvc_JobInfo,
&ett_atsvc_atsvc_JobEnumInfo,
&ett_atsvc_atsvc_enum_ctr,
};
proto_dcerpc_atsvc = proto_register_protocol("Microsoft AT-Scheduler Service", "ATSVC", "atsvc");
proto_register_field_array(proto_dcerpc_atsvc, hf, array_length (hf));
proto_register_subtree_array(ett, array_length(ett));
}
void proto_reg_handoff_dcerpc_atsvc(void)
{
dcerpc_init_uuid(proto_dcerpc_atsvc, ett_dcerpc_atsvc,
&uuid_dcerpc_atsvc, ver_dcerpc_atsvc,
atsvc_dissectors, hf_atsvc_opnum);
}