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