5ad078b0ecdd7c6aed18ed53bdb21bc390997b17
[yaz-moved-to-github.git] / include / odr_use.h
1 /*
2  * Copyright (C) 1994, Index Data I/S 
3  * All rights reserved.
4  * Sebastian Hammer, Adam Dickmeiss
5  *
6  * $Log: odr_use.h,v $
7  * Revision 1.1  1995-03-30 09:39:41  quinn
8  * Moved .h files to include directory
9  *
10  * Revision 1.2  1995/02/09  15:51:50  quinn
11  * Works better now.
12  *
13  * Revision 1.1  1995/02/07  17:53:00  quinn
14  * A damn mess, but now things work, I think.
15  *
16  */
17
18 #ifndef ODR_USE_H
19 #define ODR_USE_H
20
21 typedef struct Odr_external
22 {
23     Odr_oid *direct_reference;       /* OPTIONAL */
24     int     *indirect_reference;     /* OPTIONAL */
25     char    *descriptor;             /* OPTIONAL */
26     int which;
27 #define ODR_EXTERNAL_single 0
28 #define ODR_EXTERNAL_octet 1
29 #define ODR_EXTERNAL_arbitrary 2
30     union
31     {
32         Odr_any  *single_ASN1_type;
33         Odr_oct  *octet_aligned;          /* should be union */
34         Odr_bitmask *arbitrary;           /* we aren't really equipped for this*/
35     } u;
36 } Odr_external;
37
38 int odr_external(ODR o, Odr_external **p, int opt);
39
40 int odr_visiblestring(ODR o, char **p, int opt);
41 int odr_graphicstring(ODR o, char **p, int opt);
42
43 #endif