X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=odr%2Fodr_use.c;fp=odr%2Fodr_use.c;h=4d69073ea0772d5fdde0f0e0824c93c6be353c3f;hb=82c1521f196b83c0ede4200b21eb25ed86bbf48e;hp=0000000000000000000000000000000000000000;hpb=32226b4f15d634d5e48b1306aeeb26a370c8f5c5;p=yaz-moved-to-github.git diff --git a/odr/odr_use.c b/odr/odr_use.c new file mode 100644 index 0000000..4d69073 --- /dev/null +++ b/odr/odr_use.c @@ -0,0 +1,42 @@ +/* + * Copyright (C) 1994, Index Data I/S + * All rights reserved. + * Sebastian Hammer, Adam Dickmeiss + * + * $Log: odr_use.c,v $ + * Revision 1.1 1995-02-03 17:04:39 quinn + * Initial revision + * + */ + +#include +#include + +int odr_external(ODR o, Odr_external **p, int opt) +{ + Odr_external *pp; + + odr_implicit_settag(o, ODR_UNIVERSAL, ODR_EXTERNAL); + if (!odr_sequence_begin(o, p, sizeof(Odr_external))) + return opt; + pp = *p; + return + odr_oid(o, &pp->direct_reference, 1) && + odr_integer(o, &pp->indirect_reference, 1) && + odr_graphicstring(o, &pp->descriptor, 1) && + odr_implicit(o, odr_octetstring, &pp->octet_aligned, ODR_CONTEXT, + 1, 0) && + odr_sequence_end(o); +} + +int odr_visiblestring(ODR o, char **p, int opt) +{ + return odr_implicit(o, odr_cstring, p, ODR_UNIVERSAL, ODR_VISIBLESTRING, + opt); +} + +int odr_graphicstring(ODR o, char **p, int opt) +{ + return odr_implicit(o, odr_cstring, p, ODR_UNIVERSAL, ODR_GRAPHICSTRING, + opt); +}