/*
- * Copyright (c) 1995-1998, Index Data.
+ * Copyright (c) 1995-1999, Index Data.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation, in whole or in part, for any purpose, is hereby granted,
* OF THIS SOFTWARE.
*
* $Log: odr.h,v $
- * Revision 1.25 1998-02-11 11:53:33 adam
+ * Revision 1.28 1999-03-31 11:18:25 adam
+ * Implemented odr_strdup. Added Reference ID to backend server API.
+ *
+ * Revision 1.27 1999/01/08 11:23:17 adam
+ * Added const modifier to some of the BER/ODR encoding routines.
+ *
+ * Revision 1.26 1998/03/20 17:29:20 adam
+ * Include of odr_use.h in odr.h. Added prototype for odr_enum.
+ *
+ * Revision 1.25 1998/02/11 11:53:33 adam
* Changed code so that it compiles as C++.
*
* Revision 1.24 1997/11/24 11:33:56 adam
typedef struct odr_constack
{
- unsigned char *base; /* starting point of data */
+ const unsigned char *base; /* starting point of data */
int base_offset;
int len; /* length of data, if known, else -1
(decoding only) */
- unsigned char *lenb; /* where to encode length */
+ const unsigned char *lenb; /* where to encode length */
int len_offset;
int lenlen; /* length of length-field */
} odr_constack;
int direction; /* the direction of this stream */
int error; /* current error state (0==OK) */
- unsigned char *buf; /* for encoding or decoding */
+ const unsigned char *buf; /* for encoding or decoding */
int buflen; /* size of buffer for encoding, len for decoding */
- unsigned char *bp; /* position in buffer */
+ const unsigned char *bp; /* position in buffer */
int left; /* bytes remaining in buffer */
odr_ecblock ecb; /* memory control block */
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 char *odr_strdup(ODR o, const char *str);
YAZ_EXPORT NMEM odr_extract_mem(ODR o);
YAZ_EXPORT Odr_null *odr_nullval(void);
#define odr_release_mem(m) nmem_destroy(m)
}
#endif
+#include <odr_use.h>
#include <prt.h>
#include <xmalloc.h>