aboutsummaryrefslogtreecommitdiff
path: root/src/lib/krb5/asn.1/asn1_get.h
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1994-06-29 05:35:50 +0000
committerTom Yu <tlyu@mit.edu>1994-06-29 05:35:50 +0000
commitba0c614172f11219c430b17cd14602d9f7e629e3 (patch)
tree61c2ac5235dbd41debd8aaf0d6eb63be20e1a506 /src/lib/krb5/asn.1/asn1_get.h
parent0ab5822efa69c6b2236b5f052775b2ce86c7c30e (diff)
downloadkrb5-ba0c614172f11219c430b17cd14602d9f7e629e3.zip
krb5-ba0c614172f11219c430b17cd14602d9f7e629e3.tar.gz
krb5-ba0c614172f11219c430b17cd14602d9f7e629e3.tar.bz2
folding in Harry's changes
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3924 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/asn.1/asn1_get.h')
-rw-r--r--src/lib/krb5/asn.1/asn1_get.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/lib/krb5/asn.1/asn1_get.h b/src/lib/krb5/asn.1/asn1_get.h
new file mode 100644
index 0000000..1e4896b
--- /dev/null
+++ b/src/lib/krb5/asn.1/asn1_get.h
@@ -0,0 +1,55 @@
+#ifndef __ASN1_GET_H__
+#define __ASN1_GET_H__
+
+/* ASN.1 substructure decoding procedures */
+
+#include <krb5/krb5.h>
+#include "krbasn1.h"
+#include "asn1buf.h"
+
+asn1_error_code asn1_get_tag
+ PROTOTYPE((asn1buf *buf,
+ asn1_class *class,
+ asn1_construction *construction,
+ asn1_tagnum *tagnum,
+ int *retlen));
+/* requires *buf is allocated
+ effects Decodes the tag in *buf. If class != NULL, returns
+ the class in *class. Similarly, the construction,
+ tag number, and length are returned in *construction,
+ *tagnum, and *retlen, respectively.
+ If *buf is empty to begin with,
+ *tagnum is set to ASN1_TAGNUM_CEILING.
+ Returns ASN1_OVERRUN if *buf is exhausted during the parse. */
+
+asn1_error_code asn1_get_sequence
+ PROTOTYPE((asn1buf *buf, int *retlen));
+/* requires *buf is allocated
+ effects Decodes a tag from *buf and returns ASN1_BAD_ID if it
+ doesn't have a sequence ID. If retlen != NULL, the
+ associated length is returned in *retlen. */
+
+/****************************************************************/
+/* Private Procedures */
+
+asn1_error_code asn1_get_id
+ PROTOTYPE((asn1buf *buf,
+ asn1_class *class,
+ asn1_construction *construction,
+ asn1_tagnum *tagnum));
+/* requires *buf is allocated
+ effects Decodes the group of identifier octets at *buf's
+ current position. If class != NULL, returns the class
+ in *class. Similarly, the construction and tag number
+ are returned in *construction and *tagnum, respectively.
+ Returns ASN1_OVERRUN if *buf is exhausted. */
+
+asn1_error_code asn1_get_length
+ PROTOTYPE((asn1buf *buf, int *retlen));
+/* requires *buf is allocated
+ effects Decodes the group of length octets at *buf's
+ current position. If retlen != NULL, the
+ length is returned in *retlen.
+ Returns ASN1_OVERRUN if *buf is exhausted. */
+
+#endif