# 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.
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
--- /dev/null
+/*
+ * 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);
+}
-#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.
+ *
+ *
+ */
+
+