Installing top-level API and documentation.
authorSebastian Hammer <quinn@indexdata.com>
Tue, 7 Mar 1995 09:23:12 +0000 (09:23 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Tue, 7 Mar 1995 09:23:12 +0000 (09:23 +0000)
odr/Makefile
odr/odr.c [new file with mode: 0644]
odr/odr_priv.c

index 1ba77f5..b17aa3d 100644 (file)
@@ -1,7 +1,7 @@
 # Copyright (C) 1994, Index Data I/S 
 # All rights reserved.
 # Sebastian Hammer, Adam Dickmeiss
-# $Id: Makefile,v 1.3 1995-02-09 16:02:42 quinn Exp $
+# $Id: Makefile,v 1.4 1995-03-07 09:23:12 quinn Exp $
 
 SHELL=/bin/sh
 INCLUDE=-I../include -I.
@@ -11,7 +11,7 @@ LIB=odr.a
 PO = odr_bool.o ber_bool.o ber_len.o ber_tag.o odr_util.o odr_null.o \
        ber_null.o odr_int.o ber_int.o odr_tag.o odr_cons.o odr_seq.o\
        odr_oct.o ber_oct.o odr_bit.o ber_bit.o odr_oid.o ber_oid.o odr_use.o \
-       odr_choice.o odr_any.o ber_any.o
+       odr_choice.o odr_any.o ber_any.o odr.o
 CPP=cc -E
 
 all: $(LIB) test
diff --git a/odr/odr.c b/odr/odr.c
new file mode 100644 (file)
index 0000000..2347ef3
--- /dev/null
+++ b/odr/odr.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 1994, Index Data I/S 
+ * All rights reserved.
+ * Sebastian Hammer, Adam Dickmeiss
+ *
+ * $Log: odr.c,v $
+ * Revision 1.1  1995-03-07 09:23:15  quinn
+ * Installing top-level API and documentation.
+ *
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <odr.h>
+
+char *odr_errlist[] =
+{
+    "No (unknown) error",
+    "Memoy allocation failed",
+    "System error",
+    "No space in buffer",
+    "Required data element missing",
+    "Unexpected tag",
+    "Other error"
+};
+
+void odr_perror(ODR o, char *message)
+{
+    fprintf(stderr, "%s: %s\n", message, odr_errlist[o->error]);
+}
+
+void odr_setprint(ODR o, FILE *file)
+{
+    o->print = file;
+}
+
+ODR odr_createmem(int direction)
+{
+    struct odr *r;
+
+    if (!(r = malloc(sizeof(*r))))
+       return 0;
+    r->direction = direction;
+    r->print = stdout;
+    r->buf = 0;
+    r->buflen = 0;
+    odr_reset(r);
+    return r;
+}
+
+void odr_reset(ODR o)
+{
+    o->error = ONONE;
+    o->bp = 0;
+    o->left = o->buflen;
+    o->t_class = -1;
+    o->t_tag = -1;
+    o->indent = 0;
+    o->stackp = 0;
+}
+    
+void odr_destroy(ODR o)
+{
+    free(o);
+}
index fe3db36..a5a3827 100644 (file)
@@ -1 +1,13 @@
-#define ber_enclen_short(b, len) ((*(b) = (len) & 0X7F), 1)
+/*
+ * Copyright (C) 1994, Index Data I/S 
+ * All rights reserved.
+ * Sebastian Hammer, Adam Dickmeiss
+ *
+ * $Log: odr_priv.c,v $
+ * Revision 1.2  1995-03-07 09:23:20  quinn
+ * Installing top-level API and documentation.
+ *
+ *
+ */
+
+