+++ /dev/null
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-]>
-<refentry id="yaz-comp">
-
- <refmeta>
- <refentrytitle>yaz-comp</refentrytitle>
- <manvolnum>1</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>yaz-comp</refname>
- <refpurpose>YAZ ASN.1 compiler</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>yaz-comp</command>
- <arg choice="opt"><option>-v</option></arg>
- <arg choice="opt"><option>-c <replaceable>cfile</replaceable></option></arg>
- <arg choice="opt"><option>-h <replaceable>hfile</replaceable></option></arg>
- <arg choice="opt"><option>-p <replaceable>pfile</replaceable></option></arg>
- <arg choice="opt"><option>-d <replaceable>config</replaceable></option></arg>
- <arg choice="opt"><option>-I <replaceable>includeout</replaceable></option></arg>
- <arg choice="opt"><option>-i <replaceable>includedir</replaceable></option></arg>
- <arg choice="opt"><option>-m <replaceable>module</replaceable></option></arg>
- <arg choice="opt">asn-file</arg>
- </cmdsynopsis>
-
- </refsynopsisdiv>
- <refsect1><title>DESCRIPTION</title>
- <para>
- <command>yaz-comp</command> is an ASN.1 compiler that
- reads an ASN.1 specification and produces C/C++ definitions
- and encoders/decoders for it.
- </para>
- </refsect1>
- <refsect1>
- <title>OPTIONS</title>
- <variablelist>
- <varlistentry><term><literal>-v </literal>
- </term>
- <listitem>
- <para>
- Makes the ASN.1 compiler print more verbose about the
- various stages of operations.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><literal>-c </literal>
- <replaceable>cfile</replaceable></term>
- <listitem><para>
- Specifies the name of the C/C++ file with encoders/decoders.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-c </literal>
- <replaceable>cfile</replaceable></term>
- <listitem><para>
- Specifies the name of the C/C++ file with encoders/decoders.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-c </literal>
- <replaceable>cfile</replaceable></term>
- <listitem><para>
- Specifies the name of the C/C++ file with encoders/decoders.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-h </literal>
- <replaceable>hfile</replaceable></term>
- <listitem><para>
- Specifies the name of header file with definitions.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-p </literal>
- <replaceable>pfile</replaceable></term>
- <listitem><para>
- Specifies the name of the a private header file with
- definitions. By default all definitions are put
- in header file (option -h).
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-d </literal>
- <replaceable>dfile</replaceable></term>
- <listitem><para>
- Specifies the name of a definitions file.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-I </literal>
- <replaceable>iout</replaceable></term>
- <listitem><para>
- Specifies first part of directory in which header files
- are written.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-i </literal>
- <replaceable>idir</replaceable></term>
- <listitem><para>
- Specifies second part of directory in which header files
- are written.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>-m </literal>
- <replaceable>module</replaceable></term>
- <listitem><para>
- Specifies that ASN.1 compiler should only process the
- module given. If this option is not specified,
- all modules in the ASN.1 file are processed.
- </para></listitem></varlistentry>
-
- </variablelist>
- </refsect1>
- <refsect1><title>DEFINITIONS FILE</title>
- <para>
- The definitions file is really a Tcl script but follows
- traditional rules for Shell like configuration files.
- That is # denotes the beginning of a comment. Definitions
- are line oriented. The definitions files usually consists of
- a series of variable assignments of the form:
- </para>
- <para>
- <literal>set</literal> <replaceable>name</replaceable> <replaceable>value</replaceable>
- </para>
- <para>
- Available variables are:
- <variablelist>
-
- <varlistentry><term><literal>default-prefix</literal></term>
- <listitem><para>
- Sets prefix for names in the produced output.
- The value consists of three tokens: C function prefix,
- C typedef prefix and preprocessor prefix respectively.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>prefix(</literal><replaceable>module</replaceable><literal>)</literal></term>
- <listitem><para>
- This value sets prefix values for module
- <replaceable>module</replaceable>.
- The value has same form as <literal>default-prefix</literal>.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>filename(</literal><replaceable>module</replaceable><literal>)</literal></term>
- <listitem><para>
- Specifies filename for C/header file for module
- <replaceable>module</replaceable>.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>init(</literal><replaceable>module</replaceable><literal>,h)</literal></term>
- <listitem><para>
- Code fragment to be put in first part of public header for module
- <replaceable>module</replaceable>.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>body(</literal><replaceable>module</replaceable><literal>,h)</literal></term>
- <listitem><para>
- Code fragment to be put in last part of public header for module
- <replaceable>module</replaceable> (trailer).
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>init(</literal><replaceable>module</replaceable><literal>,c)</literal></term>
- <listitem><para>
- Code fragment to be put in first part of C encoder/decoder for
- module <replaceable>module</replaceable>.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>body(</literal><replaceable>module</replaceable><literal>,c)</literal></term>
- <listitem><para>
- Code fragment to be put in last part of C encoder/decoder for
- module <replaceable>module</replaceable> (trailer).
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>map(</literal><replaceable>module</replaceable><literal>,</literal><replaceable>name</replaceable><literal>)</literal></term>
- <listitem><para>
- Maps ASN.1 type in module <replaceable>module</replaceable>
- of <replaceable>name</replaceable> to value.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>membermap(</literal><replaceable>module</replaceable><literal>,</literal><replaceable>name</replaceable><literal>,</literal><replaceable>member</replaceable><literal>)</literal></term>
- <listitem><para>
- Maps member <replaceable>member</replaceable> in SEQUENCE of
- <replaceable>name</replaceable> in module
- <replaceable>module</replaceable> to value.
- </para></listitem></varlistentry>
-
- <varlistentry><term><literal>unionmap(</literal><replaceable>module</replaceable><literal>,</literal><replaceable>name</replaceable><literal>,</literal><replaceable>member</replaceable><literal>)</literal></term>
- <listitem><para>
- Maps member <replaceable>member</replaceable> in CHOICE of
- <replaceable>name</replaceable> in module
- <replaceable>module</replaceable> to value.
- Value consists of three tokens.
- </para></listitem></varlistentry>
-
- </variablelist>
- </para>
- </refsect1>
- <refsect1><title>FILES</title>
- <para>
- <filename>/usr/share/yaz/z39.50/z.tcl</filename>
- </para>
- <para>
- <filename>/usr/share/yaz/z39.50/*.asn</filename>
- </para>
- </refsect1>
- <refsect1><title>SEE ALSO</title>
- <para>
- <citerefentry>
- <refentrytitle>yaz</refentrytitle>
- <manvolnum>7</manvolnum></citerefentry>
- </para>
- <para>
- Section "Generic server" in the YAZ manual.
- </para>
- </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:1
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-local-catalogs: nil
-sgml-namecase-general:t
-End:
--->