-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);
+YAZ_EXPORT int odr_geterror(ODR o);
+YAZ_EXPORT void odr_perror(ODR o, char *message);
+YAZ_EXPORT void odr_setprint(ODR o, FILE *file);
+YAZ_EXPORT ODR odr_createmem(int direction);
+YAZ_EXPORT void odr_reset(ODR o);
+YAZ_EXPORT void odr_destroy(ODR o);
+YAZ_EXPORT void odr_setbuf(ODR o, char *buf, int len, int can_grow);
+YAZ_EXPORT char *odr_getbuf(ODR o, int *len, int *size);
+YAZ_EXPORT void *odr_malloc(ODR o, int size);
+YAZ_EXPORT NMEM odr_extract_mem(ODR o);
+YAZ_EXPORT Odr_null *odr_nullval(void);