Minor fix.
[yaz-moved-to-github.git] / include / prt.h
1 /*
2  * Copyright (c) 1995-1998, Index Data
3  * See the file LICENSE for details.
4  * Sebastian Hammer, Adam Dickmeiss
5  *
6  * $Log: prt.h,v $
7  * Revision 1.24  1998-03-20 17:29:20  adam
8  * Include of odr_use.h in odr.h. Added prototype for odr_enum.
9  *
10  * Revision 1.23  1998/03/20 14:45:27  adam
11  * Implemented odr_set_of and odr_enum.
12  *
13  * Revision 1.22  1998/02/11 11:53:34  adam
14  * Changed code so that it compiles as C++.
15  *
16  * Revision 1.21  1997/10/31 12:20:08  adam
17  * Improved memory debugging for xmalloc/nmem.c. References to NMEM
18  * instead of ODR in n ESPEC-1 handling in source d1_espec.c.
19  * Bug fix: missing fclose in data1_read_espec1.
20  *
21  */
22
23 #ifndef PRT_H
24 #define PRT_H
25
26 #include <yconfig.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 YAZ_EXPORT int ber_boolean(ODR o, int *val);
33 YAZ_EXPORT int ber_tag(ODR o, void *p, int zclass, int tag, int *constructed, int opt);
34 YAZ_EXPORT int ber_enctag(ODR o, int zclass, int tag, int constructed);
35 YAZ_EXPORT int ber_dectag(unsigned char *buf, int *zclass, int *tag, int *constructed);
36 YAZ_EXPORT int odr_bool(ODR o, int **p, int opt);
37 YAZ_EXPORT int odr_integer(ODR o, int **p, int opt);
38 YAZ_EXPORT int odr_enum(ODR o, int **p, int opt);
39 YAZ_EXPORT int odr_implicit_settag(ODR o, int zclass, int tag);
40 YAZ_EXPORT int ber_enclen(ODR o, int len, int lenlen, int exact);
41 YAZ_EXPORT int ber_declen(unsigned char *buf, int *len);
42 YAZ_EXPORT char *odr_indent(ODR o);
43 YAZ_EXPORT int ber_null(ODR o);
44 YAZ_EXPORT int odr_null(ODR o, Odr_null **p, int opt);
45 YAZ_EXPORT int ber_integer(ODR o, int *val);
46 YAZ_EXPORT int odr_constructed_begin(ODR o, void *p, int zclass, int tag);
47 YAZ_EXPORT int odr_constructed_end(ODR o);
48 YAZ_EXPORT int odr_sequence_begin(ODR o, void *p, int size);
49 YAZ_EXPORT int odr_set_begin(ODR o, void *p, int size);
50 YAZ_EXPORT int odr_sequence_end(ODR o);
51 YAZ_EXPORT int odr_set_end(ODR o);
52 YAZ_EXPORT int ber_octetstring(ODR o, Odr_oct *p, int cons);
53 YAZ_EXPORT int odr_octetstring(ODR o, Odr_oct **p, int opt);
54 YAZ_EXPORT int odp_more_chunks(ODR o, unsigned char *base, int len);
55 YAZ_EXPORT int odr_constructed_more(ODR o);
56 YAZ_EXPORT int odr_bitstring(ODR o, Odr_bitmask **p, int opt);
57 YAZ_EXPORT int ber_bitstring(ODR o, Odr_bitmask *p, int cons);
58 YAZ_EXPORT int odr_generalstring(ODR o, char **p, int opt);
59 YAZ_EXPORT int ber_oidc(ODR o, Odr_oid *p);
60 YAZ_EXPORT int odr_oid(ODR o, Odr_oid **p, int opt);
61 YAZ_EXPORT int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp);
62 YAZ_EXPORT int odr_cstring(ODR o, char **p, int opt);
63 YAZ_EXPORT int odr_sequence_of(ODR o, Odr_fun type, void *p, int *num);
64 YAZ_EXPORT int odr_set_of(ODR o, Odr_fun type, void *p, int *num);
65 YAZ_EXPORT int odr_any(ODR o, Odr_any **p, int opt);
66 YAZ_EXPORT int ber_any(ODR o, Odr_any **p);
67 YAZ_EXPORT int completeBER(unsigned char *buf, int len);
68 YAZ_EXPORT void odr_begin(ODR o);
69 YAZ_EXPORT void odr_end(ODR o);
70 YAZ_EXPORT Odr_oid *odr_oiddup(ODR odr, Odr_oid *o);
71 YAZ_EXPORT Odr_oid *odr_oiddup_nmem(NMEM nmem, Odr_oid *o);
72 YAZ_EXPORT int odr_grow_block(odr_ecblock *b, int min_bytes);
73 YAZ_EXPORT int odr_write(ODR o, unsigned char *buf, int bytes);
74 YAZ_EXPORT int odr_seek(ODR o, int whence, int offset);
75 YAZ_EXPORT int odr_dumpBER(FILE *f, char *buf, int len);
76 YAZ_EXPORT void odr_choice_bias(ODR o, int what);
77 YAZ_EXPORT void odr_choice_enable_bias(ODR o, int mode);
78 YAZ_EXPORT int odr_total(ODR o);
79 YAZ_EXPORT char *odr_errmsg(int n);
80 YAZ_EXPORT Odr_oid *odr_getoidbystr(ODR o, char *str);
81 YAZ_EXPORT Odr_oid *odr_getoidbystr_nmem(NMEM o, char *str);
82 YAZ_EXPORT int odr_initmember(ODR o, void *p, int size);
83 YAZ_EXPORT int odr_peektag(ODR o, int *zclass, int *tag, int *cons);
84 YAZ_EXPORT void odr_setlenlen(ODR o, int len);
85 #ifdef __cplusplus
86 }
87 #endif
88
89 #endif