aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-wkssvc.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-09-25 08:50:21 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-09-25 08:50:21 +0000
commite2aea53993703102ead96128277a69fd0e077511 (patch)
tree529aebc3c2c0178a8814f501052efbc4e3a90faf /epan/dissectors/packet-dcerpc-wkssvc.c
parent66c44bb699dfdb9532bc2f79f1b42e12d96c7093 (diff)
update the idl for wkssvc and generate the dissector by pidl
svn path=/trunk/; revision=19321
Diffstat (limited to 'epan/dissectors/packet-dcerpc-wkssvc.c')
-rw-r--r--epan/dissectors/packet-dcerpc-wkssvc.c5360
1 files changed, 4039 insertions, 1321 deletions
diff --git a/epan/dissectors/packet-dcerpc-wkssvc.c b/epan/dissectors/packet-dcerpc-wkssvc.c
index f3c72f2c5a..c8b861bab3 100644
--- a/epan/dissectors/packet-dcerpc-wkssvc.c
+++ b/epan/dissectors/packet-dcerpc-wkssvc.c
@@ -1,1796 +1,4514 @@
-/* packet-dcerpc-wkssvc.c
- * Routines for SMB \\PIPE\\wkssvc packet disassembly
- * Copyright 2001, Tim Potter <tpot@samba.org>
- * Copyright 2003, Richard Sharpe <rsharpe@richardsharpe.com>
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
+/* DO NOT EDIT
+ This filter was automatically generated
+ from wkssvc.idl and wkssvc.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
#include <glib.h>
+#include <string.h>
#include <epan/packet.h>
+
#include "packet-dcerpc.h"
-#include "packet-dcerpc-wkssvc.h"
#include "packet-dcerpc-nt.h"
#include "packet-windows-common.h"
+#include "packet-dcerpc-wkssvc.h"
-static int proto_dcerpc_wkssvc = -1;
-static int hf_wkssvc_opnum = -1;
-static int hf_wkssvc_server = -1;
-static int hf_wkssvc_info_level = -1;
-static int hf_wkssvc_platform_id = -1;
-static int hf_wkssvc_net_group = -1;
-static int hf_wkssvc_ver_major = -1;
-static int hf_wkssvc_ver_minor = -1;
-static int hf_wkssvc_lan_root = -1;
-static int hf_wkssvc_rc = -1;
-static int hf_wkssvc_logged_on_users = -1;
-static int hf_wkssvc_pref_max = -1;
-static int hf_wkssvc_enum_handle = -1;
-static int hf_wkssvc_junk = -1;
-static int hf_wkssvc_user_name = -1;
-static int hf_wkssvc_num_entries = -1;
-static int hf_wkssvc_logon_domain = -1;
-static int hf_wkssvc_other_domains = -1;
-static int hf_wkssvc_logon_server = -1;
-static int hf_wkssvc_entries_read = -1;
-static int hf_wkssvc_total_entries = -1;
-static int hf_wkssvc_char_wait = -1;
-static int hf_wkssvc_collection_time = -1;
-static int hf_wkssvc_maximum_collection_count = -1;
-static int hf_wkssvc_keep_conn = -1;
-static int hf_wkssvc_max_cmds = -1;
-static int hf_wkssvc_sess_timeout = -1;
-static int hf_wkssvc_siz_char_buf = -1;
-static int hf_wkssvc_max_threads = -1;
-static int hf_wkssvc_lock_quota = -1;
-static int hf_wkssvc_lock_increment = -1;
-static int hf_wkssvc_lock_maximum = -1;
-static int hf_wkssvc_pipe_increment = -1;
-static int hf_wkssvc_pipe_maximum = -1;
-static int hf_wkssvc_cache_file_timeout = -1;
-static int hf_wkssvc_dormant_file_limit = -1;
-static int hf_wkssvc_read_ahead_throughput = -1;
-static int hf_wkssvc_num_mailslot_buffers = -1;
-static int hf_wkssvc_num_srv_announce_buffers = -1;
-static int hf_wkssvc_max_illegal_datagram_events = -1;
-static int hf_wkssvc_illegal_datagram_event_reset_frequency = -1;
-static int hf_wkssvc_log_election_packets = -1;
-static int hf_wkssvc_use_opportunistic_locking = -1;
-static int hf_wkssvc_use_unlock_behind = -1;
-static int hf_wkssvc_use_close_behind = -1;
-static int hf_wkssvc_buf_named_pipes = -1;
-static int hf_wkssvc_use_lock_read_unlock = -1;
-static int hf_wkssvc_utilize_nt_caching = -1;
-static int hf_wkssvc_use_raw_read = -1;
-static int hf_wkssvc_use_raw_write = -1;
-static int hf_wkssvc_use_write_raw_data = -1;
-static int hf_wkssvc_use_encryption = -1;
-static int hf_wkssvc_buf_files_deny_write = -1;
-static int hf_wkssvc_buf_read_only_files = -1;
-static int hf_wkssvc_force_core_create_mode = -1;
-static int hf_wkssvc_use_512_byte_max_transfer = -1;
-static int hf_wkssvc_parm_err = -1;
-static int hf_wkssvc_errlog_sz = -1;
-static int hf_wkssvc_print_buf_time = -1;
-static int hf_wkssvc_wrk_heuristics = -1;
-static int hf_wkssvc_quality_of_service = -1;
-static int hf_wkssvc_number_of_vcs = -1;
-static int hf_wkssvc_transport_name = -1;
-static int hf_wkssvc_transport_address = -1;
-static int hf_wkssvc_wan_ish = -1;
-static int hf_wkssvc_domain_to_join = -1;
-static int hf_wkssvc_ou_for_computer_account = -1;
-static int hf_wkssvc_account_used_for_join = -1;
-static int hf_wkssvc_encrypted_password = -1;
-static int hf_wkssvc_join_flags = -1;
-static int hf_wkssvc_unjoin_flags = -1;
-static int hf_wkssvc_rename_flags = -1;
-static int hf_wkssvc_join_options_join_type = -1;
-static int hf_wkssvc_join_options_acct_create = -1;
-static int hf_wkssvc_unjoin_options_acct_delete = -1;
-static int hf_wkssvc_join_options_win9x_upgrade = -1;
-static int hf_wkssvc_join_options_domain_join_if_joined = -1;
-static int hf_wkssvc_join_options_join_unsecure = -1;
-static int hf_wkssvc_join_options_machine_pwd_passed = -1;
-static int hf_wkssvc_join_options_defer_spn_set = -1;
-static int hf_wkssvc_account_used_for_unjoin = -1;
-static int hf_wkssvc_alternate_name = -1;
-static int hf_wkssvc_account_used_for_alternate_name = -1;
-static int hf_wkssvc_reserved = -1;
-
+/* Ett declarations */
static gint ett_dcerpc_wkssvc = -1;
-static gint ett_dcerpc_wkssvc_join_flags = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo100 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo101 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo102 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo502 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1010 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1011 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1012 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1013 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1018 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1023 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1027 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo1033 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaInfo = -1;
+static gint ett_wkssvc_USER_INFO_0 = -1;
+static gint ett_wkssvc_USER_INFO_0_CONTAINER = -1;
+static gint ett_wkssvc_USER_INFO_1 = -1;
+static gint ett_wkssvc_USER_INFO_1_CONTAINER = -1;
+static gint ett_wkssvc_WKS_USER_ENUM_UNION = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaTransportInfo0 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaTransportCtr0 = -1;
+static gint ett_wkssvc_wkssvc_NetWkstaTransportCtr = -1;
+static gint ett_wkssvc_wkssvc_PasswordBuffer = -1;
+static gint ett_wkssvc_wkssvc_joinflags = -1;
+static gint ett_wkssvc_wkssvc_renameflags = -1;
+
+
+/* Header field declarations */
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_raw_read = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaEnumUsers_entriesread = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_dgram_event_reset_freq = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportCtr0_count = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_pipe_increment = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info502 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaGetInfo_info = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_log_election_packets = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo102_lan_root = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_char_wait = -1;
+static gint hf_wkssvc_USER_INFO_0_user = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_buf_files_deny_write = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_force_core_create_mode = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1013_keep_connection = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1011_collection_time = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo101_platform_id = -1;
+static gint hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_EncryptedPassword = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = -1;
+static gint hf_wkssvc_wkssvc_NetrAddAlternateComputerName_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo102_logged_on_users = -1;
+static gint hf_wkssvc_wkssvc_NetrUnjoinDomain2_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo102_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportInfo0_vc_count = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_read_ahead_throughput = -1;
+static gint hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_Account = -1;
+static gint hf_wkssvc_wkssvc_NetrAddAlternateComputerName_NewAlternateMachineName = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo100_version_minor = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_num_mailslot_buffers = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo102_domain_name = -1;
+static gint hf_wkssvc_WKS_USER_ENUM_UNION_user0 = -1;
+static gint hf_wkssvc_WKS_USER_ENUM_UNION_user1 = -1;
+static gint hf_wkssvc_USER_INFO_1_user_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_maximum_collection_count = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaEnumUsers_prefmaxlen = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaEnumUsers_level = -1;
+static gint hf_wkssvc_USER_INFO_1_other_domains = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_TYPE = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED = -1;
+static gint hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_encryption = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaEnumUsers_totalentries = -1;
+static gint hf_wkssvc_wkssvc_NetrAddAlternateComputerName_EncryptedPassword = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportInfo0_quality_of_service = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo100_platform_id = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportEnum_ctr = -1;
+static gint hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetrJoinDomain2_admin_account = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaGetInfo_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaSetInfo_level = -1;
+static gint hf_wkssvc_wkssvc_renameflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DEFER_SPN = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1023_size_char_buf = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1010 = -1;
+static gint hf_wkssvc_platform_id = -1;
+static gint hf_wkssvc_wkssvc_NetrJoinDomain2_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1011 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1012 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_lock_maximum = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1013 = -1;
+static gint hf_wkssvc_USER_INFO_0_CONTAINER_user0 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo101_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1018 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_buf_read_only_files = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo101_version_minor = -1;
+static gint hf_wkssvc_wkssvc_NetrJoinDomain2_domain_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo101_lan_root = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo101_domain_name = -1;
+static gint hf_wkssvc_opnum = -1;
+static gint hf_wkssvc_wkssvc_NetrUnjoinDomain2_account = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_dormant_file_limit = -1;
+static gint hf_wkssvc_USER_INFO_1_CONTAINER_user1 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_unlock_behind = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaEnumUsers_resumehandle = -1;
+static gint hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_EncryptedPassword = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_pipe_maximum = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_cache_file_timeout = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportEnum_level = -1;
+static gint hf_wkssvc_wkssvc_NetrUnjoinDomain2_encrypted_password = -1;
+static gint hf_wkssvc_USER_INFO_1_CONTAINER_entries_read = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1023 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaSetInfo_parm_error = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_raw_write = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info100 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info101 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info102 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1027 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_512_byte_max_transfer = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1018_session_timeout = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1033_max_threads = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportInfo0_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo100_version_major = -1;
+static gint hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_NewMachineName = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo100_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaEnumUsers_users = -1;
+static gint hf_wkssvc_wkssvc_NetrAddAlternateComputerName_Account = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo102_version_minor = -1;
+static gint hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportEnum_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_max_commands = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_utilize_nt_caching = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaEnumUsers_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo100_domain_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_max_threads = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_size_char_buf = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo_info1033 = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaSetInfo_info = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1012_maximum_collection_count = -1;
+static gint hf_wkssvc_USER_INFO_1_logon_domain = -1;
+static gint hf_wkssvc_werror = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_num_srv_announce_buffers = -1;
+static gint hf_wkssvc_wkssvc_NetrUnjoinDomain2_unjoin_flags = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_close_behind = -1;
+static gint hf_wkssvc_wkssvc_NetrJoinDomain2_encrypted_password = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo101_version_major = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaSetInfo_server_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_lock_read_unlock = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaGetInfo_level = -1;
+static gint hf_wkssvc_wkssvc_NetrJoinDomain2_join_flags = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1010_char_wait = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_lock_increment = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_UNSECURE = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo1027_errorlog_sz = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportCtr_ctr0 = -1;
+static gint hf_wkssvc_wkssvc_NetrJoinDomain2_account_name = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportInfo0_wan_link = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_keep_connection = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportEnum_resume_handle = -1;
+static gint hf_wkssvc_wkssvc_NetrAddAlternateComputerName_Reserved = -1;
+static gint hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_RenameOptions = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_write_raw_data = -1;
+static gint hf_wkssvc_USER_INFO_1_logon_server = -1;
+static gint hf_wkssvc_wkssvc_PasswordBuffer_data = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportEnum_max_buffer = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_max_illegal_dgram_events = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportEnum_totalentries = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_use_opportunistic_locking = -1;
+static gint hf_wkssvc_USER_INFO_0_CONTAINER_entries_read = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo102_version_major = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo102_platform_id = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_lock_quota = -1;
+static gint hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_Account = -1;
+static gint hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_session_timeout = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportInfo0_address = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaTransportCtr0_array = -1;
+static gint hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_Reserved = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_buf_named_pipes = -1;
+static gint hf_wkssvc_wkssvc_NetWkstaInfo502_collection_time = -1;
+
+static gint proto_dcerpc_wkssvc = -1;
+/* Version information */
static e_uuid_t uuid_dcerpc_wkssvc = {
- 0x6bffd098, 0xa112, 0x3610,
- { 0x98, 0x33, 0x46, 0xc3, 0xf8, 0x7e, 0x34, 0x5a }
+ 0x6bffd098, 0xa112, 0x3610,
+ { 0x98, 0x33, 0x46, 0xc3, 0xf8, 0x7e, 0x34, 0x5a }
};
+static guint16 ver_dcerpc_wkssvc = 1;
+
+static int wkssvc_dissect_element_NetWkstaInfo100_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo100_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo100_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo100_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo100_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo100_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo100_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_lan_root(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo101_lan_root_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_lan_root(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_lan_root_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo102_logged_on_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_char_wait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_collection_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_maximum_collection_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_keep_connection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_max_commands(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_session_timeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_size_char_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_max_threads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_lock_quota(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_lock_increment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_lock_maximum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_pipe_increment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_pipe_maximum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_cache_file_timeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_dormant_file_limit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_read_ahead_throughput(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_num_mailslot_buffers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_num_srv_announce_buffers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_max_illegal_dgram_events(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_dgram_event_reset_freq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_log_election_packets(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_opportunistic_locking(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_unlock_behind(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_close_behind(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_buf_named_pipes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_lock_read_unlock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_utilize_nt_caching(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_raw_read(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_raw_write(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_write_raw_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_encryption(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_buf_files_deny_write(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_buf_read_only_files(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_force_core_create_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo502_use_512_byte_max_transfer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1010_char_wait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1011_collection_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1012_maximum_collection_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1013_keep_connection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1018_session_timeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1023_size_char_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1027_errorlog_sz(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo1033_max_threads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info100_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info101_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info102_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1010(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1010_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1011(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1011_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1012(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1012_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1013(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1013_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1018(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1018_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1023(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1023_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1027(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1027_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1033(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaInfo_info1033_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_0_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_0_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_0_CONTAINER_entries_read(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_user_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_user_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_logon_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_logon_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_other_domains(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_other_domains_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_logon_server(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_logon_server_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_CONTAINER_entries_read(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_WKS_USER_ENUM_UNION_user0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_WKS_USER_ENUM_UNION_user0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_WKS_USER_ENUM_UNION_user1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_WKS_USER_ENUM_UNION_user1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportInfo0_quality_of_service(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportInfo0_vc_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportInfo0_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportInfo0_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportInfo0_address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportInfo0_address_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportInfo0_wan_link(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_PasswordBuffer_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_PasswordBuffer_data_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DEFER_SPN_tfs = {
+ "Defer setting of servicePrincipalName and dNSHostName attributes on the computer object until a rename operation",
+ "Set servicePrincipalName and dNSHostName attributes on the computer object",
+};
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED_tfs = {
+ "Set the machine password after domain join to passed password",
+ "Do not set the machine password after domain join to passed password",
+};
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_UNSECURE_tfs = {
+ "Performs an unsecured join",
+ "Perform a secured join",
+};
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED_tfs = {
+ "Allow a join to a new domain even if the computer is already joined to a domain",
+ "Do not allow join to a new domain if the computer is already joined to a domain",
+};
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE_tfs = {
+ "The join operation is occuring as part of an upgrade of Windows 9x",
+ "The join operation is not part of a Windows 9x upgrade",
+};
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE_tfs = {
+ "Delete the account when a domain is left",
+ "Do not delete the account when a domain is left",
+};
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE_tfs = {
+ "Create the account on the domain",
+ "Do not create the account",
+};
+static const true_false_string wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_TYPE_tfs = {
+ "Join the computer to a domain",
+ "Join the computer to a workgroup",
+};
+static const true_false_string wkssvc_renameflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE_tfs = {
+ "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE is SET",
+ "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE is NOT SET",
+};
+static int wkssvc_dissect_element_NetWkstaGetInfo_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaGetInfo_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaGetInfo_info_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaSetInfo_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaSetInfo_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaSetInfo_info_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_users_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_prefmaxlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_entriesread(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_entriesread_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_totalentries_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_resumehandle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaEnumUsers_resumehandle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_ctr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetWkstaTransportEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_account_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_account_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_admin_account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_admin_account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_encrypted_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_encrypted_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrJoinDomain2_join_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrUnjoinDomain2_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrUnjoinDomain2_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrUnjoinDomain2_account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrUnjoinDomain2_account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrUnjoinDomain2_encrypted_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrUnjoinDomain2_encrypted_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrUnjoinDomain2_unjoin_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_NewMachineName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_NewMachineName_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_Account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_Account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_EncryptedPassword(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_EncryptedPassword_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRenameMachineInDomain2_RenameOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_NewAlternateMachineName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_NewAlternateMachineName_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_Account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_Account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_EncryptedPassword(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_EncryptedPassword_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrAddAlternateComputerName_Reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_Account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_Account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_EncryptedPassword(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_EncryptedPassword_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+static int wkssvc_dissect_element_NetrRemoveAlternateComputerName_Reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
+/* Bug in pidl. Can not handle these dependencies properly yet */
+static int
+srvsvc_dissect_struct_PlatformId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ offset = srvsvc_dissect_enum_PlatformId(tvb,offset,pinfo,tree,drep,hf_wkssvc_platform_id,0);
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: srvsvc_PlatformId platform_id; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *server_name; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *domain_name; */
+/* IDL: uint32 version_major; */
+/* IDL: uint32 version_minor; */
+/* IDL: } wkssvc_NetWkstaInfo100; */
static int
-wkssvc_dissect_ENUM_HANDLE(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo100_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
+ offset = srvsvc_dissect_struct_PlatformId(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo100_platform_id,0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_enum_handle, 0);
- return offset;
+ return offset;
+}
+static int
+wkssvc_dissect_element_NetWkstaInfo100_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo100_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo100_server_name);
+
+ return offset;
}
-static guint16 ver_dcerpc_wkssvc = 1;
+static int
+wkssvc_dissect_element_NetWkstaInfo100_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo100_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo100_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo100_domain_name_, NDR_POINTER_UNIQUE, "Pointer to Domain Name (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo100_domain_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo100_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo100_domain_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo100_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo100_version_major,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo100_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo100_version_minor,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo100);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo100_platform_id(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo100_server_name(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo100_domain_name(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo100_version_major(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo100_version_minor(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: srvsvc_PlatformId platform_id; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *server_name; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *domain_name; */
+/* IDL: uint32 version_major; */
+/* IDL: uint32 version_minor; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *lan_root; */
+/* IDL: } wkssvc_NetWkstaInfo101; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo101_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = srvsvc_dissect_struct_PlatformId(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo101_platform_id,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo101_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo101_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo101_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo101_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo101_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo101_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo101_domain_name_, NDR_POINTER_UNIQUE, "Pointer to Domain Name (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo101_domain_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo101_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo101_domain_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo101_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo101_version_major,NULL);
+
+ return offset;
+}
-/*
- * IDL typedef struct {
- * IDL long platform_id;
- * IDL [string] [unique] wchar_t *server;
- * IDL [string] [unique] wchar_t *lan_grp;
- * IDL long ver_major;
- * IDL long ver_minor;
- * IDL } WKS_INFO_100;
- */
static int
-wkssvc_dissect_WKS_INFO_100(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo101_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_platform_id, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo101_version_minor,NULL);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server", hf_wkssvc_server, 0);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Net Group", hf_wkssvc_net_group, 0);
+static int
+wkssvc_dissect_element_NetWkstaInfo101_lan_root(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo101_lan_root_, NDR_POINTER_UNIQUE, "Pointer to Lan Root (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo101_lan_root);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_ver_major, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_ver_minor, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo101_lan_root_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo101_lan_root, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL long platform_id;
- * IDL [string] [unique] wchar_t *server;
- * IDL [string] [unique] wchar_t *lan_grp;
- * IDL long ver_major;
- * IDL long ver_minor;
- * IDL [string] [unique] wchar_t *lan_root;
- * IDL } WKS_INFO_101;
- */
+int
+wkssvc_dissect_struct_NetWkstaInfo101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo101);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo101_platform_id(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo101_server_name(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo101_domain_name(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo101_version_major(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo101_version_minor(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo101_lan_root(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: srvsvc_PlatformId platform_id; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *server_name; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *domain_name; */
+/* IDL: uint32 version_major; */
+/* IDL: uint32 version_minor; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *lan_root; */
+/* IDL: uint32 logged_on_users; */
+/* IDL: } wkssvc_NetWkstaInfo102; */
+
static int
-wkssvc_dissect_WKS_INFO_101(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo102_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_platform_id, NULL);
+ offset = srvsvc_dissect_struct_PlatformId(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo102_platform_id,0);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server", hf_wkssvc_server, 0);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Net Group", hf_wkssvc_net_group, 0);
+static int
+wkssvc_dissect_element_NetWkstaInfo102_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo102_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo102_server_name);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_ver_major, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_ver_minor, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo102_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Lan Root", hf_wkssvc_lan_root, 0);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo102_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL long platform_id;
- * IDL [string] [unique] wchar_t *server;
- * IDL [string] [unique] wchar_t *lan_grp;
- * IDL long ver_major;
- * IDL long ver_minor;
- * IDL [string] [unique] wchar_t *lan_root;
- * IDL long logged_on_users;
- * IDL } WKS_INFO_102;
- */
static int
-wkssvc_dissect_WKS_INFO_102(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo102_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_platform_id, NULL);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo102_domain_name_, NDR_POINTER_UNIQUE, "Pointer to Domain Name (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo102_domain_name);
+
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server", hf_wkssvc_server, 0);
+static int
+wkssvc_dissect_element_NetWkstaInfo102_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Net Group", hf_wkssvc_net_group, 0);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo102_domain_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_ver_major, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_ver_minor, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo102_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo102_version_major,NULL);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Lan Root", hf_wkssvc_lan_root, 0);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_logged_on_users, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo102_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo102_version_minor,NULL);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL long wki502_sess_timeout;
- * IDL } WKS_INFO_502;
- */
+
static int
-wkssvc_dissect_WKS_INFO_502(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo102_lan_root(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_char_wait, NULL);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo102_lan_root_, NDR_POINTER_UNIQUE, "Pointer to Lan Root (uint16)",hf_wkssvc_wkssvc_NetWkstaInfo102_lan_root);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_collection_time, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_maximum_collection_count, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo102_lan_root_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_keep_conn, NULL);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaInfo102_lan_root, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_max_cmds, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_sess_timeout, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo102_logged_on_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo102_logged_on_users,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_siz_char_buf, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_max_threads, NULL);
+int
+wkssvc_dissect_struct_NetWkstaInfo102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_lock_quota, NULL);
+ ALIGN_TO_4_BYTES;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_lock_increment, NULL);
+ old_offset = offset;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_lock_maximum, NULL);
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree = proto_item_add_subtree(item, ett_wkssvc_wkssvc_NetWkstaInfo102);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo102_platform_id(tvb, offset, pinfo, tree, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_pipe_increment, NULL);
+ offset = wkssvc_dissect_element_NetWkstaInfo102_server_name(tvb, offset, pinfo, tree, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_pipe_maximum, NULL);
+ offset = wkssvc_dissect_element_NetWkstaInfo102_domain_name(tvb, offset, pinfo, tree, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_cache_file_timeout, NULL);
+ offset = wkssvc_dissect_element_NetWkstaInfo102_version_major(tvb, offset, pinfo, tree, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_dormant_file_limit, NULL);
+ offset = wkssvc_dissect_element_NetWkstaInfo102_version_minor(tvb, offset, pinfo, tree, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_read_ahead_throughput, NULL);
+ offset = wkssvc_dissect_element_NetWkstaInfo102_lan_root(tvb, offset, pinfo, tree, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_num_mailslot_buffers, NULL);
+ offset = wkssvc_dissect_element_NetWkstaInfo102_logged_on_users(tvb, offset, pinfo, tree, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_num_srv_announce_buffers, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_max_illegal_datagram_events, NULL);
+ proto_item_set_len(item, offset-old_offset);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_illegal_datagram_event_reset_frequency,
- NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_log_election_packets, NULL);
+/* IDL: typedef struct { */
+/* IDL: uint32 char_wait; */
+/* IDL: uint32 collection_time; */
+/* IDL: uint32 maximum_collection_count; */
+/* IDL: uint32 keep_connection; */
+/* IDL: uint32 max_commands; */
+/* IDL: uint32 session_timeout; */
+/* IDL: uint32 size_char_buf; */
+/* IDL: uint32 max_threads; */
+/* IDL: uint32 lock_quota; */
+/* IDL: uint32 lock_increment; */
+/* IDL: uint32 lock_maximum; */
+/* IDL: uint32 pipe_increment; */
+/* IDL: uint32 pipe_maximum; */
+/* IDL: uint32 cache_file_timeout; */
+/* IDL: uint32 dormant_file_limit; */
+/* IDL: uint32 read_ahead_throughput; */
+/* IDL: uint32 num_mailslot_buffers; */
+/* IDL: uint32 num_srv_announce_buffers; */
+/* IDL: uint32 max_illegal_dgram_events; */
+/* IDL: uint32 dgram_event_reset_freq; */
+/* IDL: uint32 log_election_packets; */
+/* IDL: uint32 use_opportunistic_locking; */
+/* IDL: uint32 use_unlock_behind; */
+/* IDL: uint32 use_close_behind; */
+/* IDL: uint32 buf_named_pipes; */
+/* IDL: uint32 use_lock_read_unlock; */
+/* IDL: uint32 utilize_nt_caching; */
+/* IDL: uint32 use_raw_read; */
+/* IDL: uint32 use_raw_write; */
+/* IDL: uint32 use_write_raw_data; */
+/* IDL: uint32 use_encryption; */
+/* IDL: uint32 buf_files_deny_write; */
+/* IDL: uint32 buf_read_only_files; */
+/* IDL: uint32 force_core_create_mode; */
+/* IDL: uint32 use_512_byte_max_transfer; */
+/* IDL: } wkssvc_NetWkstaInfo502; */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_opportunistic_locking, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_char_wait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_char_wait,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_unlock_behind, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_close_behind, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_collection_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_collection_time,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_buf_named_pipes, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_lock_read_unlock, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_utilize_nt_caching, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_maximum_collection_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_maximum_collection_count,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_raw_read, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_raw_write, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_keep_connection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_keep_connection,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_write_raw_data, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_encryption, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_max_commands(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_max_commands,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_buf_files_deny_write, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_buf_read_only_files, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_session_timeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_session_timeout,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_force_core_create_mode, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_use_512_byte_max_transfer, NULL);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_size_char_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_size_char_buf,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1010(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_max_threads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_char_wait, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_max_threads,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1011(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_lock_quota(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_collection_time, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_lock_quota,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1012(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_lock_increment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_maximum_collection_count, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_lock_increment,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1013(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_lock_maximum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_keep_conn, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_lock_maximum,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1018(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_pipe_increment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_sess_timeout, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_pipe_increment,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1023(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_pipe_maximum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_siz_char_buf, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_pipe_maximum,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1027(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_cache_file_timeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_errlog_sz, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_cache_file_timeout,NULL);
return offset;
}
static int
-wkssvc_dissect_WKS_INFO_1033(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_dormant_file_limit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_max_threads, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_dormant_file_limit,NULL);
return offset;
}
-/*
- * IDL long NetWkstaGetInfo(
- * IDL [in] [string] [unique] wchar_t *ServerName,
- * IDL [in] long level,
- * IDL [out] [ref] WKS_INFO_UNION *wks
- * IDL );
- */
static int
-wkssvc_dissect_netwkstagetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo502_read_ahead_throughput(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- dcerpc_info *di;
- guint32 level;
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_read_ahead_throughput,NULL);
- di = pinfo->private_data;
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+static int
+wkssvc_dissect_element_NetWkstaInfo502_num_mailslot_buffers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_num_mailslot_buffers,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_info_level, &level);
+ return offset;
+}
- if (!check_col(pinfo->cinfo, COL_INFO))
- return offset;
+static int
+wkssvc_dissect_element_NetWkstaInfo502_num_srv_announce_buffers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_num_srv_announce_buffers,NULL);
- switch (level) {
- case 100:
- col_append_str(pinfo->cinfo, COL_INFO, ", WKS_INFO_100 level");
- break;
- case 101:
- col_append_str(pinfo->cinfo, COL_INFO, ", WKS_INFO_101 level");
- break;
- case 102:
- col_append_str(pinfo->cinfo, COL_INFO, ", WKS_INFO_102 level");
- break;
- case 502:
- col_append_str(pinfo->cinfo, COL_INFO, ", WKS_INFO_502 level");
- break;
- default:
- col_append_str(pinfo->cinfo, COL_INFO, ", WKS_INFO_xxx level");
- }
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_max_illegal_dgram_events(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_max_illegal_dgram_events,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_dgram_event_reset_freq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_dgram_event_reset_freq,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_log_election_packets(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_log_election_packets,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_opportunistic_locking(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_opportunistic_locking,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_unlock_behind(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_unlock_behind,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_close_behind(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_close_behind,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_buf_named_pipes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_buf_named_pipes,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_lock_read_unlock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_lock_read_unlock,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_utilize_nt_caching(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_utilize_nt_caching,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_raw_read(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_raw_read,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_raw_write(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_raw_write,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_write_raw_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_write_raw_data,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_encryption(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_encryption,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_buf_files_deny_write(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_buf_files_deny_write,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_buf_read_only_files(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_buf_read_only_files,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_force_core_create_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_force_core_create_mode,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo502_use_512_byte_max_transfer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo502_use_512_byte_max_transfer,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo502);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_char_wait(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_collection_time(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_maximum_collection_count(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_keep_connection(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_max_commands(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_session_timeout(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_size_char_buf(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_max_threads(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_lock_quota(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_lock_increment(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_lock_maximum(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_pipe_increment(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_pipe_maximum(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_cache_file_timeout(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_dormant_file_limit(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_read_ahead_throughput(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_num_mailslot_buffers(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_num_srv_announce_buffers(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_max_illegal_dgram_events(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_dgram_event_reset_freq(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_log_election_packets(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_opportunistic_locking(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_unlock_behind(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_close_behind(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_buf_named_pipes(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_lock_read_unlock(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_utilize_nt_caching(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_raw_read(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_raw_write(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_write_raw_data(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_encryption(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_buf_files_deny_write(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_buf_read_only_files(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_force_core_create_mode(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaInfo502_use_512_byte_max_transfer(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 char_wait; */
+/* IDL: } wkssvc_NetWkstaInfo1010; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1010_char_wait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1010_char_wait,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1010(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1010);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1010_char_wait(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 collection_time; */
+/* IDL: } wkssvc_NetWkstaInfo1011; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1011_collection_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1011_collection_time,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1011(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1011);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1011_collection_time(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 maximum_collection_count; */
+/* IDL: } wkssvc_NetWkstaInfo1012; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1012_maximum_collection_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1012_maximum_collection_count,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1012(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1012);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1012_maximum_collection_count(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 keep_connection; */
+/* IDL: } wkssvc_NetWkstaInfo1013; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1013_keep_connection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1013_keep_connection,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1013(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1013);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1013_keep_connection(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 session_timeout; */
+/* IDL: } wkssvc_NetWkstaInfo1018; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1018_session_timeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1018_session_timeout,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1018(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1018);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1018_session_timeout(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 size_char_buf; */
+/* IDL: } wkssvc_NetWkstaInfo1023; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1023_size_char_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1023_size_char_buf,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1023(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1023);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1023_size_char_buf(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 errorlog_sz; */
+/* IDL: } wkssvc_NetWkstaInfo1027; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1027_errorlog_sz(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1027_errorlog_sz,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1027(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1027);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1027_errorlog_sz(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 max_threads; */
+/* IDL: } wkssvc_NetWkstaInfo1033; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo1033_max_threads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaInfo1033_max_threads,NULL);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_NetWkstaInfo1033(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaInfo1033);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaInfo1033_max_threads(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef union { */
+/* IDL: [case(100)] [unique(1)] [case(100)] wkssvc_NetWkstaInfo100 *info100; */
+/* IDL: [case(101)] [unique(1)] [case(101)] wkssvc_NetWkstaInfo101 *info101; */
+/* IDL: [case(102)] [unique(1)] [case(102)] wkssvc_NetWkstaInfo102 *info102; */
+/* IDL: [case(502)] [unique(1)] [case(502)] wkssvc_NetWkstaInfo502 *info502; */
+/* IDL: [case(1010)] [unique(1)] [case(1010)] wkssvc_NetWkstaInfo1010 *info1010; */
+/* IDL: [case(1011)] [unique(1)] [case(1011)] wkssvc_NetWkstaInfo1011 *info1011; */
+/* IDL: [case(1012)] [unique(1)] [case(1012)] wkssvc_NetWkstaInfo1012 *info1012; */
+/* IDL: [case(1013)] [unique(1)] [case(1013)] wkssvc_NetWkstaInfo1013 *info1013; */
+/* IDL: [case(1018)] [unique(1)] [case(1018)] wkssvc_NetWkstaInfo1018 *info1018; */
+/* IDL: [case(1023)] [unique(1)] [case(1023)] wkssvc_NetWkstaInfo1023 *info1023; */
+/* IDL: [case(1027)] [unique(1)] [case(1027)] wkssvc_NetWkstaInfo1027 *info1027; */
+/* IDL: [case(1033)] [unique(1)] [case(1033)] wkssvc_NetWkstaInfo1033 *info1033; */
+/* IDL: [default] ; */
+/* IDL: } wkssvc_NetWkstaInfo; */
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info100_, NDR_POINTER_UNIQUE, "Pointer to Info100 (wkssvc_NetWkstaInfo100)",hf_wkssvc_wkssvc_NetWkstaInfo_info100);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info100_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo100(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info100,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info101_, NDR_POINTER_UNIQUE, "Pointer to Info101 (wkssvc_NetWkstaInfo101)",hf_wkssvc_wkssvc_NetWkstaInfo_info101);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info101_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo101(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info101,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info102_, NDR_POINTER_UNIQUE, "Pointer to Info102 (wkssvc_NetWkstaInfo102)",hf_wkssvc_wkssvc_NetWkstaInfo_info102);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info102_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo102(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info102,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info502_, NDR_POINTER_UNIQUE, "Pointer to Info502 (wkssvc_NetWkstaInfo502)",hf_wkssvc_wkssvc_NetWkstaInfo_info502);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo502(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info502,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1010(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1010_, NDR_POINTER_UNIQUE, "Pointer to Info1010 (wkssvc_NetWkstaInfo1010)",hf_wkssvc_wkssvc_NetWkstaInfo_info1010);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1010_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1010(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1010,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1011(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1011_, NDR_POINTER_UNIQUE, "Pointer to Info1011 (wkssvc_NetWkstaInfo1011)",hf_wkssvc_wkssvc_NetWkstaInfo_info1011);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1011_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1011(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1011,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1012(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1012_, NDR_POINTER_UNIQUE, "Pointer to Info1012 (wkssvc_NetWkstaInfo1012)",hf_wkssvc_wkssvc_NetWkstaInfo_info1012);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1012_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1012(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1012,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1013(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1013_, NDR_POINTER_UNIQUE, "Pointer to Info1013 (wkssvc_NetWkstaInfo1013)",hf_wkssvc_wkssvc_NetWkstaInfo_info1013);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1013_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1013(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1013,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1018(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1018_, NDR_POINTER_UNIQUE, "Pointer to Info1018 (wkssvc_NetWkstaInfo1018)",hf_wkssvc_wkssvc_NetWkstaInfo_info1018);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1018_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1018(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1018,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1023(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1023_, NDR_POINTER_UNIQUE, "Pointer to Info1023 (wkssvc_NetWkstaInfo1023)",hf_wkssvc_wkssvc_NetWkstaInfo_info1023);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1023_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1023(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1023,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1027(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1027_, NDR_POINTER_UNIQUE, "Pointer to Info1027 (wkssvc_NetWkstaInfo1027)",hf_wkssvc_wkssvc_NetWkstaInfo_info1027);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1027_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1027(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1027,0);
return offset;
+}
+static int
+wkssvc_dissect_element_NetWkstaInfo_info1033(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaInfo_info1033_, NDR_POINTER_UNIQUE, "Pointer to Info1033 (wkssvc_NetWkstaInfo1033)",hf_wkssvc_wkssvc_NetWkstaInfo_info1033);
+
+ return offset;
}
-/*
- * IDL typedef [switch_type(long)] union {
- * IDL [case(100)] [unique] WKS_INFO_100 *wks100;
- * IDL [case(101)] [unique] WKS_INFO_101 *wks101;
- * IDL [case(102)] [unique] WKS_INFO_102 *wks102;
- * IDL [case(502)] [unique] WKS_INFO_502 *wks502;
- * IDL [case(1010)] [unique] WKS_INFO_1010 *wks1010;
- * IDL [case(1011)] [unique] WKS_INFO_1011 *wks1011;
- * IDL [case(1012)] [unique] WKS_INFO_1012 *wks1012;
- * IDL [case(1013)] [unique] WKS_INFO_1013 *wks1013;
- * IDL [case(1018)] [unique] WKS_INFO_1018 *wks1018;
- * IDL [case(1023)] [unique] WKS_INFO_1023 *wks1023;
- * IDL [case(1027)] [unique] WKS_INFO_1027 *wks1027;
- * IDL [case(1033)] [unique] WKS_INFO_1033 *wks1033;
- * IDL } WKS_INFO_UNION;
- */
static int
-wkssvc_dissect_WKS_GETINFO_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaInfo_info1033_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
+ offset = wkssvc_dissect_struct_NetWkstaInfo1033(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaInfo_info1033,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetWkstaInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
guint32 level;
ALIGN_TO_4_BYTES;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_info_level, &level);
+ old_offset = offset;
+ if (parent_tree) {
+ item = proto_tree_add_text(parent_tree, tvb, offset, -1, "wkssvc_NetWkstaInfo");
+ tree = proto_item_add_subtree(item, ett_wkssvc_wkssvc_NetWkstaInfo);
+ }
- switch(level){
- case 100:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_100,
- NDR_POINTER_UNIQUE, "WKS_INFO_100:", -1);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level);
+ switch(level) {
+ case 100:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info100(tvb, offset, pinfo, tree, drep);
break;
- case 101:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_101,
- NDR_POINTER_UNIQUE, "WKS_INFO_101:", -1);
+ case 101:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info101(tvb, offset, pinfo, tree, drep);
break;
- case 102:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_102,
- NDR_POINTER_UNIQUE, "WKS_INFO_102:", -1);
+ case 102:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info102(tvb, offset, pinfo, tree, drep);
break;
- /* There is a 302 and 402 level, but I am too lazy today */
+ case 502:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info502(tvb, offset, pinfo, tree, drep);
+ break;
- case 502:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_502,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_502:", -1);
+ case 1010:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1010(tvb, offset, pinfo, tree, drep);
break;
- case 1010:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1010,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1010:", -1);
+ case 1011:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1011(tvb, offset, pinfo, tree, drep);
break;
- case 1011:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1011,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1011:", -1);
+ case 1012:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1012(tvb, offset, pinfo, tree, drep);
break;
- case 1012:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1012,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1012:", -1);
+ case 1013:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1013(tvb, offset, pinfo, tree, drep);
break;
- case 1013:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1013,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1013:", -1);
+ case 1018:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1018(tvb, offset, pinfo, tree, drep);
break;
- case 1018:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1018,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1018:", -1);
+ case 1023:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1023(tvb, offset, pinfo, tree, drep);
break;
- case 1023:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1023,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1023:", -1);
+ case 1027:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1027(tvb, offset, pinfo, tree, drep);
break;
- case 1027:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1027,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1027:", -1);
+ case 1033:
+ offset = wkssvc_dissect_element_NetWkstaInfo_info1033(tvb, offset, pinfo, tree, drep);
break;
- case 1033:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1033,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1033:", -1);
+ default:
break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+/* IDL: typedef struct { */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *user; */
+/* IDL: } USER_INFO_0; */
+
+static int
+wkssvc_dissect_element_USER_INFO_0_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_0_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_wkssvc_USER_INFO_0_user);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_USER_INFO_0_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_USER_INFO_0_user, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_USER_INFO_0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_USER_INFO_0);
+ }
+
+ offset = wkssvc_dissect_element_USER_INFO_0_user(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 entries_read; */
+/* IDL: [size_is(entries_read)] [unique(1)] USER_INFO_0 *user0; */
+/* IDL: } USER_INFO_0_CONTAINER; */
+
+static int
+wkssvc_dissect_element_USER_INFO_0_CONTAINER_entries_read(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_USER_INFO_0_CONTAINER_entries_read,NULL);
+
+ return offset;
+}
- /* case 1018:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_INFO_1018,
- NDR_POINTER_UNIQUE,
- "WKS_INFO_1018:", -1);
- break; */
+static int
+wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0_, NDR_POINTER_UNIQUE, "Pointer to User0 (USER_INFO_0)",hf_wkssvc_USER_INFO_0_CONTAINER_user0);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0__);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_USER_INFO_0(tvb,offset,pinfo,tree,drep,hf_wkssvc_USER_INFO_0_CONTAINER_user0,0);
+
+ return offset;
+}
+
+int
+wkssvc_dissect_struct_USER_INFO_0_CONTAINER(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_USER_INFO_0_CONTAINER);
}
+
+ offset = wkssvc_dissect_element_USER_INFO_0_CONTAINER_entries_read(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_USER_INFO_0_CONTAINER_user0(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *user_name; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *logon_domain; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *other_domains; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *logon_server; */
+/* IDL: } USER_INFO_1; */
+
+static int
+wkssvc_dissect_element_USER_INFO_1_user_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_1_user_name_, NDR_POINTER_UNIQUE, "Pointer to User Name (uint16)",hf_wkssvc_USER_INFO_1_user_name);
+ return offset;
}
-static int wkssvc_dissect_netwkstagetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo,
- proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_element_USER_INFO_1_user_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_GETINFO_UNION,
- NDR_POINTER_REF, "Server Info", -1);
+ char *data;
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_USER_INFO_1_user_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
-/*
- * IDL long NetWkstaSetInfo(
- * IDL [in] [string] [unique] wchar_t *ServerName,
- * IDL [in] long level,
- * IDL [in] [ref] WKS_INFO_UNION *wks,
- * IDL [out] long parm_err
- * IDL );
- */
-static int wkssvc_dissect_netwkstasetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo,
- proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_element_USER_INFO_1_logon_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_1_logon_domain_, NDR_POINTER_UNIQUE, "Pointer to Logon Domain (uint16)",hf_wkssvc_USER_INFO_1_logon_domain);
+
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_info_level, 0);
+static int
+wkssvc_dissect_element_USER_INFO_1_logon_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_WKS_GETINFO_UNION,
- NDR_POINTER_REF, "Server Info", -1);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_USER_INFO_1_logon_domain, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
+}
+
+static int
+wkssvc_dissect_element_USER_INFO_1_other_domains(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_1_other_domains_, NDR_POINTER_UNIQUE, "Pointer to Other Domains (uint16)",hf_wkssvc_USER_INFO_1_other_domains);
+ return offset;
}
-static int wkssvc_dissect_netwkstasetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo,
- proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_element_USER_INFO_1_other_domains_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_parm_err, 0);
+ char *data;
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_USER_INFO_1_other_domains, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
+}
+static int
+wkssvc_dissect_element_USER_INFO_1_logon_server(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_1_logon_server_, NDR_POINTER_UNIQUE, "Pointer to Logon Server (uint16)",hf_wkssvc_USER_INFO_1_logon_server);
+
+ return offset;
}
-/*
- * IDL typedef struct {
- * IDL [string] [unique] wchar_t *dev;
- * IDL } USER_INFO_0;
- */
static int
-wkssvc_dissect_USER_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_USER_INFO_1_logon_server_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "User Name",
- hf_wkssvc_user_name, 0);
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_USER_INFO_1_logon_server, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
+int
+wkssvc_dissect_struct_USER_INFO_1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_USER_INFO_1);
+ }
+
+ offset = wkssvc_dissect_element_USER_INFO_1_user_name(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_USER_INFO_1_logon_domain(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_USER_INFO_1_other_domains(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_USER_INFO_1_logon_server(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef struct { */
+/* IDL: uint32 entries_read; */
+/* IDL: [size_is(entries_read)] [unique(1)] USER_INFO_1 *user1; */
+/* IDL: } USER_INFO_1_CONTAINER; */
+
static int
-wkssvc_dissect_USER_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_USER_INFO_1_CONTAINER_entries_read(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_INFO_0);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_USER_INFO_1_CONTAINER_entries_read,NULL);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL long EntriesRead;
- * IDL [size_is(EntriesRead)] [unique] USER_INFO_0 *devs;
- * IDL } USER_INFO_0_CONTAINER;
- */
static int
-wkssvc_dissect_USER_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_num_entries, NULL);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1_, NDR_POINTER_UNIQUE, "Pointer to User1 (USER_INFO_1)",hf_wkssvc_USER_INFO_1_CONTAINER_user1);
+
+ return offset;
+}
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_INFO_0_array, NDR_POINTER_UNIQUE,
- "USER_INFO_0 array:", -1);
+static int
+wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1__);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL [string] [unique] wchar_t *user_name;
- * IDL [string] [unique] wchar_t *logon_domain;
- * IDL [string] [unique] wchar_t *other_domains;
- * IDL [string] [unique] wchar_t *logon_server;
- * IDL } USER_INFO_1;
- */
static int
-wkssvc_dissect_USER_INFO_1(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "User Name",
- hf_wkssvc_user_name, 0);
+ offset = wkssvc_dissect_struct_USER_INFO_1(tvb,offset,pinfo,tree,drep,hf_wkssvc_USER_INFO_1_CONTAINER_user1,0);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Logon Domain",
- hf_wkssvc_logon_domain, 0);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Other Domains",
- hf_wkssvc_other_domains, 0);
+int
+wkssvc_dissect_struct_USER_INFO_1_CONTAINER(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Logon Server",
- hf_wkssvc_logon_server, 0);
+ 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_wkssvc_USER_INFO_1_CONTAINER);
+ }
+
+ offset = wkssvc_dissect_element_USER_INFO_1_CONTAINER_entries_read(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_USER_INFO_1_CONTAINER_user1(tvb, offset, pinfo, tree, drep);
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef [switch_type(uint32)] union { */
+/* IDL: [case(0)] [unique(1)] [case(0)] USER_INFO_0_CONTAINER *user0; */
+/* IDL: [case(1)] [unique(1)] [case(1)] USER_INFO_1_CONTAINER *user1; */
+/* IDL: } WKS_USER_ENUM_UNION; */
+
+static int
+wkssvc_dissect_element_WKS_USER_ENUM_UNION_user0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_WKS_USER_ENUM_UNION_user0_, NDR_POINTER_UNIQUE, "Pointer to User0 (USER_INFO_0_CONTAINER)",hf_wkssvc_WKS_USER_ENUM_UNION_user0);
+
return offset;
}
+
static int
-wkssvc_dissect_USER_INFO_1_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_WKS_USER_ENUM_UNION_user0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_INFO_1);
+ offset = wkssvc_dissect_struct_USER_INFO_0_CONTAINER(tvb,offset,pinfo,tree,drep,hf_wkssvc_WKS_USER_ENUM_UNION_user0,0);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL long EntriesRead;
- * IDL [size_is(EntriesRead)] [unique] USER_INFO_1 *devs;
- * IDL } USER_INFO_1_CONTAINER;
- */
static int
-wkssvc_dissect_USER_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_WKS_USER_ENUM_UNION_user1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_num_entries, NULL);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_WKS_USER_ENUM_UNION_user1_, NDR_POINTER_UNIQUE, "Pointer to User1 (USER_INFO_1_CONTAINER)",hf_wkssvc_WKS_USER_ENUM_UNION_user1);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_INFO_1_array, NDR_POINTER_UNIQUE,
- "USER_INFO_1 array:", -1);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_WKS_USER_ENUM_UNION_user1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_USER_INFO_1_CONTAINER(tvb,offset,pinfo,tree,drep,hf_wkssvc_WKS_USER_ENUM_UNION_user1,0);
return offset;
}
-/*
- * IDL typedef [switch_type(long)] union {
- * IDL [case(0)] [unique] USER_INFO_0_CONTAINER *dev0;
- * IDL [case(1)] [unique] USER_INFO_1_CONTAINER *dev1;
- * IDL } CHARDEV_ENUM_UNION;
- */
static int
-wkssvc_dissect_USER_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_WKS_USER_ENUM_UNION(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
guint32 level;
- dcerpc_info *di;
-
- di = pinfo->private_data;
ALIGN_TO_4_BYTES;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_info_level, &level);
+ old_offset = offset;
+ if (parent_tree) {
+ item = proto_tree_add_text(parent_tree, tvb, offset, -1, "WKS_USER_ENUM_UNION");
+ tree = proto_item_add_subtree(item, ett_wkssvc_WKS_USER_ENUM_UNION);
+ }
- switch(level){
- case 0:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_INFO_0_CONTAINER,
- NDR_POINTER_UNIQUE, "USER_INFO_0_CONTAINER:", -1);
- if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ)
- col_append_str(pinfo->cinfo, COL_INFO, ", USER_INFO_0 level");
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level);
+ switch(level) {
+ case 0:
+ offset = wkssvc_dissect_element_WKS_USER_ENUM_UNION_user0(tvb, offset, pinfo, tree, drep);
break;
- case 1:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_INFO_1_CONTAINER,
- NDR_POINTER_UNIQUE, "USER_INFO_1_CONTAINER:", -1);
- if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ)
- col_append_str(pinfo->cinfo, COL_INFO, ", USER_INFO_1 level");
+
+ case 1:
+ offset = wkssvc_dissect_element_WKS_USER_ENUM_UNION_user1(tvb, offset, pinfo, tree, drep);
break;
}
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+/* IDL: typedef struct { */
+/* IDL: uint32 quality_of_service; */
+/* IDL: uint32 vc_count; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *name; */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *address; */
+/* IDL: uint32 wan_link; */
+/* IDL: } wkssvc_NetWkstaTransportInfo0; */
+
+static int
+wkssvc_dissect_element_NetWkstaTransportInfo0_quality_of_service(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportInfo0_quality_of_service,NULL);
return offset;
}
-/*
- * IDL long NetWkstaEnumUsers(
- * IDL [in] [string] [unique] wchar_t *ServerName,
- * IDL [in] long level,
- * IDL [in] [out] [ref] WKS_USER_ENUM_STRUCT *users,
- * IDL [in] long prefmaxlen,
- * IDL [out] long *entriesread,
- * IDL [out] long *totalentries,
- * IDL [in] [out] [ref] long *resumehandle
- * IDL );
- */
static int
-wkssvc_dissect_netwkstaenumusers_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaTransportInfo0_vc_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportInfo0_vc_count,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_info_level, 0);
+ return offset;
+}
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_ENUM_UNION,
- NDR_POINTER_REF, "User Info", -1);
- /* Seems to be junk here ... */
- /* offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_junk, 0);
+static int
+wkssvc_dissect_element_NetWkstaTransportInfo0_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportInfo0_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_wkssvc_wkssvc_NetWkstaTransportInfo0_name);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_ENUM_HANDLE,
- NDR_POINTER_UNIQUE, "Junk Handle", -1);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_junk, 0); */
+static int
+wkssvc_dissect_element_NetWkstaTransportInfo0_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_pref_max, 0);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaTransportInfo0_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_ENUM_HANDLE,
- NDR_POINTER_UNIQUE, "Enum Handle", -1);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportInfo0_address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportInfo0_address_, NDR_POINTER_UNIQUE, "Pointer to Address (uint16)",hf_wkssvc_wkssvc_NetWkstaTransportInfo0_address);
return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportInfo0_address_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaTransportInfo0_address, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+ return offset;
}
-static int wkssvc_dissect_netwkstaenumusers_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo,
- proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_element_NetWkstaTransportInfo0_wan_link(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- /* There seems to be an info level there first */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_info_level, 0);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportInfo0_wan_link,NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_USER_ENUM_UNION,
- NDR_POINTER_REF, "User Info", -1);
+ return offset;
+}
- /* Entries read seems to be in the enum array ... */
+int
+wkssvc_dissect_struct_NetWkstaTransportInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_total_entries, 0);
+ ALIGN_TO_4_BYTES;
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_ENUM_HANDLE,
- NDR_POINTER_UNIQUE, "Enum Handle", -1);
+ old_offset = offset;
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree = proto_item_add_subtree(item, ett_wkssvc_wkssvc_NetWkstaTransportInfo0);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaTransportInfo0_quality_of_service(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportInfo0_vc_count(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportInfo0_name(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportInfo0_address(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportInfo0_wan_link(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL long quality_of_service;
- * IDL long number_of_vcs;
- * IDL [string] [unique] wchar_t *transport_name;
- * IDL [string] [unique] wchar_t *transport_address;
- * IDL BOOL wan_ish;
- * IDL } TRANSPORT_INFO_0;
- */
+/* IDL: typedef struct { */
+/* IDL: uint32 count; */
+/* IDL: [size_is(count)] [unique(1)] wkssvc_NetWkstaTransportInfo0 *array; */
+/* IDL: } wkssvc_NetWkstaTransportCtr0; */
+
static int
-wkssvc_dissect_TRANSPORT_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaTransportCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_quality_of_service, 0);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportCtr0_count,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_number_of_vcs, 0);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Transport Name",
- hf_wkssvc_transport_name, 0);
+static int
+wkssvc_dissect_element_NetWkstaTransportCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportCtr0_array_, NDR_POINTER_UNIQUE, "Pointer to Array (wkssvc_NetWkstaTransportInfo0)",hf_wkssvc_wkssvc_NetWkstaTransportCtr0_array);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Transport Address",
- hf_wkssvc_transport_address, 0);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_wan_ish, 0);
+static int
+wkssvc_dissect_element_NetWkstaTransportCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportCtr0_array__);
return offset;
}
static int
-wkssvc_dissect_TRANSPORT_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaTransportCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_TRANSPORT_INFO_0);
+ offset = wkssvc_dissect_struct_NetWkstaTransportInfo0(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaTransportCtr0_array,0);
return offset;
}
-/*
- * IDL typedef struct {
- * IDL long EntriesRead;
- * IDL [size_is(EntriesRead)] [unique] TRANSPORT_INFO_0 *devs;
- * IDL } TRANSPORT_INFO_0_CONTAINER;
- */
+int
+wkssvc_dissect_struct_NetWkstaTransportCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_NetWkstaTransportCtr0);
+ }
+
+ offset = wkssvc_dissect_element_NetWkstaTransportCtr0_count(tvb, offset, pinfo, tree, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportCtr0_array(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+/* IDL: typedef union { */
+/* IDL: [case(0)] [unique(1)] [case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0; */
+/* IDL: [default] ; */
+/* IDL: } wkssvc_NetWkstaTransportCtr; */
+
static int
-wkssvc_dissect_TRANSPORT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_NetWkstaTransportCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_num_entries, NULL);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportCtr_ctr0_, NDR_POINTER_UNIQUE, "Pointer to Ctr0 (wkssvc_NetWkstaTransportCtr0)",hf_wkssvc_wkssvc_NetWkstaTransportCtr_ctr0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_TRANSPORT_INFO_0_array, NDR_POINTER_UNIQUE,
- "TRANSPORT_INFO_0 array:", -1);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_NetWkstaTransportCtr0(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetWkstaTransportCtr_ctr0,0);
return offset;
}
-/*
- * IDL typedef [switch_type(long)] union {
- * IDL [case(0)] [unique] TRANSPORT_INFO_0_CONTAINER *dev0;
- * IDL } TRANSPORT_ENUM_UNION;
- */
static int
-wkssvc_dissect_TRANSPORT_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_NetWkstaTransportCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
guint32 level;
ALIGN_TO_4_BYTES;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_info_level, &level);
+ old_offset = offset;
+ if (parent_tree) {
+ item = proto_tree_add_text(parent_tree, tvb, offset, -1, "wkssvc_NetWkstaTransportCtr");
+ tree = proto_item_add_subtree(item, ett_wkssvc_wkssvc_NetWkstaTransportCtr);
+ }
- switch(level){
- case 0:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_TRANSPORT_INFO_0_CONTAINER,
- NDR_POINTER_UNIQUE, "TRANSPORT_INFO_0_CONTAINER:", -1);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level);
+ switch(level) {
+ case 0:
+ offset = wkssvc_dissect_element_NetWkstaTransportCtr_ctr0(tvb, offset, pinfo, tree, drep);
break;
+ default:
+ break;
}
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+/* IDL: typedef struct { */
+/* IDL: uint8 data[524]; */
+/* IDL: } wkssvc_PasswordBuffer; */
+
+static int
+wkssvc_dissect_element_PasswordBuffer_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ int i;
+ for (i = 0; i < 524; i++)
+ offset = wkssvc_dissect_element_PasswordBuffer_data_(tvb, offset, pinfo, tree, drep);
return offset;
}
-/*
- * IDL long NetWkstaTransportEnum(
- * IDL [in] [string] [unique] wchar_t *ServerName,
- * IDL [in] long level,
- * IDL [in] [out] [ref] WKS_TRANSPORT_ENUM_STRUCT *users,
- * IDL [in] long prefmaxlen,
- * IDL [out] long *entriesread,
- * IDL [out] long *totalentries,
- * IDL [in] [out] [ref] long *resumehandle
- * IDL );
- */
static int
-wkssvc_dissect_netwkstatransportenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+wkssvc_dissect_element_PasswordBuffer_data_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+ offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_PasswordBuffer_data,NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_info_level, 0);
+ return offset;
+}
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_TRANSPORT_ENUM_UNION,
- NDR_POINTER_REF, "Transport Info", -1);
+int
+wkssvc_dissect_struct_PasswordBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_pref_max, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_ENUM_HANDLE,
- NDR_POINTER_UNIQUE, "Enum Handle", -1);
+ 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_wkssvc_wkssvc_PasswordBuffer);
+ }
+
+ offset = wkssvc_dissect_element_PasswordBuffer_data(tvb, offset, pinfo, tree, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
return offset;
+}
+
+/* IDL: typedef bitmap { */
+/* IDL: WKSSVC_JOIN_FLAGS_DEFER_SPN = 0x00000100 , */
+/* IDL: WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED = 0x00000080 , */
+/* IDL: WKSSVC_JOIN_FLAGS_JOIN_UNSECURE = 0x00000040 , */
+/* IDL: WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED = 0x00000020 , */
+/* IDL: WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE = 0x00000010 , */
+/* IDL: WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE = 0x00000004 , */
+/* IDL: WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = 0x00000002 , */
+/* IDL: WKSSVC_JOIN_FLAGS_JOIN_TYPE = 0x00000001 , */
+/* IDL: } wkssvc_joinflags; */
+
+int
+wkssvc_dissect_bitmap_joinflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, 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_wkssvc_wkssvc_joinflags);
+ }
+
+ 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_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DEFER_SPN, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000100 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_DEFER_SPN");
+ if (flags & (~( 0x00000100 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000100 ));
+
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000080 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED");
+ if (flags & (~( 0x00000080 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000080 ));
+
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_UNSECURE, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000040 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_JOIN_UNSECURE");
+ if (flags & (~( 0x00000040 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000040 ));
+
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000020 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED");
+ if (flags & (~( 0x00000020 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000020 ));
+
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000010 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE");
+ if (flags & (~( 0x00000010 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000010 ));
+
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000004 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE");
+ if (flags & (~( 0x00000004 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000004 ));
+
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000002 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE");
+ if (flags & (~( 0x00000002 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000002 ));
+
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_TYPE, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000001 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_JOIN_TYPE");
+ if (flags & (~( 0x00000001 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000001 ));
+
+ if (flags) {
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+ return offset;
}
-static int wkssvc_dissect_netwkstatransportenum_reply(tvbuff_t *tvb,
- int offset,
- packet_info *pinfo,
- proto_tree *tree,
- guint8 *drep)
+/* IDL: typedef bitmap { */
+/* IDL: WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = 0x00000002 , */
+/* IDL: } wkssvc_renameflags; */
+
+int
+wkssvc_dissect_bitmap_renameflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
{
- /* There seems to be an info level there first */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_info_level, 0);
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_TRANSPORT_ENUM_UNION,
- NDR_POINTER_REF, "Transport Info", -1);
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
- /* Entries read seems to be in the enum array ... */
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
+ tree = proto_item_add_subtree(item,ett_wkssvc_wkssvc_renameflags);
+ }
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_total_entries, 0);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
+ proto_item_append_text(item, ": ");
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_ENUM_HANDLE,
- NDR_POINTER_UNIQUE, "Enum Handle", -1);
+ if (!flags)
+ proto_item_append_text(item, "(No values set)");
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ proto_tree_add_boolean(tree, hf_wkssvc_wkssvc_renameflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE, tvb, offset-4, 4, flags);
+ if (flags&( 0x00000002 )){
+ proto_item_append_text(item, "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE");
+ if (flags & (~( 0x00000002 )))
+ proto_item_append_text(item, ", ");
+ }
+ flags&=(~( 0x00000002 ));
+
+ if (flags) {
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
return offset;
}
+static int
+wkssvc_dissect_element_NetWkstaGetInfo_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaGetInfo_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetWkstaGetInfo_server_name);
-/*
- * IDL typedef struct {
- * IDL char element_278[524];
- * IDL } TYPE_30;
- */
+ return offset;
+}
static int
-wkssvc_dissect_TYPE_30(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep _U_)
+wkssvc_dissect_element_NetWkstaGetInfo_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
+ char *data;
- if(di->conformant_run){
- return offset; /* cant modify offset while performing conformant run */
- }
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaGetInfo_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
- proto_tree_add_item(tree, hf_wkssvc_encrypted_password, tvb, offset,
- 524, TRUE);
- offset += 524;
-
- return offset;
+ return offset;
}
+static int
+wkssvc_dissect_element_NetWkstaGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaGetInfo_level,NULL);
+ return offset;
+}
-/*
- * IDL
- * IDL long NetrJoinDomain2(
- * IDL [in] [unique] [string] wchar_t *ServerName,
- * IDL [in] [string] wchar_t DomainName,
- * IDL [in] [unique] [string] wchar_t *AccountOU,
- * IDL [in] [unique] [string] wchar_t *Account,
- * IDL [in] [unique] TYPE_30 *Encrypted_password,
- * IDL [in] long JoinOptions
- * IDL );
- */
+static int
+wkssvc_dissect_element_NetWkstaGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaGetInfo_info_, NDR_POINTER_REF, "Pointer to Info (wkssvc_NetWkstaInfo)",hf_wkssvc_wkssvc_NetWkstaGetInfo_info);
-static const true_false_string join_flags_domain_join = {
- "Join the computer to a domain",
- "Join the computer to a workgroup"
-};
+ return offset;
+}
-static const true_false_string join_flags_acct_create = {
- "Create the account on the domain",
- "Do not create the account"
-};
+static int
+wkssvc_dissect_element_NetWkstaGetInfo_info_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_NetWkstaInfo(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaGetInfo_info, 0);
-static const true_false_string unjoin_flags_acct_delete = {
- "Delete the account when a domain is left",
- "Do not delete the account when a domain is left"
-};
+ return offset;
+}
-static const true_false_string join_flags_win9x_upgrade = {
- "The join operation is occurring as part of an upgrade of Windows 9x",
- "The join operation is not part of a Windows 9x upgrade"
-};
+/* IDL: WERROR wkssvc_NetWkstaGetInfo( */
+/* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *server_name, */
+/* IDL: [in] uint32 level, */
+/* IDL: [switch_is(level)] [out] [ref] wkssvc_NetWkstaInfo *info */
+/* IDL: ); */
-static const true_false_string join_flags_domain_join_if_joined = {
- "Allow a join to a new domain even if the computer is already joined to a domain",
- "Do not allow join to a new domain if the computer is already joined to a domain"
-};
+static int
+wkssvc_dissect_NetWkstaGetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
-static const true_false_string join_flags_unsecure = {
- "Performs an unsecured join",
- "Perform a secured join"
-};
+ offset = wkssvc_dissect_element_NetWkstaGetInfo_info(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
-static const true_false_string join_flags_machine_pwd_passed = {
- "Set the machine password after domain join to passed password",
- "Do not set the machine password after domain join to passed password"
-};
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
-static const true_false_string join_flags_defer_spn_set = {
- "Defer setting of servicePrincipalName and dNSHostName attributes on the computer object until a rename operation",
- "Set servicePrincipalName and dNSHostName attributes on the computer object"
-};
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+ return offset;
+}
-static int wkssvc_dissect_netr_join_domain2_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *parent_tree,
- guint8 *drep)
+static int
+wkssvc_dissect_NetWkstaGetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- guint32 join_flags = 0;
- proto_item *item;
- proto_tree *tree = NULL;
+ offset = wkssvc_dissect_element_NetWkstaGetInfo_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaGetInfo_level(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaSetInfo_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaSetInfo_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetWkstaSetInfo_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaSetInfo_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaSetInfo_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
- offset = dissect_ndr_cvstring(tvb, offset, pinfo, parent_tree, drep,
- sizeof(guint16), hf_wkssvc_domain_to_join,
- TRUE, NULL);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE, "Computer account OU",
- hf_wkssvc_ou_for_computer_account, 0);
+static int
+wkssvc_dissect_element_NetWkstaSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaSetInfo_level,NULL);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE,
- "Account used for join operation",
- hf_wkssvc_account_used_for_join, 0);
+ return offset;
+}
- offset = dissect_ndr_pointer(tvb, offset, pinfo, parent_tree, drep,
- wkssvc_dissect_TYPE_30, NDR_POINTER_UNIQUE,
- "Encrypted password", -1);
+static int
+wkssvc_dissect_element_NetWkstaSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaSetInfo_info_, NDR_POINTER_REF, "Pointer to Info (wkssvc_NetWkstaInfo)",hf_wkssvc_wkssvc_NetWkstaSetInfo_info);
- join_flags = tvb_get_letohl(tvb, offset);
- item = proto_tree_add_item(parent_tree, hf_wkssvc_join_flags, tvb, offset, 4, TRUE);
- if (parent_tree) {
- tree = proto_item_add_subtree(item, ett_dcerpc_wkssvc_join_flags);
- }
+ return offset;
+}
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_defer_spn_set, tvb,
- offset, 4, join_flags);
+static int
+wkssvc_dissect_element_NetWkstaSetInfo_info_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_NetWkstaInfo(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaSetInfo_info, 0);
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_machine_pwd_passed, tvb,
- offset, 4, join_flags);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaSetInfo_parm_error_, NDR_POINTER_REF, "Pointer to Parm Error (uint32)",hf_wkssvc_wkssvc_NetWkstaSetInfo_parm_error);
+
+ return offset;
+}
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_join_unsecure, tvb,
- offset, 4, join_flags);
+static int
+wkssvc_dissect_element_NetWkstaSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaSetInfo_parm_error,NULL);
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_domain_join_if_joined,
- tvb, offset, 4, join_flags);
+ return offset;
+}
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_win9x_upgrade, tvb,
- offset, 4, join_flags);
+/* IDL: WERROR wkssvc_NetWkstaSetInfo( */
+/* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *server_name, */
+/* IDL: [in] uint32 level, */
+/* IDL: [switch_is(level)] [in] [ref] wkssvc_NetWkstaInfo *info, */
+/* IDL: [out] [in] [ref] uint32 *parm_error */
+/* IDL: ); */
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_acct_create, tvb,
- offset, 4, join_flags);
+static int
+wkssvc_dissect_NetWkstaSetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_join_type, tvb,
- offset, 4, join_flags);
- offset += 4;
+ offset = wkssvc_dissect_element_NetWkstaSetInfo_parm_error(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
+static int
+wkssvc_dissect_NetWkstaSetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetWkstaSetInfo_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaSetInfo_level(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaSetInfo_info(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaSetInfo_parm_error(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
-static int wkssvc_dissect_netr_join_domain2_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaEnumUsers_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetWkstaEnumUsers_server_name);
return offset;
}
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
-/*
- * IDL long NetrUnjoinDomain2(
- * IDL [in] [unique] [string] wchar_t *ServerName,
- * IDL [in] [unique] [string] wchar_t *Account
- * IDL [in] [unique] TYPE_30 *Encrypted_password,
- * IDL [in] long UnjoinOptions
- * IDL );
- */
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaEnumUsers_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
-static int wkssvc_dissect_netr_unjoin_domain2_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *parent_tree,
- guint8 *drep)
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- guint32 unjoin_flags = 0;
- proto_item *item;
- proto_tree *tree = NULL;
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaEnumUsers_level,NULL);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaEnumUsers_users_, NDR_POINTER_REF, "Pointer to Users (WKS_USER_ENUM_UNION)",hf_wkssvc_wkssvc_NetWkstaEnumUsers_users);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE,
- "Account used for unjoin operation",
- hf_wkssvc_account_used_for_unjoin, 0);
+ return offset;
+}
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_users_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_WKS_USER_ENUM_UNION(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaEnumUsers_users, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, parent_tree, drep,
- wkssvc_dissect_TYPE_30, NDR_POINTER_UNIQUE,
- "Encrypted password", -1);
+ return offset;
+}
- unjoin_flags = tvb_get_letohl(tvb, offset);
- item = proto_tree_add_item(parent_tree, hf_wkssvc_unjoin_flags, tvb, offset, 4, TRUE);
- if (parent_tree) {
- tree = proto_item_add_subtree(item, ett_dcerpc_wkssvc_join_flags);
- }
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_prefmaxlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaEnumUsers_prefmaxlen,NULL);
- proto_tree_add_boolean(tree, hf_wkssvc_unjoin_options_acct_delete, tvb,
- offset, 4, unjoin_flags);
- offset += 4;
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_entriesread(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaEnumUsers_entriesread_, NDR_POINTER_UNIQUE, "Pointer to Entriesread (uint32)",hf_wkssvc_wkssvc_NetWkstaEnumUsers_entriesread);
return offset;
+}
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_entriesread_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaEnumUsers_entriesread,NULL);
+
+ return offset;
}
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaEnumUsers_totalentries_, NDR_POINTER_UNIQUE, "Pointer to Totalentries (uint32)",hf_wkssvc_wkssvc_NetWkstaEnumUsers_totalentries);
+
+ return offset;
+}
-static int wkssvc_dissect_netr_unjoin_domain2_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_totalentries_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaEnumUsers_totalentries,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_resumehandle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaEnumUsers_resumehandle_, NDR_POINTER_REF, "Pointer to Resumehandle (uint32)",hf_wkssvc_wkssvc_NetWkstaEnumUsers_resumehandle);
return offset;
}
+static int
+wkssvc_dissect_element_NetWkstaEnumUsers_resumehandle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaEnumUsers_resumehandle,NULL);
+ return offset;
+}
-/*
- * IDL long NetrRenameMachineInDomain2(
- * IDL [in] [unique] [string] wchar_t *ServerName,
- * IDL [in] [unique] [string] wchar_t *NewMachineName,
- * IDL [in] [unique] [string] wchar_t *Account,
- * IDL [in] [unique] TYPE_30 *EncryptedPassword,
- * IDL [in] long RenameOptions
- * IDL );
- */
+/* IDL: WERROR wkssvc_NetWkstaEnumUsers( */
+/* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *server_name, */
+/* IDL: [in] uint32 level, */
+/* IDL: [out] [in] [ref] WKS_USER_ENUM_UNION *users, */
+/* IDL: [in] uint32 prefmaxlen, */
+/* IDL: [out] [unique(1)] uint32 *entriesread, */
+/* IDL: [out] [unique(1)] uint32 *totalentries, */
+/* IDL: [out] [in] [ref] uint32 *resumehandle */
+/* IDL: ); */
-static int wkssvc_dissect_netr_rename_machine_in_domain2_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *parent_tree,
- guint8 *drep)
+static int
+wkssvc_dissect_NetWkstaEnumUsers_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- guint32 rename_flags = 0;
- proto_item *item;
- proto_tree *tree = NULL;
+ guint32 status;
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_users(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_entriesread(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE,
- "New Machine Name",
- hf_wkssvc_server, 0);
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_totalentries(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, parent_tree, drep,
- NDR_POINTER_UNIQUE,
- "Account used for rename operation",
- hf_wkssvc_account_used_for_unjoin, 0);
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_resumehandle(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, parent_tree, drep,
- wkssvc_dissect_TYPE_30, NDR_POINTER_UNIQUE,
- "Encrypted password", -1);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
- rename_flags = tvb_get_letohl(tvb, offset);
- item = proto_tree_add_item(parent_tree, hf_wkssvc_rename_flags, tvb, offset, 4, TRUE);
- if (parent_tree) {
- tree = proto_item_add_subtree(item, ett_dcerpc_wkssvc_join_flags);
- }
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetWkstaEnumUsers_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_level(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_users(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_prefmaxlen(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaEnumUsers_resumehandle(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRWKSTAUSERGETINFO( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTAUSERGETINFO_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTAUSERGETINFO_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRWKSTAUSERSETINFO( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTAUSERSETINFO_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
- proto_tree_add_boolean(tree, hf_wkssvc_join_options_acct_create, tvb,
- offset, 4, rename_flags);
- offset += 4;
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTAUSERSETINFO_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportEnum_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetWkstaTransportEnum_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetWkstaTransportEnum_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportEnum_level,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportEnum_ctr_, NDR_POINTER_REF, "Pointer to Ctr (wkssvc_NetWkstaTransportCtr)",hf_wkssvc_wkssvc_NetWkstaTransportEnum_ctr);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_ctr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_NetWkstaTransportCtr(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportEnum_ctr, 0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportEnum_max_buffer,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportEnum_totalentries,NULL);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetWkstaTransportEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_wkssvc_wkssvc_NetWkstaTransportEnum_resume_handle);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetWkstaTransportEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetWkstaTransportEnum_resume_handle,NULL);
+
+ return offset;
+}
+
+/* IDL: WERROR wkssvc_NetWkstaTransportEnum( */
+/* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *server_name, */
+/* IDL: [out] [in] uint32 level, */
+/* IDL: [switch_is(level)] [out] [in] [ref] wkssvc_NetWkstaTransportCtr *ctr, */
+/* IDL: [in] uint32 max_buffer, */
+/* IDL: [out] uint32 totalentries, */
+/* IDL: [out] [unique(1)] [in] uint32 *resume_handle */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_NetWkstaTransportEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_level(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_ctr(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_totalentries(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_resume_handle(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetWkstaTransportEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_level(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_ctr(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_max_buffer(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetWkstaTransportEnum_resume_handle(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRWKSTATRANSPORTADD( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTADD_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTADD_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRWKSTATRANSPORTDEL( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTDEL_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTDEL_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRUSEADD( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEADD_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEADD_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRUSEGETINFO( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEGETINFO_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEGETINFO_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRUSEDEL( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEDEL_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEDEL_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRUSEENUM( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEENUM_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRUSEENUM_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRMESSAGEBUFFERSEND( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRMESSAGEBUFFERSEND_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+static int
+wkssvc_dissect_WKSSVC_NETRMESSAGEBUFFERSEND_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
}
-static int wkssvc_dissect_netr_rename_machine_in_domain2_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+/* IDL: WERROR WKSSVC_NETRWORKSTATIONSTATISTICSGET( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRWORKSTATIONSTATISTICSGET_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
+static int
+wkssvc_dissect_WKSSVC_NETRWORKSTATIONSTATISTICSGET_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
-/*
- * IDL long NetrAddAlternateComputerName(
- * IDL [in] [unique] [string] wchar_t *ServerName,
- * IDL [in] [unique] [string] wchar_t *NewAlternateMachineName,
- * IDL [in] [unique] [string] wchar_t *Account,
- * IDL [in] [unique] TYPE_30 *EncryptedPassword,
- * IDL [in] long Reserved
- * IDL );
- */
+/* IDL: WERROR WKSSVC_NETRLOGONDOMAINNAMEADD( */
+/* IDL: */
+/* IDL: ); */
-static int wkssvc_dissect_netr_add_alternate_computername_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEADD_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+ guint32 status;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "New alternate computer name",
- hf_wkssvc_alternate_name, 0);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Account name",
- hf_wkssvc_account_used_for_alternate_name, 0);
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_TYPE_30, NDR_POINTER_UNIQUE,
- "Encrypted password", -1);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_reserved, NULL);
+static int
+wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEADD_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRLOGONDOMAINNAMEDEL( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEDEL_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
-static int wkssvc_dissect_netr_add_alternate_computername_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEDEL_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRJOINDOMAIN( */
+/* IDL: */
+/* IDL: ); */
+static int
+wkssvc_dissect_WKSSVC_NETRJOINDOMAIN_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRJOINDOMAIN_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
return offset;
}
-/*
- * IDL long NetrRemoveAlternateComputerName(
- * IDL [in] [unique] [string] wchar_t *ServerName,
- * IDL [in] [unique] [string] wchar_t *AlternateMachineNameToRemove,
- * IDL [in] [unique] [string] wchar_t *Account,
- * IDL [in] [unique] TYPE_30 *EncryptedPassword,
- * IDL [in] long Reserved
- * IDL );
- */
+/* IDL: WERROR WKSSVC_NETRUNJOINDOMAIN( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRUNJOINDOMAIN_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
-static int wkssvc_dissect_netr_remove_alternate_computername_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRUNJOINDOMAIN_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Server",
- hf_wkssvc_server, 0);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Alternate computer name to remove",
- hf_wkssvc_alternate_name, 0);
+/* IDL: WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN( */
+/* IDL: */
+/* IDL: ); */
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
- NDR_POINTER_UNIQUE, "Account name",
- hf_wkssvc_account_used_for_alternate_name, 0);
+static int
+wkssvc_dissect_WKSSVC_NETRRENAMEMACHINEINDOMAIN_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- wkssvc_dissect_TYPE_30, NDR_POINTER_UNIQUE,
- "Encrypted password", -1);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_reserved, NULL);
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
return offset;
}
+static int
+wkssvc_dissect_WKSSVC_NETRRENAMEMACHINEINDOMAIN_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+/* IDL: WERROR WKSSVC_NETRVALIDATENAME( */
+/* IDL: */
+/* IDL: ); */
-static int wkssvc_dissect_netr_remove_alternate_computername_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- guint8 *drep)
+static int
+wkssvc_dissect_WKSSVC_NETRVALIDATENAME_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
- hf_wkssvc_rc, NULL);
-
- return offset;
-}
-
-static dcerpc_sub_dissector dcerpc_wkssvc_dissectors[] = {
- { WKS_NETRWKSTAGETINFO, "NetrWkstaGetInfo",
- wkssvc_dissect_netwkstagetinfo_rqst,
- wkssvc_dissect_netwkstagetinfo_reply},
- { WKS_NETRWKSTASETINFO, "NetrWkstaSetInfo",
- wkssvc_dissect_netwkstasetinfo_rqst,
- wkssvc_dissect_netwkstasetinfo_reply},
- { WKS_NETRWKSTAUSERENUM, "NetrWkstaUserEnum",
- wkssvc_dissect_netwkstaenumusers_rqst,
- wkssvc_dissect_netwkstaenumusers_reply},
- { WKS_NETRWKSTAUSERGETINFO, "NetrWkstaUserGetInfo", NULL, NULL },
- { WKS_NETRWKSTAUSERSETINFO, "NetrWkstaUserSetInfo", NULL, NULL },
- { WKS_NETRWKSTATRANSPORTENUM, "NetrWkstaTransportEnum",
- wkssvc_dissect_netwkstatransportenum_rqst,
- wkssvc_dissect_netwkstatransportenum_reply},
- { WKS_NETRWKSTATRANSPORTADD, "NetrWkstaTransportAdd", NULL, NULL },
- { WKS_NETRWKSTATRANSPORTDEL, "NetrWkstaTransportDel", NULL, NULL },
- { WKS_NETRUSEADD, "NetrUseAdd", NULL, NULL },
- { WKS_NETRUSEGETINFO, "NetrUseGetInfo", NULL, NULL },
- { WKS_NETRUSEDEL, "NetrUseDel", NULL, NULL },
- { WKS_NETRUSEENUM, "NetrUseEnum", NULL, NULL },
- { WKS_NETRMESSAGEBUFFERSEND, "NetrMessageBufferSend", NULL, NULL },
- { WKS_NETRWORKSTATIONSTATISTICSGET, "NetrWorkstationStatisticsGet",
- NULL, NULL },
- { WKS_NETRLOGONDOMAINNAMEADD, "NetrLogonDomainNameAdd", NULL, NULL },
- { WKS_NETRLOGONDOMAINNAMEDEL, "NetrLogonDomainNameDel", NULL, NULL },
- { WKS_NETRJOINDOMAIN, "NetrJoinDomain", NULL, NULL },
- { WKS_NETRUNJOINDOMAIN, "NetrUnjoinDomain", NULL, NULL },
- { WKS_NETRRENAMEMACHINEINDOMAIN, "NetrRenameMachineInDomain",
- NULL, NULL },
- { WKS_NETRVALIDATENAME, "NetrValidateName", NULL, NULL },
- { WKS_NETRGETJOININFORMATION, "NetrGetJoinInformation", NULL, NULL },
- { WKS_NETRGETJOINABLEOUS, "NetrGetJoinableOUs", NULL, NULL },
- { WKS_NETRJOINDOMAIN2, "NetrJoinDomain2",
- wkssvc_dissect_netr_join_domain2_rqst,
- wkssvc_dissect_netr_join_domain2_reply},
- { WKS_NETRUNJOINDOMAIN2, "NetrUnjoinDomain2",
- wkssvc_dissect_netr_unjoin_domain2_rqst,
- wkssvc_dissect_netr_unjoin_domain2_reply},
- { WKS_NETRRENAMEMACHINEINDOMAIN2, "NetrRenameMachineInDomain2",
- wkssvc_dissect_netr_rename_machine_in_domain2_rqst,
- wkssvc_dissect_netr_rename_machine_in_domain2_reply},
- { WKS_NETRVALIDATENAME2, "NetrValidateName2", NULL, NULL },
- { WKS_NETRGETJOINABLEOUS2, "NetrGetJoinableOUs2", NULL, NULL },
- { WKS_NETRADDALTERNATECOMPUTERNAME, "NetrAddAlternateComputerName",
- wkssvc_dissect_netr_add_alternate_computername_rqst,
- wkssvc_dissect_netr_add_alternate_computername_reply},
- { WKS_NETRREMOVEALTERNATECOMPUTERNAME,
- "NetrRemoveAlternateComputerName",
- wkssvc_dissect_netr_remove_alternate_computername_rqst,
- wkssvc_dissect_netr_remove_alternate_computername_reply},
- { WKS_NETRSETPRIMARYCOMPUTERNAME, "NetrSetPrimaryComputerName",
- NULL, NULL },
- { WKS_NETRENUMERATECOMPUTERNAMES, "NetrEnumerateComputerNames",
- NULL, NULL },
- {0, NULL, NULL, NULL }
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRVALIDATENAME_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRGETJOININFORMATION( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRGETJOININFORMATION_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRGETJOININFORMATION_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRGETJOINABLEOUS( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrJoinDomain2_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetrJoinDomain2_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrJoinDomain2_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_domain_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrJoinDomain2_domain_name_, NDR_POINTER_REF, "Pointer to Domain Name (uint16)",hf_wkssvc_wkssvc_NetrJoinDomain2_domain_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_domain_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrJoinDomain2_domain_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_account_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrJoinDomain2_account_name_, NDR_POINTER_UNIQUE, "Pointer to Account Name (uint16)",hf_wkssvc_wkssvc_NetrJoinDomain2_account_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_account_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrJoinDomain2_account_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_admin_account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrJoinDomain2_admin_account_, NDR_POINTER_UNIQUE, "Pointer to Admin Account (uint16)",hf_wkssvc_wkssvc_NetrJoinDomain2_admin_account);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_admin_account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrJoinDomain2_admin_account, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_encrypted_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrJoinDomain2_encrypted_password_, NDR_POINTER_UNIQUE, "Pointer to Encrypted Password (wkssvc_PasswordBuffer)",hf_wkssvc_wkssvc_NetrJoinDomain2_encrypted_password);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_encrypted_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_PasswordBuffer(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetrJoinDomain2_encrypted_password,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrJoinDomain2_join_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_bitmap_joinflags(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetrJoinDomain2_join_flags, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR wkssvc_NetrJoinDomain2( */
+/* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *server_name, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *domain_name, */
+/* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *account_name, */
+/* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *admin_account, */
+/* IDL: [unique(1)] [in] wkssvc_PasswordBuffer *encrypted_password, */
+/* IDL: [in] wkssvc_joinflags join_flags */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_NetrJoinDomain2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetrJoinDomain2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetrJoinDomain2_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrJoinDomain2_domain_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrJoinDomain2_account_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrJoinDomain2_admin_account(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrJoinDomain2_encrypted_password(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrJoinDomain2_join_flags(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrUnjoinDomain2_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrUnjoinDomain2_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetrUnjoinDomain2_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrUnjoinDomain2_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrUnjoinDomain2_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrUnjoinDomain2_account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrUnjoinDomain2_account_, NDR_POINTER_UNIQUE, "Pointer to Account (uint16)",hf_wkssvc_wkssvc_NetrUnjoinDomain2_account);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrUnjoinDomain2_account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrUnjoinDomain2_account, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrUnjoinDomain2_encrypted_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrUnjoinDomain2_encrypted_password_, NDR_POINTER_UNIQUE, "Pointer to Encrypted Password (wkssvc_PasswordBuffer)",hf_wkssvc_wkssvc_NetrUnjoinDomain2_encrypted_password);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrUnjoinDomain2_encrypted_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_PasswordBuffer(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetrUnjoinDomain2_encrypted_password,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrUnjoinDomain2_unjoin_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_bitmap_joinflags(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetrUnjoinDomain2_unjoin_flags, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR wkssvc_NetrUnjoinDomain2( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_name, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *account, */
+/* IDL: [unique(1)] [in] wkssvc_PasswordBuffer *encrypted_password, */
+/* IDL: [in] wkssvc_joinflags unjoin_flags */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_NetrUnjoinDomain2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetrUnjoinDomain2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetrUnjoinDomain2_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrUnjoinDomain2_account(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrUnjoinDomain2_encrypted_password(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrUnjoinDomain2_unjoin_flags(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRenameMachineInDomain2_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_NewMachineName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRenameMachineInDomain2_NewMachineName_, NDR_POINTER_UNIQUE, "Pointer to Newmachinename (uint16)",hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_NewMachineName);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_NewMachineName_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_NewMachineName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_Account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRenameMachineInDomain2_Account_, NDR_POINTER_UNIQUE, "Pointer to Account (uint16)",hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_Account);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_Account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_Account, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_EncryptedPassword(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRenameMachineInDomain2_EncryptedPassword_, NDR_POINTER_UNIQUE, "Pointer to Encryptedpassword (wkssvc_PasswordBuffer)",hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_EncryptedPassword);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_EncryptedPassword_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_PasswordBuffer(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_EncryptedPassword,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRenameMachineInDomain2_RenameOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_bitmap_renameflags(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_RenameOptions, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR wkssvc_NetrRenameMachineInDomain2( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_name, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *NewMachineName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *Account, */
+/* IDL: [unique(1)] [in] wkssvc_PasswordBuffer *EncryptedPassword, */
+/* IDL: [in] wkssvc_renameflags RenameOptions */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_NetrRenameMachineInDomain2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetrRenameMachineInDomain2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetrRenameMachineInDomain2_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRenameMachineInDomain2_NewMachineName(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRenameMachineInDomain2_Account(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRenameMachineInDomain2_EncryptedPassword(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRenameMachineInDomain2_RenameOptions(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRVALIDATENAME2( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRVALIDATENAME2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRVALIDATENAME2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRGETJOINABLEOUS2( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrAddAlternateComputerName_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetrAddAlternateComputerName_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrAddAlternateComputerName_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_NewAlternateMachineName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrAddAlternateComputerName_NewAlternateMachineName_, NDR_POINTER_UNIQUE, "Pointer to Newalternatemachinename (uint16)",hf_wkssvc_wkssvc_NetrAddAlternateComputerName_NewAlternateMachineName);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_NewAlternateMachineName_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrAddAlternateComputerName_NewAlternateMachineName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_Account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrAddAlternateComputerName_Account_, NDR_POINTER_UNIQUE, "Pointer to Account (uint16)",hf_wkssvc_wkssvc_NetrAddAlternateComputerName_Account);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_Account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrAddAlternateComputerName_Account, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_EncryptedPassword(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrAddAlternateComputerName_EncryptedPassword_, NDR_POINTER_UNIQUE, "Pointer to Encryptedpassword (wkssvc_PasswordBuffer)",hf_wkssvc_wkssvc_NetrAddAlternateComputerName_EncryptedPassword);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_EncryptedPassword_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_PasswordBuffer(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetrAddAlternateComputerName_EncryptedPassword,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrAddAlternateComputerName_Reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetrAddAlternateComputerName_Reserved,NULL);
+
+ return offset;
+}
+
+/* IDL: WERROR wkssvc_NetrAddAlternateComputerName( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_name, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *NewAlternateMachineName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *Account, */
+/* IDL: [unique(1)] [in] wkssvc_PasswordBuffer *EncryptedPassword, */
+/* IDL: [in] uint32 Reserved */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_NetrAddAlternateComputerName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetrAddAlternateComputerName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetrAddAlternateComputerName_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrAddAlternateComputerName_NewAlternateMachineName(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrAddAlternateComputerName_Account(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrAddAlternateComputerName_EncryptedPassword(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrAddAlternateComputerName_Reserved(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRemoveAlternateComputerName_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_server_name);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_server_name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove_, NDR_POINTER_UNIQUE, "Pointer to Alternatemachinenametoremove (uint16)",hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_Account(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRemoveAlternateComputerName_Account_, NDR_POINTER_UNIQUE, "Pointer to Account (uint16)",hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_Account);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_Account_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_Account, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_EncryptedPassword(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, wkssvc_dissect_element_NetrRemoveAlternateComputerName_EncryptedPassword_, NDR_POINTER_UNIQUE, "Pointer to Encryptedpassword (wkssvc_PasswordBuffer)",hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_EncryptedPassword);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_EncryptedPassword_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = wkssvc_dissect_struct_PasswordBuffer(tvb,offset,pinfo,tree,drep,hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_EncryptedPassword,0);
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_element_NetrRemoveAlternateComputerName_Reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_Reserved,NULL);
+
+ return offset;
+}
+
+/* IDL: WERROR wkssvc_NetrRemoveAlternateComputerName( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_name, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *AlternateMachineNameToRemove, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *Account, */
+/* IDL: [unique(1)] [in] wkssvc_PasswordBuffer *EncryptedPassword, */
+/* IDL: [in] uint32 Reserved */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_NetrRemoveAlternateComputerName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_NetrRemoveAlternateComputerName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset = wkssvc_dissect_element_NetrRemoveAlternateComputerName_server_name(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRemoveAlternateComputerName_Account(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRemoveAlternateComputerName_EncryptedPassword(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ offset = wkssvc_dissect_element_NetrRemoveAlternateComputerName_Reserved(tvb, offset, pinfo, tree, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRSETPRIMARYCOMPUTERNAME( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRSETPRIMARYCOMPUTERNAME_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRSETPRIMARYCOMPUTERNAME_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+/* IDL: WERROR WKSSVC_NETRENUMERATECOMPUTERNAMES( */
+/* IDL: */
+/* IDL: ); */
+
+static int
+wkssvc_dissect_WKSSVC_NETRENUMERATECOMPUTERNAMES_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_wkssvc_werror, &status);
+
+ if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+wkssvc_dissect_WKSSVC_NETRENUMERATECOMPUTERNAMES_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ return offset;
+}
+
+
+static dcerpc_sub_dissector wkssvc_dissectors[] = {
+ { 0, "NetWkstaGetInfo",
+ wkssvc_dissect_NetWkstaGetInfo_request, wkssvc_dissect_NetWkstaGetInfo_response},
+ { 1, "NetWkstaSetInfo",
+ wkssvc_dissect_NetWkstaSetInfo_request, wkssvc_dissect_NetWkstaSetInfo_response},
+ { 2, "NetWkstaEnumUsers",
+ wkssvc_dissect_NetWkstaEnumUsers_request, wkssvc_dissect_NetWkstaEnumUsers_response},
+ { 3, "WKSSVC_NETRWKSTAUSERGETINFO",
+ wkssvc_dissect_WKSSVC_NETRWKSTAUSERGETINFO_request, wkssvc_dissect_WKSSVC_NETRWKSTAUSERGETINFO_response},
+ { 4, "WKSSVC_NETRWKSTAUSERSETINFO",
+ wkssvc_dissect_WKSSVC_NETRWKSTAUSERSETINFO_request, wkssvc_dissect_WKSSVC_NETRWKSTAUSERSETINFO_response},
+ { 5, "NetWkstaTransportEnum",
+ wkssvc_dissect_NetWkstaTransportEnum_request, wkssvc_dissect_NetWkstaTransportEnum_response},
+ { 6, "WKSSVC_NETRWKSTATRANSPORTADD",
+ wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTADD_request, wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTADD_response},
+ { 7, "WKSSVC_NETRWKSTATRANSPORTDEL",
+ wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTDEL_request, wkssvc_dissect_WKSSVC_NETRWKSTATRANSPORTDEL_response},
+ { 8, "WKSSVC_NETRUSEADD",
+ wkssvc_dissect_WKSSVC_NETRUSEADD_request, wkssvc_dissect_WKSSVC_NETRUSEADD_response},
+ { 9, "WKSSVC_NETRUSEGETINFO",
+ wkssvc_dissect_WKSSVC_NETRUSEGETINFO_request, wkssvc_dissect_WKSSVC_NETRUSEGETINFO_response},
+ { 10, "WKSSVC_NETRUSEDEL",
+ wkssvc_dissect_WKSSVC_NETRUSEDEL_request, wkssvc_dissect_WKSSVC_NETRUSEDEL_response},
+ { 11, "WKSSVC_NETRUSEENUM",
+ wkssvc_dissect_WKSSVC_NETRUSEENUM_request, wkssvc_dissect_WKSSVC_NETRUSEENUM_response},
+ { 12, "WKSSVC_NETRMESSAGEBUFFERSEND",
+ wkssvc_dissect_WKSSVC_NETRMESSAGEBUFFERSEND_request, wkssvc_dissect_WKSSVC_NETRMESSAGEBUFFERSEND_response},
+ { 13, "WKSSVC_NETRWORKSTATIONSTATISTICSGET",
+ wkssvc_dissect_WKSSVC_NETRWORKSTATIONSTATISTICSGET_request, wkssvc_dissect_WKSSVC_NETRWORKSTATIONSTATISTICSGET_response},
+ { 14, "WKSSVC_NETRLOGONDOMAINNAMEADD",
+ wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEADD_request, wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEADD_response},
+ { 15, "WKSSVC_NETRLOGONDOMAINNAMEDEL",
+ wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEDEL_request, wkssvc_dissect_WKSSVC_NETRLOGONDOMAINNAMEDEL_response},
+ { 16, "WKSSVC_NETRJOINDOMAIN",
+ wkssvc_dissect_WKSSVC_NETRJOINDOMAIN_request, wkssvc_dissect_WKSSVC_NETRJOINDOMAIN_response},
+ { 17, "WKSSVC_NETRUNJOINDOMAIN",
+ wkssvc_dissect_WKSSVC_NETRUNJOINDOMAIN_request, wkssvc_dissect_WKSSVC_NETRUNJOINDOMAIN_response},
+ { 18, "WKSSVC_NETRRENAMEMACHINEINDOMAIN",
+ wkssvc_dissect_WKSSVC_NETRRENAMEMACHINEINDOMAIN_request, wkssvc_dissect_WKSSVC_NETRRENAMEMACHINEINDOMAIN_response},
+ { 19, "WKSSVC_NETRVALIDATENAME",
+ wkssvc_dissect_WKSSVC_NETRVALIDATENAME_request, wkssvc_dissect_WKSSVC_NETRVALIDATENAME_response},
+ { 20, "WKSSVC_NETRGETJOININFORMATION",
+ wkssvc_dissect_WKSSVC_NETRGETJOININFORMATION_request, wkssvc_dissect_WKSSVC_NETRGETJOININFORMATION_response},
+ { 21, "WKSSVC_NETRGETJOINABLEOUS",
+ wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS_request, wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS_response},
+ { 22, "NetrJoinDomain2",
+ wkssvc_dissect_NetrJoinDomain2_request, wkssvc_dissect_NetrJoinDomain2_response},
+ { 23, "NetrUnjoinDomain2",
+ wkssvc_dissect_NetrUnjoinDomain2_request, wkssvc_dissect_NetrUnjoinDomain2_response},
+ { 24, "NetrRenameMachineInDomain2",
+ wkssvc_dissect_NetrRenameMachineInDomain2_request, wkssvc_dissect_NetrRenameMachineInDomain2_response},
+ { 25, "WKSSVC_NETRVALIDATENAME2",
+ wkssvc_dissect_WKSSVC_NETRVALIDATENAME2_request, wkssvc_dissect_WKSSVC_NETRVALIDATENAME2_response},
+ { 26, "WKSSVC_NETRGETJOINABLEOUS2",
+ wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS2_request, wkssvc_dissect_WKSSVC_NETRGETJOINABLEOUS2_response},
+ { 27, "NetrAddAlternateComputerName",
+ wkssvc_dissect_NetrAddAlternateComputerName_request, wkssvc_dissect_NetrAddAlternateComputerName_response},
+ { 28, "NetrRemoveAlternateComputerName",
+ wkssvc_dissect_NetrRemoveAlternateComputerName_request, wkssvc_dissect_NetrRemoveAlternateComputerName_response},
+ { 29, "WKSSVC_NETRSETPRIMARYCOMPUTERNAME",
+ wkssvc_dissect_WKSSVC_NETRSETPRIMARYCOMPUTERNAME_request, wkssvc_dissect_WKSSVC_NETRSETPRIMARYCOMPUTERNAME_response},
+ { 30, "WKSSVC_NETRENUMERATECOMPUTERNAMES",
+ wkssvc_dissect_WKSSVC_NETRENUMERATECOMPUTERNAMES_request, wkssvc_dissect_WKSSVC_NETRENUMERATECOMPUTERNAMES_response},
+ { 0, NULL, NULL, NULL }
};
-void
-proto_register_dcerpc_wkssvc(void)
-{
- static hf_register_info hf[] = {
- { &hf_wkssvc_opnum,
- { "Operation", "wkssvc.opnum", FT_UINT16, BASE_DEC,
- NULL, 0x0, "", HFILL }},
- { &hf_wkssvc_server,
- { "Server", "wkssvc.server", FT_STRING, BASE_NONE,
- NULL, 0x0, "Server Name", HFILL}},
- { &hf_wkssvc_net_group,
- { "Net Group", "wkssvc.netgrp", FT_STRING, BASE_NONE,
- NULL, 0x0, "Net Group", HFILL}},
- { &hf_wkssvc_info_level,
- { "Info Level", "wkssvc.info_level", FT_UINT32,
- BASE_DEC, NULL, 0x0, "Info Level", HFILL}},
- { &hf_wkssvc_platform_id,
- { "Platform ID", "wkssvc.info.platform_id", FT_UINT32,
- BASE_DEC, VALS(platform_id_vals), 0x0, "Platform ID", HFILL}},
- { &hf_wkssvc_ver_major,
- { "Major Version", "wkssvc.version.major", FT_UINT32,
- BASE_DEC, NULL, 0x0, "Major Version", HFILL}},
- { &hf_wkssvc_ver_minor,
- { "Minor Version", "wkssvc.version.minor", FT_UINT32,
- BASE_DEC, NULL, 0x0, "Minor Version", HFILL}},
- { &hf_wkssvc_lan_root,
- { "Lan Root", "wkssvc.lan.root", FT_STRING, BASE_NONE,
- NULL, 0x0, "Lan Root", HFILL}},
- { &hf_wkssvc_logged_on_users,
- { "Logged On Users", "wkssvc.logged.on.users", FT_UINT32,
- BASE_DEC, NULL, 0x0, "Logged On Users", HFILL}},
- { &hf_wkssvc_pref_max,
- { "Preferred Max Len", "wkssvc.pref.max.len", FT_INT32,
- BASE_DEC, NULL, 0x0, "Preferred Max Len", HFILL}},
- { &hf_wkssvc_junk,
- { "Junk", "wkssvc.junk", FT_UINT32,
- BASE_DEC, NULL, 0x0, "Junk", HFILL}},
- { &hf_wkssvc_enum_handle,
- { "Enumeration handle", "wkssvc.enum_hnd", FT_BYTES,
- BASE_HEX, NULL, 0x0, "Enumeration Handle", HFILL}},
- { &hf_wkssvc_user_name,
- { "User Name", "wkssvc.user.name", FT_STRING, BASE_NONE,
- NULL, 0x0, "User Name", HFILL}},
- { &hf_wkssvc_logon_domain,
- { "Logon Domain", "wkssvc.logon.domain", FT_STRING, BASE_NONE,
- NULL, 0x0, "Logon Domain", HFILL}},
- { &hf_wkssvc_other_domains,
- { "Other Domains", "wkssvc.other.domains", FT_STRING, BASE_NONE,
- NULL, 0x0, "Other Domains", HFILL}},
- { &hf_wkssvc_logon_server,
- { "Logon Server", "wkssvc.logon.server", FT_STRING, BASE_NONE,
- NULL, 0x0, "Logon Server", HFILL}},
- { &hf_wkssvc_rc,
- { "Return code", "wkssvc.rc", FT_UINT32,
- BASE_HEX, VALS(DOS_errors), 0x0, "Return Code", HFILL}},
- { &hf_wkssvc_num_entries,
- { "Num Entries", "wkssvc.num.entries", FT_INT32,
- BASE_DEC, NULL, 0x0, "Num Entries", HFILL}},
- { &hf_wkssvc_entries_read,
- { "Entries Read", "wkssvc.entries.read", FT_INT32,
- BASE_DEC, NULL, 0x0, "Entries Read", HFILL}},
- { &hf_wkssvc_total_entries,
- { "Total Entries", "wkssvc.total.entries", FT_INT32,
- BASE_DEC, NULL, 0x0, "Total Entries", HFILL}},
- { &hf_wkssvc_char_wait,
- { "Char Wait", "wkssvc.char.wait", FT_INT32,
- BASE_DEC, NULL, 0x0, "Char Wait", HFILL}},
- { &hf_wkssvc_collection_time,
- { "Collection Time", "wkssvc.collection.time", FT_INT32,
- BASE_DEC, NULL, 0x0, "Collection Time", HFILL}},
- { &hf_wkssvc_maximum_collection_count,
- { "Maximum Collection Count", "wkssvc.maximum.collection.count",
- FT_INT32,
- BASE_DEC, NULL, 0x0, "Maximum Collection Count", HFILL}},
- { &hf_wkssvc_keep_conn,
- { "Keep Connection", "wkssvc.keep.connection", FT_INT32,
- BASE_DEC, NULL, 0x0, "Keep Connection", HFILL}},
- { &hf_wkssvc_max_cmds,
- { "Maximum Commands", "wkssvc.maximum.commands", FT_INT32,
- BASE_DEC, NULL, 0x0, "Maximum Commands", HFILL}},
- { &hf_wkssvc_sess_timeout,
- { "Session Timeout", "wkssvc.session.timeout", FT_INT32,
- BASE_DEC, NULL, 0x0, "Session Timeout", HFILL}},
- { &hf_wkssvc_siz_char_buf,
- { "Character Buffer Size", "wkssvc.size.char.buff", FT_INT32,
- BASE_DEC, NULL, 0x0, "Character Buffer Size", HFILL}},
- { &hf_wkssvc_max_threads,
- { "Maximum Threads", "wkssvc.maximum.threads", FT_INT32,
- BASE_DEC, NULL, 0x0, "Maximum Threads", HFILL}},
- { &hf_wkssvc_lock_quota,
- { "Lock Quota", "wkssvc.lock.quota", FT_INT32,
- BASE_DEC, NULL, 0x0, "Lock Quota", HFILL}},
- { &hf_wkssvc_lock_increment,
- { "Lock Increment", "wkssvc.lock.increment", FT_INT32,
- BASE_DEC, NULL, 0x0, "Lock Increment", HFILL}},
- { &hf_wkssvc_lock_maximum,
- { "Lock Maximum", "wkssvc.lock.maximum", FT_INT32,
- BASE_DEC, NULL, 0x0, "Lock Maximum", HFILL}},
- { &hf_wkssvc_pipe_increment,
- { "Pipe Increment", "wkssvc.pipe.increment", FT_INT32,
- BASE_DEC, NULL, 0x0, "Pipe Increment", HFILL}},
- { &hf_wkssvc_pipe_maximum,
- { "Pipe Maximum", "wkssvc.pipe.maximum", FT_INT32,
- BASE_DEC, NULL, 0x0, "Pipe Maximum", HFILL}},
- { &hf_wkssvc_cache_file_timeout,
- { "Cache File Timeout", "wkssvc.cache.file.timeout", FT_INT32,
- BASE_DEC, NULL, 0x0, "Cache File Timeout", HFILL}},
- { &hf_wkssvc_dormant_file_limit,
- { "Dormant File Limit", "wkssvc.dormant.file.limit", FT_INT32,
- BASE_DEC, NULL, 0x0, "Dormant File Limit", HFILL}},
- { &hf_wkssvc_read_ahead_throughput,
- { "Read Ahead Throughput", "wkssvc.read.ahead.throughput", FT_INT32,
- BASE_DEC, NULL, 0x0, "Read Ahead Throughput", HFILL}},
- { &hf_wkssvc_num_mailslot_buffers,
- { "Num Mailslot Buffers", "wkssvc.num.mailslot.buffers", FT_INT32,
- BASE_DEC, NULL, 0x0, "Num Mailslot Buffers", HFILL}},
- { &hf_wkssvc_num_srv_announce_buffers,
- { "Num Srv Announce Buffers", "wkssvc.num.srv.announce.buffers", FT_INT32,
- BASE_DEC, NULL, 0x0, "Num Srv Announce Buffers", HFILL}},
- { &hf_wkssvc_max_illegal_datagram_events,
- { "Max Illegal Datagram Events", "wkssvc.max.illegal.datagram.events", FT_INT32,
- BASE_DEC, NULL, 0x0, "Max Illegal Datagram Events", HFILL}},
- { &hf_wkssvc_illegal_datagram_event_reset_frequency,
- { "Illegal Datagram Event Reset Frequency", "wkssvc.illegal.datagram.reset.frequency", FT_INT32,
- BASE_DEC, NULL, 0x0, "Illegal Datagram Event Reset Frequency", HFILL}},
- { &hf_wkssvc_log_election_packets,
- { "Log Election Packets", "wkssvc.log.election.packets", FT_INT32,
- BASE_DEC, NULL, 0x0, "Log Election Packets", HFILL}},
- { &hf_wkssvc_use_opportunistic_locking,
- { "Use Opportunistic Locking", "wkssvc.use.oplocks", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use OpLocks", HFILL}},
- { &hf_wkssvc_use_unlock_behind,
- { "Use Lock Behind", "wkssvc.use.lock.behind", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use Lock Behind", HFILL}},
- { &hf_wkssvc_use_close_behind,
- { "Use Close Behind", "wkssvc.use.close.behind", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use Close Behind", HFILL}},
- { &hf_wkssvc_buf_named_pipes,
- { "Buffer Named Pipes", "wkssvc.buffer.named.pipes", FT_INT32,
- BASE_DEC, NULL, 0x0, "Buffer Named Pipes", HFILL}},
- { &hf_wkssvc_use_lock_read_unlock,
- { "Use Lock Read Unlock", "wkssvc.use.lock.read.unlock", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use Lock Read Unlock", HFILL}},
- { &hf_wkssvc_utilize_nt_caching,
- { "Utilize NT Caching", "wkssvc.utilize.nt.caching", FT_INT32,
- BASE_DEC, NULL, 0x0, "Utilize NT Caching", HFILL}},
- { &hf_wkssvc_use_raw_read,
- { "Use Raw Read", "wkssvc.use.raw.read", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use Raw Read", HFILL}},
- { &hf_wkssvc_use_raw_write,
- { "Use Raw Write", "wkssvc.use.raw.write", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use Raw Write", HFILL}},
- { &hf_wkssvc_use_write_raw_data,
- { "Use Write Raw Data", "wkssvc.use.write.raw.data", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use Write Raw Data", HFILL}},
- { &hf_wkssvc_use_encryption,
- { "Use Encryption", "wkssvc.use.encryption", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use Encryption", HFILL}},
- { &hf_wkssvc_buf_files_deny_write,
- { "Buffer Files Deny Write", "wkssvc.buf.files.deny.write", FT_INT32,
- BASE_DEC, NULL, 0x0, "Buffer Files Deny Write", HFILL}},
- { &hf_wkssvc_buf_read_only_files,
- { "Buffer Files Read Only", "wkssvc.buf.files.read.only", FT_INT32,
- BASE_DEC, NULL, 0x0, "Buffer Files Read Only", HFILL}},
- { &hf_wkssvc_force_core_create_mode,
- { "Force Core Create Mode", "wkssvc.force.core.create.mode", FT_INT32,
- BASE_DEC, NULL, 0x0, "Force Core Create Mode", HFILL}},
- { &hf_wkssvc_use_512_byte_max_transfer,
- { "Use 512 Byte Max Transfer", "wkssvc.use.512.byte.max.transfer", FT_INT32,
- BASE_DEC, NULL, 0x0, "Use 512 Byte Maximum Transfer", HFILL}},
- { &hf_wkssvc_parm_err,
- { "Parameter Error Offset", "wkssvc.parm.err", FT_INT32,
- BASE_DEC, NULL, 0x0, "Parameter Error Offset", HFILL}},
- { &hf_wkssvc_errlog_sz,
- { "Error Log Size", "wkssvc.errlog.sz", FT_INT32,
- BASE_DEC, NULL, 0x0, "Error Log Size", HFILL}},
- { &hf_wkssvc_print_buf_time,
- { "Print Buf Time", "wkssvc.print.buf.time", FT_INT32,
- BASE_DEC, NULL, 0x0, "Print Buff Time", HFILL}},
- { &hf_wkssvc_wrk_heuristics,
- { "Wrk Heuristics", "wkssvc.wrk.heuristics", FT_INT32,
- BASE_DEC, NULL, 0x0, "Wrk Heuristics", HFILL}},
- { &hf_wkssvc_quality_of_service,
- { "Quality Of Service", "wkssvc.qos", FT_INT32,
- BASE_DEC, NULL, 0x0, "Quality Of Service", HFILL}},
- { &hf_wkssvc_number_of_vcs,
- { "Number Of VCs", "wkssvc.number.of.vcs", FT_INT32,
- BASE_DEC, NULL, 0x0, "Number of VSs", HFILL}},
- { &hf_wkssvc_transport_name,
- { "Transport Name", "wkssvc.transport.name", FT_STRING, BASE_NONE,
- NULL, 0x0, "Transport Name", HFILL}},
- { &hf_wkssvc_transport_address,
- { "Transport Address", "wkssvc.transport.address", FT_STRING,
- BASE_NONE,
- NULL, 0x0, "Transport Address", HFILL}},
- { &hf_wkssvc_wan_ish,
- { "WAN ish", "wkssvc.wan.ish", FT_INT32,
- BASE_DEC, NULL, 0x0, "WAN ish", HFILL}},
- { &hf_wkssvc_domain_to_join,
- { "Domain or Workgroup to join", "wkssvc.join.domain", FT_STRING, BASE_NONE,
- NULL, 0x0, "Domain or Workgroup to join", HFILL}},
- { &hf_wkssvc_ou_for_computer_account,
- { "Organizational Unit (OU) for computer account",
- "wkssvc.join.computer_account_ou", FT_STRING, BASE_NONE,
- NULL, 0x0, "Organizational Unit (OU) for computer account", HFILL}},
- { &hf_wkssvc_account_used_for_join,
- { "Account used for join operations", "wkssvc.join.account_used", FT_STRING, BASE_NONE,
- NULL, 0x0, "Account used for join operations", HFILL}},
- { &hf_wkssvc_join_flags,
- { "Domain join flags", "wkssvc.join.flags",
- FT_UINT32, BASE_HEX, NULL, 0x0,
- "Domain join flags", HFILL }},
- { &hf_wkssvc_unjoin_flags,
- { "Domain unjoin flags", "wkssvc.unjoin.flags",
- FT_UINT32, BASE_HEX, NULL, 0x0,
- "Domain unjoin flags", HFILL }},
- { &hf_wkssvc_rename_flags,
- { "Machine rename flags", "wkssvc.rename.flags",
- FT_UINT32, BASE_HEX, NULL, 0x0,
- "Machine rename flags", HFILL }},
- { &hf_wkssvc_join_options_join_type,
- { "Join type", "wkssvc.join.options.join_type",
- FT_BOOLEAN, 32, TFS(&join_flags_domain_join), 0x00000001,
- "Join type", HFILL}},
- { &hf_wkssvc_join_options_acct_create,
- { "Computer account creation", "wkssvc.join.options.account_create",
- FT_BOOLEAN, 32, TFS(&join_flags_acct_create), 0x00000002,
- "Computer account creation", HFILL}},
- { &hf_wkssvc_unjoin_options_acct_delete,
- { "Computer account deletion", "wkssvc.unjoin.options.account_delete",
- FT_BOOLEAN, 32, TFS(&unjoin_flags_acct_delete), 0x00000004,
- "Computer account deletion", HFILL}},
- { &hf_wkssvc_join_options_win9x_upgrade,
- { "Win9x upgrade", "wkssvc.join.options.win9x_upgrade",
- FT_BOOLEAN, 32, TFS(&join_flags_win9x_upgrade), 0x00000010,
- "Win9x upgrade", HFILL}},
- { &hf_wkssvc_join_options_domain_join_if_joined,
- { "New domain join if already joined",
- "wkssvc.join.options.domain_join_if_joined",
- FT_BOOLEAN, 32, TFS(&join_flags_domain_join_if_joined),
- 0x00000020,
- "New domain join if already joined", HFILL}},
- { &hf_wkssvc_join_options_join_unsecure,
- { "Unsecure join", "wkssvc.join.options.insecure_join",
- FT_BOOLEAN, 32, TFS(&join_flags_unsecure),
- 0x00000040, "Unsecure join", HFILL}},
- { &hf_wkssvc_join_options_machine_pwd_passed,
- { "Machine pwd passed", "wkssvc.join.options.machine_pwd_passed",
- FT_BOOLEAN, 32, TFS(&join_flags_machine_pwd_passed),
- 0x00000080, "Machine pwd passed", HFILL}},
- { &hf_wkssvc_join_options_defer_spn_set,
- { "Defer SPN set", "wkssvc.join.options.defer_spn_set",
- FT_BOOLEAN, 32, TFS(&join_flags_defer_spn_set),
- 0x00000100, "Defer SPN set", HFILL}},
- { &hf_wkssvc_account_used_for_unjoin,
- { "Account used for unjoin operations",
- "wkssvc.unjoin.account_used", FT_STRING, BASE_NONE,
- NULL, 0x0, "Account used for unjoin operations", HFILL}},
- { &hf_wkssvc_account_used_for_alternate_name,
- { "Account used for alternate name operations",
- "wkssvc.alternate_operations_account", FT_STRING, BASE_NONE,
- NULL, 0x0, "Account used for alternate name operations", HFILL}},
- { &hf_wkssvc_alternate_name,
- { "Alternate computer name", "wkssvc.alternate_computer_name", FT_STRING, BASE_NONE,
- NULL, 0x0, "Alternate computer name", HFILL}},
- { &hf_wkssvc_encrypted_password,
- { "Encrypted password", "wkssvc.crypt_password", FT_BYTES, BASE_HEX,
- NULL, 0, "Encrypted Password", HFILL }},
- { &hf_wkssvc_reserved,
- { "Reserved field", "wkssvc.reserved", FT_INT32,
- BASE_HEX, NULL, 0x0, "Reserved field", HFILL}},
+void proto_register_dcerpc_wkssvc(void)
+{
+ static hf_register_info hf[] = {
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_raw_read,
+ { "Use Raw Read", "wkssvc.wkssvc_NetWkstaInfo502.use_raw_read", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaEnumUsers_entriesread,
+ { "Entriesread", "wkssvc.wkssvc_NetWkstaEnumUsers.entriesread", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_dgram_event_reset_freq,
+ { "Dgram Event Reset Freq", "wkssvc.wkssvc_NetWkstaInfo502.dgram_event_reset_freq", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportCtr0_count,
+ { "Count", "wkssvc.wkssvc_NetWkstaTransportCtr0.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_pipe_increment,
+ { "Pipe Increment", "wkssvc.wkssvc_NetWkstaInfo502.pipe_increment", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info502,
+ { "Info502", "wkssvc.wkssvc_NetWkstaInfo.info502", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaGetInfo_info,
+ { "Info", "wkssvc.wkssvc_NetWkstaGetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_log_election_packets,
+ { "Log Election Packets", "wkssvc.wkssvc_NetWkstaInfo502.log_election_packets", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo102_lan_root,
+ { "Lan Root", "wkssvc.wkssvc_NetWkstaInfo102.lan_root", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_char_wait,
+ { "Char Wait", "wkssvc.wkssvc_NetWkstaInfo502.char_wait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_0_user,
+ { "User", "wkssvc.USER_INFO_0.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_buf_files_deny_write,
+ { "Buf Files Deny Write", "wkssvc.wkssvc_NetWkstaInfo502.buf_files_deny_write", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_force_core_create_mode,
+ { "Force Core Create Mode", "wkssvc.wkssvc_NetWkstaInfo502.force_core_create_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1013_keep_connection,
+ { "Keep Connection", "wkssvc.wkssvc_NetWkstaInfo1013.keep_connection", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1011_collection_time,
+ { "Collection Time", "wkssvc.wkssvc_NetWkstaInfo1011.collection_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo101_platform_id,
+ { "Platform Id", "wkssvc.wkssvc_NetWkstaInfo101.platform_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_EncryptedPassword,
+ { "Encryptedpassword", "wkssvc.wkssvc_NetrRenameMachineInDomain2.EncryptedPassword", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE,
+ { "Wkssvc Join Flags Account Create", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE_tfs), ( 0x00000002 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrAddAlternateComputerName_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetrAddAlternateComputerName.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo102_logged_on_users,
+ { "Logged On Users", "wkssvc.wkssvc_NetWkstaInfo102.logged_on_users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrUnjoinDomain2_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetrUnjoinDomain2.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo102_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetWkstaInfo102.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportInfo0_vc_count,
+ { "Vc Count", "wkssvc.wkssvc_NetWkstaTransportInfo0.vc_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_read_ahead_throughput,
+ { "Read Ahead Throughput", "wkssvc.wkssvc_NetWkstaInfo502.read_ahead_throughput", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_Account,
+ { "Account", "wkssvc.wkssvc_NetrRenameMachineInDomain2.Account", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrAddAlternateComputerName_NewAlternateMachineName,
+ { "Newalternatemachinename", "wkssvc.wkssvc_NetrAddAlternateComputerName.NewAlternateMachineName", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo100_version_minor,
+ { "Version Minor", "wkssvc.wkssvc_NetWkstaInfo100.version_minor", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_num_mailslot_buffers,
+ { "Num Mailslot Buffers", "wkssvc.wkssvc_NetWkstaInfo502.num_mailslot_buffers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo102_domain_name,
+ { "Domain Name", "wkssvc.wkssvc_NetWkstaInfo102.domain_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_WKS_USER_ENUM_UNION_user0,
+ { "User0", "wkssvc.WKS_USER_ENUM_UNION.user0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_WKS_USER_ENUM_UNION_user1,
+ { "User1", "wkssvc.WKS_USER_ENUM_UNION.user1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_1_user_name,
+ { "User Name", "wkssvc.USER_INFO_1.user_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_maximum_collection_count,
+ { "Maximum Collection Count", "wkssvc.wkssvc_NetWkstaInfo502.maximum_collection_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaEnumUsers_prefmaxlen,
+ { "Prefmaxlen", "wkssvc.wkssvc_NetWkstaEnumUsers.prefmaxlen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaEnumUsers_level,
+ { "Level", "wkssvc.wkssvc_NetWkstaEnumUsers.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_1_other_domains,
+ { "Other Domains", "wkssvc.USER_INFO_1.other_domains", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_TYPE,
+ { "Wkssvc Join Flags Join Type", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_JOIN_TYPE", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_TYPE_tfs), ( 0x00000001 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED,
+ { "Wkssvc Join Flags Machine Pwd Passed", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED_tfs), ( 0x00000080 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetrRemoveAlternateComputerName.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_encryption,
+ { "Use Encryption", "wkssvc.wkssvc_NetWkstaInfo502.use_encryption", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaEnumUsers_totalentries,
+ { "Totalentries", "wkssvc.wkssvc_NetWkstaEnumUsers.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrAddAlternateComputerName_EncryptedPassword,
+ { "Encryptedpassword", "wkssvc.wkssvc_NetrAddAlternateComputerName.EncryptedPassword", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportInfo0_quality_of_service,
+ { "Quality Of Service", "wkssvc.wkssvc_NetWkstaTransportInfo0.quality_of_service", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo100_platform_id,
+ { "Platform Id", "wkssvc.wkssvc_NetWkstaInfo100.platform_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportEnum_ctr,
+ { "Ctr", "wkssvc.wkssvc_NetWkstaTransportEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetrRenameMachineInDomain2.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrJoinDomain2_admin_account,
+ { "Admin Account", "wkssvc.wkssvc_NetrJoinDomain2.admin_account", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaGetInfo_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetWkstaGetInfo.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaSetInfo_level,
+ { "Level", "wkssvc.wkssvc_NetWkstaSetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_renameflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE,
+ { "Wkssvc Join Flags Account Create", "wkssvc.wkssvc_renameflags.WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE", FT_BOOLEAN, 32, TFS(&wkssvc_renameflags_WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE_tfs), ( 0x00000002 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DEFER_SPN,
+ { "Wkssvc Join Flags Defer Spn", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_DEFER_SPN", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DEFER_SPN_tfs), ( 0x00000100 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1023_size_char_buf,
+ { "Size Char Buf", "wkssvc.wkssvc_NetWkstaInfo1023.size_char_buf", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1010,
+ { "Info1010", "wkssvc.wkssvc_NetWkstaInfo.info1010", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_platform_id,
+ { "Platform Id", "wkssvc.platform_id", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_PlatformId_vals), 0, " ", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrJoinDomain2_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetrJoinDomain2.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1011,
+ { "Info1011", "wkssvc.wkssvc_NetWkstaInfo.info1011", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1012,
+ { "Info1012", "wkssvc.wkssvc_NetWkstaInfo.info1012", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_lock_maximum,
+ { "Lock Maximum", "wkssvc.wkssvc_NetWkstaInfo502.lock_maximum", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1013,
+ { "Info1013", "wkssvc.wkssvc_NetWkstaInfo.info1013", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_0_CONTAINER_user0,
+ { "User0", "wkssvc.USER_INFO_0_CONTAINER.user0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo101_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetWkstaInfo101.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1018,
+ { "Info1018", "wkssvc.wkssvc_NetWkstaInfo.info1018", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_buf_read_only_files,
+ { "Buf Read Only Files", "wkssvc.wkssvc_NetWkstaInfo502.buf_read_only_files", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo101_version_minor,
+ { "Version Minor", "wkssvc.wkssvc_NetWkstaInfo101.version_minor", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrJoinDomain2_domain_name,
+ { "Domain Name", "wkssvc.wkssvc_NetrJoinDomain2.domain_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo101_lan_root,
+ { "Lan Root", "wkssvc.wkssvc_NetWkstaInfo101.lan_root", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE,
+ { "Wkssvc Join Flags Account Delete", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE_tfs), ( 0x00000004 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo101_domain_name,
+ { "Domain Name", "wkssvc.wkssvc_NetWkstaInfo101.domain_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_opnum,
+ { "Operation", "wkssvc.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrUnjoinDomain2_account,
+ { "Account", "wkssvc.wkssvc_NetrUnjoinDomain2.account", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED,
+ { "Wkssvc Join Flags Domain Join If Joined", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED_tfs), ( 0x00000020 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_dormant_file_limit,
+ { "Dormant File Limit", "wkssvc.wkssvc_NetWkstaInfo502.dormant_file_limit", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_1_CONTAINER_user1,
+ { "User1", "wkssvc.USER_INFO_1_CONTAINER.user1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_unlock_behind,
+ { "Use Unlock Behind", "wkssvc.wkssvc_NetWkstaInfo502.use_unlock_behind", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaEnumUsers_resumehandle,
+ { "Resumehandle", "wkssvc.wkssvc_NetWkstaEnumUsers.resumehandle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_EncryptedPassword,
+ { "Encryptedpassword", "wkssvc.wkssvc_NetrRemoveAlternateComputerName.EncryptedPassword", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_pipe_maximum,
+ { "Pipe Maximum", "wkssvc.wkssvc_NetWkstaInfo502.pipe_maximum", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_cache_file_timeout,
+ { "Cache File Timeout", "wkssvc.wkssvc_NetWkstaInfo502.cache_file_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportEnum_level,
+ { "Level", "wkssvc.wkssvc_NetWkstaTransportEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrUnjoinDomain2_encrypted_password,
+ { "Encrypted Password", "wkssvc.wkssvc_NetrUnjoinDomain2.encrypted_password", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_1_CONTAINER_entries_read,
+ { "Entries Read", "wkssvc.USER_INFO_1_CONTAINER.entries_read", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1023,
+ { "Info1023", "wkssvc.wkssvc_NetWkstaInfo.info1023", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaSetInfo_parm_error,
+ { "Parm Error", "wkssvc.wkssvc_NetWkstaSetInfo.parm_error", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_raw_write,
+ { "Use Raw Write", "wkssvc.wkssvc_NetWkstaInfo502.use_raw_write", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info100,
+ { "Info100", "wkssvc.wkssvc_NetWkstaInfo.info100", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info101,
+ { "Info101", "wkssvc.wkssvc_NetWkstaInfo.info101", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info102,
+ { "Info102", "wkssvc.wkssvc_NetWkstaInfo.info102", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1027,
+ { "Info1027", "wkssvc.wkssvc_NetWkstaInfo.info1027", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_512_byte_max_transfer,
+ { "Use 512 Byte Max Transfer", "wkssvc.wkssvc_NetWkstaInfo502.use_512_byte_max_transfer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1018_session_timeout,
+ { "Session Timeout", "wkssvc.wkssvc_NetWkstaInfo1018.session_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1033_max_threads,
+ { "Max Threads", "wkssvc.wkssvc_NetWkstaInfo1033.max_threads", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportInfo0_name,
+ { "Name", "wkssvc.wkssvc_NetWkstaTransportInfo0.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo100_version_major,
+ { "Version Major", "wkssvc.wkssvc_NetWkstaInfo100.version_major", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_NewMachineName,
+ { "Newmachinename", "wkssvc.wkssvc_NetrRenameMachineInDomain2.NewMachineName", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo100_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetWkstaInfo100.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaEnumUsers_users,
+ { "Users", "wkssvc.wkssvc_NetWkstaEnumUsers.users", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrAddAlternateComputerName_Account,
+ { "Account", "wkssvc.wkssvc_NetrAddAlternateComputerName.Account", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo102_version_minor,
+ { "Version Minor", "wkssvc.wkssvc_NetWkstaInfo102.version_minor", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_AlternateMachineNameToRemove,
+ { "Alternatemachinenametoremove", "wkssvc.wkssvc_NetrRemoveAlternateComputerName.AlternateMachineNameToRemove", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportEnum_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetWkstaTransportEnum.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_max_commands,
+ { "Max Commands", "wkssvc.wkssvc_NetWkstaInfo502.max_commands", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_utilize_nt_caching,
+ { "Utilize Nt Caching", "wkssvc.wkssvc_NetWkstaInfo502.utilize_nt_caching", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaEnumUsers_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetWkstaEnumUsers.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo100_domain_name,
+ { "Domain Name", "wkssvc.wkssvc_NetWkstaInfo100.domain_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_max_threads,
+ { "Max Threads", "wkssvc.wkssvc_NetWkstaInfo502.max_threads", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_size_char_buf,
+ { "Size Char Buf", "wkssvc.wkssvc_NetWkstaInfo502.size_char_buf", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo_info1033,
+ { "Info1033", "wkssvc.wkssvc_NetWkstaInfo.info1033", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaSetInfo_info,
+ { "Info", "wkssvc.wkssvc_NetWkstaSetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1012_maximum_collection_count,
+ { "Maximum Collection Count", "wkssvc.wkssvc_NetWkstaInfo1012.maximum_collection_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_1_logon_domain,
+ { "Logon Domain", "wkssvc.USER_INFO_1.logon_domain", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_werror,
+ { "Windows Error", "wkssvc.werror", FT_UINT32, BASE_HEX, VALS(WERR_errors), 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_num_srv_announce_buffers,
+ { "Num Srv Announce Buffers", "wkssvc.wkssvc_NetWkstaInfo502.num_srv_announce_buffers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrUnjoinDomain2_unjoin_flags,
+ { "Unjoin Flags", "wkssvc.wkssvc_NetrUnjoinDomain2.unjoin_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_close_behind,
+ { "Use Close Behind", "wkssvc.wkssvc_NetWkstaInfo502.use_close_behind", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrJoinDomain2_encrypted_password,
+ { "Encrypted Password", "wkssvc.wkssvc_NetrJoinDomain2.encrypted_password", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo101_version_major,
+ { "Version Major", "wkssvc.wkssvc_NetWkstaInfo101.version_major", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaSetInfo_server_name,
+ { "Server Name", "wkssvc.wkssvc_NetWkstaSetInfo.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_lock_read_unlock,
+ { "Use Lock Read Unlock", "wkssvc.wkssvc_NetWkstaInfo502.use_lock_read_unlock", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaGetInfo_level,
+ { "Level", "wkssvc.wkssvc_NetWkstaGetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrJoinDomain2_join_flags,
+ { "Join Flags", "wkssvc.wkssvc_NetrJoinDomain2.join_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1010_char_wait,
+ { "Char Wait", "wkssvc.wkssvc_NetWkstaInfo1010.char_wait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_lock_increment,
+ { "Lock Increment", "wkssvc.wkssvc_NetWkstaInfo502.lock_increment", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_UNSECURE,
+ { "Wkssvc Join Flags Join Unsecure", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_JOIN_UNSECURE", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_JOIN_UNSECURE_tfs), ( 0x00000040 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo1027_errorlog_sz,
+ { "Errorlog Sz", "wkssvc.wkssvc_NetWkstaInfo1027.errorlog_sz", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportCtr_ctr0,
+ { "Ctr0", "wkssvc.wkssvc_NetWkstaTransportCtr.ctr0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrJoinDomain2_account_name,
+ { "Account Name", "wkssvc.wkssvc_NetrJoinDomain2.account_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportInfo0_wan_link,
+ { "Wan Link", "wkssvc.wkssvc_NetWkstaTransportInfo0.wan_link", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_keep_connection,
+ { "Keep Connection", "wkssvc.wkssvc_NetWkstaInfo502.keep_connection", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportEnum_resume_handle,
+ { "Resume Handle", "wkssvc.wkssvc_NetWkstaTransportEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrAddAlternateComputerName_Reserved,
+ { "Reserved", "wkssvc.wkssvc_NetrAddAlternateComputerName.Reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRenameMachineInDomain2_RenameOptions,
+ { "Renameoptions", "wkssvc.wkssvc_NetrRenameMachineInDomain2.RenameOptions", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_write_raw_data,
+ { "Use Write Raw Data", "wkssvc.wkssvc_NetWkstaInfo502.use_write_raw_data", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_1_logon_server,
+ { "Logon Server", "wkssvc.USER_INFO_1.logon_server", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_PasswordBuffer_data,
+ { "Data", "wkssvc.wkssvc_PasswordBuffer.data", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportEnum_max_buffer,
+ { "Max Buffer", "wkssvc.wkssvc_NetWkstaTransportEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_max_illegal_dgram_events,
+ { "Max Illegal Dgram Events", "wkssvc.wkssvc_NetWkstaInfo502.max_illegal_dgram_events", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportEnum_totalentries,
+ { "Totalentries", "wkssvc.wkssvc_NetWkstaTransportEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_use_opportunistic_locking,
+ { "Use Opportunistic Locking", "wkssvc.wkssvc_NetWkstaInfo502.use_opportunistic_locking", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_USER_INFO_0_CONTAINER_entries_read,
+ { "Entries Read", "wkssvc.USER_INFO_0_CONTAINER.entries_read", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo102_version_major,
+ { "Version Major", "wkssvc.wkssvc_NetWkstaInfo102.version_major", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo102_platform_id,
+ { "Platform Id", "wkssvc.wkssvc_NetWkstaInfo102.platform_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_lock_quota,
+ { "Lock Quota", "wkssvc.wkssvc_NetWkstaInfo502.lock_quota", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_Account,
+ { "Account", "wkssvc.wkssvc_NetrRemoveAlternateComputerName.Account", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_joinflags_WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE,
+ { "Wkssvc Join Flags Win9x Upgrade", "wkssvc.wkssvc_joinflags.WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE", FT_BOOLEAN, 32, TFS(&wkssvc_joinflags_WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE_tfs), ( 0x00000010 ), "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_session_timeout,
+ { "Session Timeout", "wkssvc.wkssvc_NetWkstaInfo502.session_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportInfo0_address,
+ { "Address", "wkssvc.wkssvc_NetWkstaTransportInfo0.address", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaTransportCtr0_array,
+ { "Array", "wkssvc.wkssvc_NetWkstaTransportCtr0.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetrRemoveAlternateComputerName_Reserved,
+ { "Reserved", "wkssvc.wkssvc_NetrRemoveAlternateComputerName.Reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_buf_named_pipes,
+ { "Buf Named Pipes", "wkssvc.wkssvc_NetWkstaInfo502.buf_named_pipes", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
+ { &hf_wkssvc_wkssvc_NetWkstaInfo502_collection_time,
+ { "Collection Time", "wkssvc.wkssvc_NetWkstaInfo502.collection_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
};
- static gint *ett[] = {
- &ett_dcerpc_wkssvc,
- &ett_dcerpc_wkssvc_join_flags
- };
- proto_dcerpc_wkssvc = proto_register_protocol(
- "Microsoft Workstation Service", "WKSSVC", "wkssvc");
- proto_register_field_array(proto_dcerpc_wkssvc, hf, array_length(hf));
- proto_register_subtree_array(ett, array_length(ett));
+ static gint *ett[] = {
+ &ett_dcerpc_wkssvc,
+ &ett_wkssvc_wkssvc_NetWkstaInfo100,
+ &ett_wkssvc_wkssvc_NetWkstaInfo101,
+ &ett_wkssvc_wkssvc_NetWkstaInfo102,
+ &ett_wkssvc_wkssvc_NetWkstaInfo502,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1010,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1011,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1012,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1013,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1018,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1023,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1027,
+ &ett_wkssvc_wkssvc_NetWkstaInfo1033,
+ &ett_wkssvc_wkssvc_NetWkstaInfo,
+ &ett_wkssvc_USER_INFO_0,
+ &ett_wkssvc_USER_INFO_0_CONTAINER,
+ &ett_wkssvc_USER_INFO_1,
+ &ett_wkssvc_USER_INFO_1_CONTAINER,
+ &ett_wkssvc_WKS_USER_ENUM_UNION,
+ &ett_wkssvc_wkssvc_NetWkstaTransportInfo0,
+ &ett_wkssvc_wkssvc_NetWkstaTransportCtr0,
+ &ett_wkssvc_wkssvc_NetWkstaTransportCtr,
+ &ett_wkssvc_wkssvc_PasswordBuffer,
+ &ett_wkssvc_wkssvc_joinflags,
+ &ett_wkssvc_wkssvc_renameflags,
+ };
+
+ proto_dcerpc_wkssvc = proto_register_protocol("Workstation Service", "WKSSVC", "wkssvc");
+ proto_register_field_array(proto_dcerpc_wkssvc, hf, array_length (hf));
+ proto_register_subtree_array(ett, array_length(ett));
}
-void
-proto_reg_handoff_dcerpc_wkssvc(void)
+void proto_reg_handoff_dcerpc_wkssvc(void)
{
- /* Register protocol as dcerpc */
-
- dcerpc_init_uuid(proto_dcerpc_wkssvc, ett_dcerpc_wkssvc,
- &uuid_dcerpc_wkssvc, ver_dcerpc_wkssvc,
- dcerpc_wkssvc_dissectors, hf_wkssvc_opnum);
+ dcerpc_init_uuid(proto_dcerpc_wkssvc, ett_dcerpc_wkssvc,
+ &uuid_dcerpc_wkssvc, ver_dcerpc_wkssvc,
+ wkssvc_dissectors, hf_wkssvc_opnum);
}