M2TP support, from Heinz Prantner.
[obnox/wireshark/wip.git] / packet-osi.h
index 4f5de291443fa58b8c7694b83fd6e7f065f53b4a..6b2573526fa2c00ea31c221b65a96819623dd2b8 100644 (file)
@@ -1,11 +1,10 @@
 /* packet-osi.h
  *
- * $Id: packet-osi.h,v 1.3 2000/06/19 04:49:36 guy Exp $
+ * $Id: packet-osi.h,v 1.8 2001/06/05 09:06:19 guy Exp $
  *
  * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@zing.org>
+ * By Gerald Combs <gerald@ethereal.com>
  * 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
 #ifndef _PACKET_OSI_H
 #define _PACKET_OSI_H
 
-/* OSI Global defines, common for all OSI protocols */
-
-#define MAX_NSAP_LEN          30    
-#define MAX_SYSTEMID_LEN      15    
-#define MAX_AREA_LEN          30    
-
-#define RFC1237_NSAP_LEN      20
-#define RFC1237_FULLAREA_LEN  13
-#define RFC1237_SYSTEMID_LEN   6
-#define RFC1237_SELECTOR_LEN   1
-
-#define RFC1237_IDI_LEN        2
-#define RFC1237_AFI_LEN        1
-#define RFC1237_DFI_LEN        1
-#define RFC1237_ORG_LEN        3
-#define RFC1237_AA_LEN         3
-#define RFC1237_RSVD_LEN       2
-#define RFC1237_RD_LEN         2
-#define RFC1237_AREA_LEN       3
-
-
-#define NSAP_IDI_ISODCC       0x39
-#define NSAP_IDI_GOSIP2       0x47
+#include "osi-utils.h"
 
 #define PDU_TYPE_ESIS_ESH       100
 #define PDU_TYPE_ESIS_ISH       101
@@ -70,6 +47,7 @@
 #define PROTO_STRING_ESIS "ISO 9542 ESIS Routeing Information Exchange Protocol"
 #define PROTO_STRING_CLNP "ISO 8473 CLNP ConnectionLess Network Protocol" 
 #define PROTO_STRING_COTP "ISO 8073 COTP Connection-Oriented Transport Protocol"
+#define PROTO_STRING_CLTP "ISO 8602 CLTP ConnectionLess Transport Protocol"
 #define PROTO_STRING_LSP  "ISO 10589 ISIS Link State Protocol Data Unit"
 #define PROTO_STRING_CSNP "ISO 10589 ISIS Complete Sequence Numbers Protocol Data Unit"
 #define PROTO_STRING_PSNP "ISO 10589 ISIS Partial Sequence Numbers Protocol Data Unit"
 #define BIT_15  0x4000
 #define BIT_16  0x8000
 
+/*
+ * Dissector table for NLPIDs for protocols whose packets begin with
+ * the NLPID.
+ */
+dissector_table_t osinl_subdissector_table;
 
 /*
  * published API functions
  */
 
-extern void   dissect_osi( const u_char *, int, frame_data *, proto_tree *);
-extern gchar *print_nsap_net ( const u_char *, int );
-extern gchar *print_area     ( const u_char *, int );
-extern gchar *print_system_id( const u_char *, int );
-extern gchar *calc_checksum  ( const u_char *, u_int, u_int );
+typedef enum {
+       NO_CKSUM,       /* checksum field is 0 */
+       DATA_MISSING,   /* not all the data covered by the checksum was captured */
+       CKSUM_OK,       /* checksum is OK */
+       CKSUM_NOT_OK    /* checksum is not OK */
+} cksum_status_t;
 
-#endif /* _PACKET_OSI_H */
+extern cksum_status_t calc_checksum(tvbuff_t *, int, u_int, u_int);
 
+#endif /* _PACKET_OSI_H */