MSWSP: fix dissect_mswsp_smb()
[wireshark-wip.git] / epan / dissectors / packet-osi.h
blob1162ea394199bd9dacb12f8a6c226e7169e2df1e
1 /* packet-osi.h
3 * $Id$
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #ifndef _PACKET_OSI_H
25 #define _PACKET_OSI_H
27 #include <epan/osi-utils.h>
29 #define PDU_TYPE_ESIS_ESH 100
30 #define PDU_TYPE_ESIS_ISH 101
31 #define PDU_TYPE_ESIS_RD 102
33 #define PDU_TYPE_ISIS_L1_HELLO 201
34 #define PDU_TYPE_ISIS_L2_HELLO 202
35 #define PDU_TYPE_ISIS_PTP_HELLO 203
36 #define PDU_TYPE_ISIS_L1_CSNP 204
37 #define PDU_TYPE_ISIS_L1_PSNP 205
38 #define PDU_TYPE_ISIS_L2_CSNP 206
39 #define PDU_TYPE_ISIS_L2_PSNP 207
45 #define PROTO_STRING_ISIS "ISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol"
46 #define PROTO_STRING_IDRP "ISO 10747 IDRP InTER Domain Routeing Information Exchange Protocol"
47 #define PROTO_STRING_ESIS "ISO 9542 ESIS Routeing Information Exchange Protocol"
48 #define PROTO_STRING_CLNP "ISO 8473/X.233 CLNP ConnectionLess Network Protocol"
49 #define PROTO_STRING_COTP "ISO 8073/X.224 COTP Connection-Oriented Transport Protocol"
50 #define PROTO_STRING_CLTP "ISO 8602/X.234 CLTP ConnectionLess Transport Protocol"
51 #define PROTO_STRING_LSP "ISO 10589 ISIS Link State Protocol Data Unit"
52 #define PROTO_STRING_CSNP "ISO 10589 ISIS Complete Sequence Numbers Protocol Data Unit"
53 #define PROTO_STRING_PSNP "ISO 10589 ISIS Partial Sequence Numbers Protocol Data Unit"
55 #define OSI_PDU_TYPE_MASK 0x1f
56 #define BIS_PDU_TYPE MASK 0xff
59 #define BIT_1 0x01
60 #define BIT_2 0x02
61 #define BIT_3 0x04
62 #define BIT_4 0x08
63 #define BIT_5 0x10
64 #define BIT_6 0x20
65 #define BIT_7 0x40
66 #define BIT_8 0x80
68 #define BIT_9 0x0100
69 #define BIT_10 0x0200
70 #define BIT_11 0x0400
71 #define BIT_12 0x0800
72 #define BIT_13 0x1000
73 #define BIT_14 0x2000
74 #define BIT_15 0x4000
75 #define BIT_16 0x8000
78 * published API functions
81 typedef enum {
82 NO_CKSUM, /* checksum field is 0 */
83 DATA_MISSING, /* not all the data covered by the checksum was captured */
84 CKSUM_OK, /* checksum is OK */
85 CKSUM_NOT_OK /* checksum is not OK */
86 } cksum_status_t;
88 extern cksum_status_t calc_checksum(tvbuff_t *, int, guint, guint);
89 extern cksum_status_t check_and_get_checksum(tvbuff_t *, int, guint, guint, int, guint16*);
90 extern gboolean check_atn_ec_32(tvbuff_t *tvb, guint tpdu_len, guint offset_ec_32_val, guint offset_iso8073_val, guint clnp_dst_len, const guint8 *clnp_dst, guint clnp_src_len, const guint8 *clnp_src);
91 extern gboolean check_atn_ec_16(tvbuff_t *tvb, guint tpdu_len, guint offset_ec_16_val, guint offset_iso8073_val, guint clnp_dst_len, const guint8 *clnp_dst, guint clnp_src_len, const guint8 *clnp_src);
93 #endif /* _PACKET_OSI_H */