+int odr_geterrorx(ODR o, int *x)
+{
+ if (x)
+ *x = o->op->error_id;
+ return o->error;
+}
+
+char *odr_getaddinfo(ODR o)
+{
+ return o->op->addinfo;
+}
+
+void odr_seterror(ODR o, int error, int id)
+{
+ o->error = error;
+ o->op->error_id = id;
+ o->op->addinfo[0] = '\0';
+}
+
+void odr_setaddinfo(ODR o, const char *addinfo)
+{
+ if (addinfo)
+ {
+ strncpy(o->op->addinfo, addinfo, sizeof(o->op->addinfo)-1);
+ o->op->addinfo[sizeof(o->op->addinfo)-1] = '\0';
+ }
+}
+