HACK: pinfo->private_data points to smb_info again
[wireshark-wip.git] / epan / dissectors / packet-ros.h
blobdcb5026abe3bed09290eb265ac4a5ef5f22c12c8
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-ros.h */
4 /* ../../tools/asn2wrs.py -b -p ros -c ./ros.cnf -s ./packet-ros-template -D . -O ../../epan/dissectors ros.asn Remote-Operations-Information-Objects.asn */
6 /* Input file: packet-ros-template.h */
8 #line 1 "../../asn1/ros/packet-ros-template.h"
9 /* packet-ros.h
10 * Routines for ROS packet dissection
11 * Graeme Lunt 2005
13 * $Id$
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
34 #ifndef PACKET_ROS_H
35 #define PACKET_ROS_H
38 /*--- Included file: packet-ros-exp.h ---*/
39 #line 1 "../../asn1/ros/packet-ros-exp.h"
40 extern const value_string ros_ROS_vals[];
41 extern const value_string ros_InvokeId_vals[];
42 extern const value_string ros_Code_vals[];
43 int dissect_ros_ROS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
44 int dissect_ros_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
45 int dissect_ros_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
47 /*--- End of included file: packet-ros-exp.h ---*/
48 #line 30 "../../asn1/ros/packet-ros-template.h"
50 # include "packet-ses.h"
52 /* for use in the SESSION_DATA_STRUCTURE ros_op argument
53 top byte indicates ROS invocation
54 bottom three bytes indicate operation code */
56 # define ROS_OP_MASK 0xff000000
58 # define ROS_OP_PDU_MASK 0xf0000000
59 # define ROS_OP_ARGUMENT 0x10000000
60 # define ROS_OP_RESULT 0x20000000
61 # define ROS_OP_ERROR 0x30000000
62 # define ROS_OP_REJECT 0x40000000
64 # define ROS_OP_TYPE_MASK 0x0f000000
65 # define ROS_OP_BIND 0x01000000
66 # define ROS_OP_UNBIND 0x02000000
67 # define ROS_OP_INVOKE 0x03000000
69 # define ROS_OP_OPCODE_MASK (~ROS_OP_MASK)
71 # define op_ros_bind (-1) /* pseudo operation code for asn2wrs generated binds */
72 # define err_ros_bind (-1) /* pseudo eror code for asn2wrs generated binds */
74 typedef struct _ros_opr_t {
75 gint32 opcode;
76 new_dissector_t arg_pdu;
77 new_dissector_t res_pdu;
78 } ros_opr_t;
80 typedef struct _ros_err_t {
81 gint32 errcode;
82 new_dissector_t err_pdu;
83 } ros_err_t;
85 typedef struct _ros_info_t {
86 const gchar *name;
87 int *proto;
88 gint *ett_proto;
89 const value_string *opr_code_strings;
90 const ros_opr_t *opr_code_dissectors;
91 const value_string *err_code_strings;
92 const ros_err_t *err_code_dissectors;
93 } ros_info_t;
95 void register_ros_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto _U_, const char *name, gboolean uses_rtse);
96 void register_ros_protocol_info(const char *oid, const ros_info_t *rinfo, int proto _U_, const char *name, gboolean uses_rtse);
97 int call_ros_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, struct SESSION_DATA_STRUCTURE* session);
99 #endif /* PACKET_ROS_H */