Move sourcelists into Makefile.common
[obnox/wireshark/wip.git] / asn1.h
diff --git a/asn1.h b/asn1.h
index 1befdfc9c706dd7abd5ca1778d61e6b150a7d410..87c23c60e81bb50b48433c471982d7e462ee21ff 100644 (file)
--- a/asn1.h
+++ b/asn1.h
@@ -1,10 +1,10 @@
 /* asn1.h
  * Definitions for ASN.1 BER dissection
  *
- * $Id: asn1.h,v 1.5 2001/04/15 07:30:02 guy Exp $
+ * $Id: asn1.h,v 1.15 2003/11/09 22:57:52 guy Exp $
  *
  * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@zing.org>
+ * By Gerald Combs <gerald@ethereal.com>
  *
  * Based on "g_asn1.h" from:
  *
  * "config.h", to get the right #defines defined, so that we properly
  * typedef "subid_t".
  */
-#if defined(HAVE_UCD_SNMP_SNMP_H)
-typedef u_long subid_t;        /* UCD SNMP */
+#if defined(HAVE_SOME_SNMP)
+typedef gulong subid_t;        /* Net-SNMP or UCD SNMP */
 #else
-typedef u_int  subid_t;        /* CMU SNMP, libsmi, or nothing */
+typedef guint  subid_t;        /* CMU SNMP, libsmi, or nothing */
 #endif
 
 #define ASN1_ERR_NOERROR               0       /* no error */
@@ -111,33 +111,40 @@ struct _ASN1_SCK
     int offset;             /* Current offset in tvbuff            */
 };
 
-void asn1_open (ASN1_SCK *asn1, tvbuff_t *tvb, int offset);
-void asn1_close (ASN1_SCK *asn1, int *offset);
-int asn1_octet_decode (ASN1_SCK *asn1, guchar *ch);
-int asn1_tag_decode (ASN1_SCK *asn1, guint *tag);
-int asn1_id_decode (ASN1_SCK *asn1, guint *cls, guint *con, guint *tag);
-int asn1_length_decode (ASN1_SCK *asn1, gboolean *def, guint *len);
-int asn1_header_decode(ASN1_SCK *asn1, guint *cls, guint *con, guint *tag,
-                       gboolean *defp, guint *lenp);
-int asn1_eoc (ASN1_SCK *asn1, int eoc);
-int asn1_eoc_decode (ASN1_SCK *asn1, int eoc);
-int asn1_null_decode (ASN1_SCK *asn1, int enc_len);
-int asn1_bool_decode (ASN1_SCK *asn1, int enc_len, gboolean *bool);
-int asn1_int32_value_decode (ASN1_SCK *asn1, int enc_len, gint32 *integer);
-int asn1_int32_decode (ASN1_SCK *asn1, gint32 *integer, guint *nbytes);
-int asn1_uint32_value_decode (ASN1_SCK *asn1, int enc_len, guint *integer);
-int asn1_uint32_decode (ASN1_SCK *asn1, guint32 *integer, guint *nbytes);
-int asn1_bits_decode (ASN1_SCK *asn1, int eoc, guchar **bits, 
-                             guint *len, guchar *unused);
-int asn1_string_value_decode (ASN1_SCK *asn1, int enc_len,
-                       guchar **octets);
-int asn1_string_decode (ASN1_SCK *asn1, guchar **octets, guint *str_len,
-                       guint *nbytes, guint expected_tag);
-int asn1_octet_string_decode (ASN1_SCK *asn1, guchar **octets, guint *str_len,
-                       guint *nbytes);
-int asn1_subid_decode (ASN1_SCK *asn1, subid_t *subid);
-int asn1_oid_value_decode (ASN1_SCK *asn1, int enc_len, subid_t **oid,
-                       guint *len);
-int asn1_oid_decode ( ASN1_SCK *asn1, subid_t **oid, guint *len, guint *nbytes);
-int asn1_sequence_decode ( ASN1_SCK *asn1, guint *seq_len, guint *nbytes);
+extern void asn1_open (ASN1_SCK *asn1, tvbuff_t *tvb, int offset);
+extern void asn1_close (ASN1_SCK *asn1, int *offset);
+extern int asn1_octet_decode (ASN1_SCK *asn1, guchar *ch);
+extern int asn1_tag_decode (ASN1_SCK *asn1, guint *tag);
+extern int asn1_id_decode (ASN1_SCK *asn1, guint *cls, guint *con, guint *tag);
+extern int asn1_id_decode1 (ASN1_SCK *asn1, guint *tag);
+extern int asn1_length_decode (ASN1_SCK *asn1, gboolean *def, guint *len);
+extern int asn1_header_decode(ASN1_SCK *asn1, guint *cls, guint *con,
+                             guint *tag, gboolean *defp, guint *lenp);
+extern int asn1_eoc (ASN1_SCK *asn1, int eoc);
+extern int asn1_eoc_decode (ASN1_SCK *asn1, int eoc);
+extern int asn1_null_decode (ASN1_SCK *asn1, int enc_len);
+extern int asn1_bool_decode (ASN1_SCK *asn1, int enc_len, gboolean *boolean);
+extern int asn1_int32_value_decode (ASN1_SCK *asn1, int enc_len,
+                                   gint32 *integer);
+extern int asn1_int32_decode (ASN1_SCK *asn1, gint32 *integer, guint *nbytes);
+extern int asn1_uint32_value_decode (ASN1_SCK *asn1, int enc_len,
+                                    guint32 *integer);
+extern int asn1_uint32_decode (ASN1_SCK *asn1, guint32 *integer, guint *nbytes);
+extern int asn1_bits_decode (ASN1_SCK *asn1, int enc_len, guchar **bits,
+                            guint *len, guchar *unused);
+extern int asn1_string_value_decode (ASN1_SCK *asn1, int enc_len,
+                                    guchar **octets);
+extern int asn1_string_decode (ASN1_SCK *asn1, guchar **octets, guint *str_len,
+                              guint *nbytes, guint expected_tag);
+extern int asn1_octet_string_decode (ASN1_SCK *asn1, guchar **octets,
+                                    guint *str_len, guint *nbytes);
+extern int asn1_subid_decode (ASN1_SCK *asn1, subid_t *subid);
+extern int asn1_oid_value_decode (ASN1_SCK *asn1, int enc_len, subid_t **oid,
+                                 guint *len);
+extern int asn1_oid_decode (ASN1_SCK *asn1, subid_t **oid, guint *len,
+                           guint *nbytes);
+extern int asn1_sequence_decode (ASN1_SCK *asn1, guint *seq_len, guint *nbytes);
+
+extern char *asn1_err_to_str (int err);
+
 #endif