X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fprt.h;h=ed79b419e43a68e1b499bb55034109f5717908b3;hp=5276e169323319d75ae46d2db546475b61411b37;hb=a49837cbe6fcbeeb9ce857b0eeb942619ba80b5e;hpb=c70f63352bac2f0bfdcc3078d69f43adbcc7ad2d diff --git a/include/prt.h b/include/prt.h index 5276e16..ed79b41 100644 --- a/include/prt.h +++ b/include/prt.h @@ -1,44 +1,89 @@ -int ber_boolean(ODR o, int *val); -int ber_tag(ODR o, void *p, int class, int tag, int *constructed, int opt); -int ber_enctag(ODR o, int class, int tag, int constructed); -int ber_dectag(unsigned char *buf, int *class, int *tag, int *constructed); -int odr_bool(ODR o, int **p, int opt); -int odr_integer(ODR o, int **p, int opt); -int odr_implicit_settag(ODR o, int class, int tag); -#if 0 -int odr_implicit(ODR o, int (*type)(ODR o, void *p, int opt), void *p, - int class, int tag, int opt); +/* + * Copyright (c) 1995-1998, Index Data + * See the file LICENSE for details. + * Sebastian Hammer, Adam Dickmeiss + * + * $Log: prt.h,v $ + * Revision 1.24 1998-03-20 17:29:20 adam + * Include of odr_use.h in odr.h. Added prototype for odr_enum. + * + * Revision 1.23 1998/03/20 14:45:27 adam + * Implemented odr_set_of and odr_enum. + * + * Revision 1.22 1998/02/11 11:53:34 adam + * Changed code so that it compiles as C++. + * + * Revision 1.21 1997/10/31 12:20:08 adam + * Improved memory debugging for xmalloc/nmem.c. References to NMEM + * instead of ODR in n ESPEC-1 handling in source d1_espec.c. + * Bug fix: missing fclose in data1_read_espec1. + * + */ + +#ifndef PRT_H +#define PRT_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +YAZ_EXPORT int ber_boolean(ODR o, int *val); +YAZ_EXPORT int ber_tag(ODR o, void *p, int zclass, int tag, int *constructed, int opt); +YAZ_EXPORT int ber_enctag(ODR o, int zclass, int tag, int constructed); +YAZ_EXPORT int ber_dectag(unsigned char *buf, int *zclass, int *tag, int *constructed); +YAZ_EXPORT int odr_bool(ODR o, int **p, int opt); +YAZ_EXPORT int odr_integer(ODR o, int **p, int opt); +YAZ_EXPORT int odr_enum(ODR o, int **p, int opt); +YAZ_EXPORT int odr_implicit_settag(ODR o, int zclass, int tag); +YAZ_EXPORT int ber_enclen(ODR o, int len, int lenlen, int exact); +YAZ_EXPORT int ber_declen(unsigned char *buf, int *len); +YAZ_EXPORT char *odr_indent(ODR o); +YAZ_EXPORT int ber_null(ODR o); +YAZ_EXPORT int odr_null(ODR o, Odr_null **p, int opt); +YAZ_EXPORT int ber_integer(ODR o, int *val); +YAZ_EXPORT int odr_constructed_begin(ODR o, void *p, int zclass, int tag); +YAZ_EXPORT int odr_constructed_end(ODR o); +YAZ_EXPORT int odr_sequence_begin(ODR o, void *p, int size); +YAZ_EXPORT int odr_set_begin(ODR o, void *p, int size); +YAZ_EXPORT int odr_sequence_end(ODR o); +YAZ_EXPORT int odr_set_end(ODR o); +YAZ_EXPORT int ber_octetstring(ODR o, Odr_oct *p, int cons); +YAZ_EXPORT int odr_octetstring(ODR o, Odr_oct **p, int opt); +YAZ_EXPORT int odp_more_chunks(ODR o, unsigned char *base, int len); +YAZ_EXPORT int odr_constructed_more(ODR o); +YAZ_EXPORT int odr_bitstring(ODR o, Odr_bitmask **p, int opt); +YAZ_EXPORT int ber_bitstring(ODR o, Odr_bitmask *p, int cons); +YAZ_EXPORT int odr_generalstring(ODR o, char **p, int opt); +YAZ_EXPORT int ber_oidc(ODR o, Odr_oid *p); +YAZ_EXPORT int odr_oid(ODR o, Odr_oid **p, int opt); +YAZ_EXPORT int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp); +YAZ_EXPORT int odr_cstring(ODR o, char **p, int opt); +YAZ_EXPORT int odr_sequence_of(ODR o, Odr_fun type, void *p, int *num); +YAZ_EXPORT int odr_set_of(ODR o, Odr_fun type, void *p, int *num); +YAZ_EXPORT int odr_any(ODR o, Odr_any **p, int opt); +YAZ_EXPORT int ber_any(ODR o, Odr_any **p); +YAZ_EXPORT int completeBER(unsigned char *buf, int len); +YAZ_EXPORT void odr_begin(ODR o); +YAZ_EXPORT void odr_end(ODR o); +YAZ_EXPORT Odr_oid *odr_oiddup(ODR odr, Odr_oid *o); +YAZ_EXPORT Odr_oid *odr_oiddup_nmem(NMEM nmem, Odr_oid *o); +YAZ_EXPORT int odr_grow_block(odr_ecblock *b, int min_bytes); +YAZ_EXPORT int odr_write(ODR o, unsigned char *buf, int bytes); +YAZ_EXPORT int odr_seek(ODR o, int whence, int offset); +YAZ_EXPORT int odr_dumpBER(FILE *f, char *buf, int len); +YAZ_EXPORT void odr_choice_bias(ODR o, int what); +YAZ_EXPORT void odr_choice_enable_bias(ODR o, int mode); +YAZ_EXPORT int odr_total(ODR o); +YAZ_EXPORT char *odr_errmsg(int n); +YAZ_EXPORT Odr_oid *odr_getoidbystr(ODR o, char *str); +YAZ_EXPORT Odr_oid *odr_getoidbystr_nmem(NMEM o, char *str); +YAZ_EXPORT int odr_initmember(ODR o, void *p, int size); +YAZ_EXPORT int odr_peektag(ODR o, int *zclass, int *tag, int *cons); +YAZ_EXPORT void odr_setlenlen(ODR o, int len); +#ifdef __cplusplus +} +#endif + #endif -int ber_enclen(ODR o, int len, int lenlen, int exact); -int ber_declen(unsigned char *buf, int *len); -char *odr_indent(ODR o); -int ber_null(ODR o); -int odr_null(ODR o, Odr_null **p, int opt); -int ber_integer(ODR o, int *val); -int odr_constructed_begin(ODR o, void *p, int class, int tag); -int odr_constructed_end(ODR o); -int odr_sequence_begin(ODR o, void *p, int size); -int odr_sequence_end(ODR o); -int ber_octetstring(ODR o, Odr_oct *p, int cons); -int odr_octetstring(ODR o, Odr_oct **p, int opt); -int odp_more_chunks(ODR o, unsigned char *base, int len); -int odr_constructed_more(ODR o); -int odr_bitstring(ODR o, Odr_bitmask **p, int opt); -int ber_bitstring(ODR o, Odr_bitmask *p, int cons); -int odr_generalstring(ODR o, char **p, int opt); -int ber_oidc(ODR o, Odr_oid *p); -int odr_oid(ODR o, Odr_oid **p, int opt); -int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp); -int odr_cstring(ODR o, char **p, int opt); -int odr_sequence_of(ODR o, Odr_fun type, void *p, int *num); -int odr_any(ODR o, Odr_any **p, int opt); -int ber_any(ODR o, Odr_any **p); -int completeBER(unsigned char *buf, int len); -void odr_begin(ODR o); -void odr_end(ODR o); -void odr_release_mem(struct odr_memblock *p); -Odr_oid *odr_oiddup(ODR odr, Odr_oid *o); -int odr_grow_block(odr_ecblock *b, int min_bytes); -int odr_write(ODR o, unsigned char *buf, int bytes); -int odr_seek(ODR o, int whence, int offset); -int odr_dumpBER(FILE *f, char *buf, int len);