-int MDF odr_geterror(ODR o);
-void MDF odr_perror(ODR o, char *message);
-void MDF odr_setprint(ODR o, FILE *file);
-ODR MDF odr_createmem(int direction);
-void MDF odr_reset(ODR o);
-void MDF odr_destroy(ODR o);
-void MDF odr_setbuf(ODR o, char *buf, int len, int can_grow);
-char MDF *odr_getbuf(ODR o, int *len, int *size);
-void MDF *odr_malloc(ODR o, int size);
-ODR_MEM MDF odr_extract_mem(ODR o);
-void MDF odr_release_mem(ODR_MEM p);
+int odr_geterror(ODR o);
+void odr_perror(ODR o, char *message);
+void odr_setprint(ODR o, FILE *file);
+ODR odr_createmem(int direction);
+void odr_reset(ODR o);
+void odr_destroy(ODR o);
+void odr_setbuf(ODR o, char *buf, int len, int can_grow);
+char *odr_getbuf(ODR o, int *len, int *size);
+void *odr_malloc(ODR o, int size);
+NMEM odr_extract_mem(ODR o);
+#define odr_release_mem(m) nmem_destroy(m)
+#define ODR_MEM NMEM