+char *odr_errmsg(int n)
+{
+ return odr_errlist[n];
+}
+
+void odr_perror(ODR o, const char *message)
+{
+ const char *e = odr_getelement(o);
+ int err, x;
+
+ err = odr_geterrorx(o, &x);
+ fprintf(stderr, "%s: %s (code %d:%d)", message, odr_errlist[err], err, x);
+ if (e && *e)
+ fprintf (stderr, " element %s", e);
+ fprintf(stderr, "\n");
+}
+
+int odr_geterror(ODR o)