Manual page for yaz-comp
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 27 May 2003 12:45:23 +0000 (12:45 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 27 May 2003 12:45:23 +0000 (12:45 +0000)
doc/Makefile.am
doc/yaz-comp.sgml [new file with mode: 0644]

index 58c214a..46800e3 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.45 2003-05-12 22:37:56 adam Exp $
+## $Id: Makefile.am,v 1.46 2003-05-27 12:45:23 adam Exp $
 
 docdir=$(datadir)/doc/@PACKAGE@
 
@@ -24,7 +24,7 @@ HTMLFILES = \
  zoom.records.html zoom.resultsets.html zoom.scan.html
 
 MANFILES=yaz-client.1 yaz-client-ssl.1 yaz-ztest.8 \
-       yaz-ztest-ssl.8 yaz-config.8 yaz.7 zoomsh.1
+       yaz-ztest-ssl.8 yaz-config.8 yaz.7 zoomsh.1 yaz-comp.1
 REFFILES=yaz-client.sgml yaz-ztest.sgml yaz-config.sgml \
        yaz-man.sgml zoomsh.sgml
 
@@ -60,6 +60,9 @@ yaz-ztest-ssl.8:
 yaz-client-ssl.1:
        ln -s yaz-client.1 yaz-client-ssl.1
 
+yaz-comp.1: yaz-comp.sgml
+       docbook2man $(srcdir)/yaz-comp.sgml
+
 $(HTMLFILES): $(XMLFILES)  
        jade -E14 -D $(srcdir) -d yazhtml.dsl -t sgml $(srcdir)/xml.dcl yaz.xml
 
diff --git a/doc/yaz-comp.sgml b/doc/yaz-comp.sgml
new file mode 100644 (file)
index 0000000..7d27727
--- /dev/null
@@ -0,0 +1,228 @@
+<!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:
+-->