Sophie

Sophie

distrib > PLD > ac > amd64 > media > dist > by-pkgid > ddf6dba668b771d05bdb2f2d9de14a1e > files > 14

enca-devel-1.5-1.amd64.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Typedefs and Constants</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
        .synopsis, .classsynopsis {
            background: #eeeeee;
            border: solid 1px #aaaaaa;
            padding: 0.5em;
        }
        .programlisting {
            background: #eeeeff;
            border: solid 1px #aaaaff;
            padding: 0.5em;
        }
        .variablelist {
            padding: 4px;
            margin-left: 3em;
        }
        .navigation {
            background: #ffeeee;
            border: solid 1px #ffaaaa;
            margin-top: 0.5em;
            margin-bottom: 0.5em;
        }
        .navigation a {
            color: #770000;
        }
        .navigation a:visited {
            color: #550000;
        }
        .navigation .title {
            font-size: 200%;
        }
      </style><link rel="home" href="index.html" title="Enca Library Reference Manual"><link rel="up" href="ch01.html" title="Enca Library API"><link rel="previous" href="libenca-Analyser.html" title="Analyser"><link rel="next" href="libenca-Charsets-and-Surfaces.html" title="Charsets and Surfaces"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libenca-Analyser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Enca Library Reference Manual</th><td><a accesskey="n" href="libenca-Charsets-and-Surfaces.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="libenca-Typedefs-and-Constants"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2><span class="refentrytitle">Typedefs and Constants</span></h2><p>Typedefs and Constants &#8212; Enca library typedefs, enums and constants.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">



struct      <a href="libenca-Typedefs-and-Constants.html#EncaEncoding">EncaEncoding</a>;
#define     <a href="libenca-Typedefs-and-Constants.html#ENCA-CS-UNKNOWN-CAPS">ENCA_CS_UNKNOWN</a>
enum        <a href="libenca-Typedefs-and-Constants.html#EncaSurface">EncaSurface</a>;
enum        <a href="libenca-Typedefs-and-Constants.html#EncaCharsetFlags">EncaCharsetFlags</a>;
enum        <a href="libenca-Typedefs-and-Constants.html#EncaNameStyle">EncaNameStyle</a>;
enum        <a href="libenca-Typedefs-and-Constants.html#EncaErrno">EncaErrno</a>;
#define     <a href="libenca-Typedefs-and-Constants.html#ENCA-NOT-A-CHAR-CAPS">ENCA_NOT_A_CHAR</a>
</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>

</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="EncaEncoding"></a>struct EncaEncoding</h3><pre class="programlisting">struct EncaEncoding {
 int charset; EncaSurface surface; };
</pre><p>
Encoding, i.e. charset and surface.
</p><p>
This is what <a href="libenca-Analyser.html#enca-analyse">enca_analyse</a>() and <a href="libenca-Analyser.html#enca-analyse-const">enca_analyse_const</a>() return.
</p><p>
The <i class="parameter"><tt>charset</tt></i> field is an opaque numerical charset identifier, which has no
meaning outside Enca library.
You will probably want to use it only as <a href="libenca-Charsets-and-Surfaces.html#enca-charset-name">enca_charset_name</a>() argument.
It is only guaranteed not to change meaning
during program execution time; change of its interpretation (e.g. due to
addition of new charsets) is not considered API change.
</p><p>
The <i class="parameter"><tt>surface</tt></i> field is a combination of <a href="libenca-Typedefs-and-Constants.html#EncaSurface">EncaSurface</a> flags.  You may want
to ignore it completely; you should use <a href="libenca-Analyser.html#enca-set-interpreted-surfaces">enca_set_interpreted_surfaces</a>()
to disable weird surfaces then.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term">int <i class="structfield"><tt>charset</tt></i></span></td><td> Numeric charset identifier.
</td></tr><tr><td><span class="term"><a href="libenca-Typedefs-and-Constants.html#EncaSurface">EncaSurface</a> <i class="structfield"><tt>surface</tt></i></span></td><td> Surface flags.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="ENCA-CS-UNKNOWN-CAPS"></a>ENCA_CS_UNKNOWN</h3><pre class="programlisting">#define ENCA_CS_UNKNOWN (-1)
</pre><p>
Unknown character set id.
</p><p>
Use <a href="libenca-Charsets-and-Surfaces.html#enca-charset-is-known">enca_charset_is_known</a>() to check for unknown charset instead of direct
comparsion.</p><p>

</p></div><hr><div class="refsect2" lang="en"><h3><a name="EncaSurface"></a>enum EncaSurface</h3><pre class="programlisting">typedef enum { /*&lt; flags &gt;*/
  ENCA_SURFACE_EOL_CR    = 1 &lt;&lt; 0,
  ENCA_SURFACE_EOL_LF    = 1 &lt;&lt; 1,
  ENCA_SURFACE_EOL_CRLF  = 1 &lt;&lt; 2,
  ENCA_SURFACE_EOL_MIX   = 1 &lt;&lt; 3,
  ENCA_SURFACE_EOL_BIN   = 1 &lt;&lt; 4,
  ENCA_SURFACE_MASK_EOL  = (ENCA_SURFACE_EOL_CR
                            | ENCA_SURFACE_EOL_LF
                            | ENCA_SURFACE_EOL_CRLF
                            | ENCA_SURFACE_EOL_MIX
                            | ENCA_SURFACE_EOL_BIN),
  ENCA_SURFACE_PERM_21    = 1 &lt;&lt; 5,
  ENCA_SURFACE_PERM_4321  = 1 &lt;&lt; 6,
  ENCA_SURFACE_PERM_MIX   = 1 &lt;&lt; 7,
  ENCA_SURFACE_MASK_PERM  = (ENCA_SURFACE_PERM_21
                             | ENCA_SURFACE_PERM_4321
                             | ENCA_SURFACE_PERM_MIX),
  ENCA_SURFACE_QP        = 1 &lt;&lt; 8,
  ENCA_SURFACE_REMOVE    = 1 &lt;&lt; 13,
  ENCA_SURFACE_UNKNOWN   = 1 &lt;&lt; 14,
  ENCA_SURFACE_MASK_ALL  = (ENCA_SURFACE_MASK_EOL
                            | ENCA_SURFACE_MASK_PERM
                            | ENCA_SURFACE_QP
                            | ENCA_SURFACE_REMOVE)
} EncaSurface;
</pre><p>
Surface flags.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_EOL_CR</tt></span></td><td> End-of-lines are represented with CR's.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_EOL_LF</tt></span></td><td> End-of-lines are represented with LF's.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_EOL_CRLF</tt></span></td><td> End-of-lines are represented with CRLF's.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_EOL_MIX</tt></span></td><td> Several end-of-line types, mixed.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_EOL_BIN</tt></span></td><td> End-of-line concept not applicable (binary data).
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_MASK_EOL</tt></span></td><td> Mask for end-of-line surfaces.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_PERM_21</tt></span></td><td> Odd and even bytes swapped.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_PERM_4321</tt></span></td><td> Reversed byte sequence in 4byte words.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_PERM_MIX</tt></span></td><td> Chunks with both endianess, concatenated.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_MASK_PERM</tt></span></td><td> Mask for permutation surfaces.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_QP</tt></span></td><td> Quoted printables.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_REMOVE</tt></span></td><td> Recode `remove' surface.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_UNKNOWN</tt></span></td><td> Unknown surface.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_SURFACE_MASK_ALL</tt></span></td><td> Mask for all bits, withnout ENCA_SURFACE_UNKNOWN.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="EncaCharsetFlags"></a>enum EncaCharsetFlags</h3><pre class="programlisting">typedef enum { /*&lt; flags &gt;*/
  ENCA_CHARSET_7BIT      = 1 &lt;&lt; 0,
  ENCA_CHARSET_8BIT      = 1 &lt;&lt; 1,
  ENCA_CHARSET_16BIT     = 1 &lt;&lt; 2,
  ENCA_CHARSET_32BIT     = 1 &lt;&lt; 3,
  ENCA_CHARSET_FIXED     = 1 &lt;&lt; 4,
  ENCA_CHARSET_VARIABLE  = 1 &lt;&lt; 5,
  ENCA_CHARSET_BINARY    = 1 &lt;&lt; 6,
  ENCA_CHARSET_REGULAR   = 1 &lt;&lt; 7,
  ENCA_CHARSET_MULTIBYTE = 1 &lt;&lt; 8
} EncaCharsetFlags;
</pre><p>
Charset properties.
</p><p>
Flags <tt class="literal">ENCA_CHARSET_7BIT</tt>, <tt class="literal">ENCA_CHARSET_8BIT</tt>, <tt class="literal">ENCA_CHARSET_16BIT</tt>,
<tt class="literal">ENCA_CHARSET_32BIT</tt> tell how many bits a `fundamental piece' consists of.
This is different from bits per character; r.g. UTF-8 consists of 8bit
pieces (bytes), but character can be composed from 1 to 6 of them.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_7BIT</tt></span></td><td> Characters are represented with 7bit characters.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_8BIT</tt></span></td><td> Characters are represented with bytes.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_16BIT</tt></span></td><td> Characters are represented with 2byte words.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_32BIT</tt></span></td><td> Characters are represented with 4byte words.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_FIXED</tt></span></td><td> One characters consists of one fundamental piece.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_VARIABLE</tt></span></td><td> One character consists of variable number of
fundamental pieces.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_BINARY</tt></span></td><td> Charset is binary from ASCII viewpoint.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_REGULAR</tt></span></td><td> Language dependent (8bit) charset.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_CHARSET_MULTIBYTE</tt></span></td><td> Multibyte charset.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="EncaNameStyle"></a>enum EncaNameStyle</h3><pre class="programlisting">typedef enum {
  ENCA_NAME_STYLE_ENCA,
  ENCA_NAME_STYLE_RFC1345,
  ENCA_NAME_STYLE_CSTOCS,
  ENCA_NAME_STYLE_ICONV,
  ENCA_NAME_STYLE_HUMAN
} EncaNameStyle;
</pre><p>
Charset naming styles and conventions.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">ENCA_NAME_STYLE_ENCA</tt></span></td><td> Default, implicit charset name in Enca.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_NAME_STYLE_RFC1345</tt></span></td><td> RFC 1345 charset name.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_NAME_STYLE_CSTOCS</tt></span></td><td> Cstocs charset name.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_NAME_STYLE_ICONV</tt></span></td><td> Iconv charset name.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_NAME_STYLE_HUMAN</tt></span></td><td> Human comprehensible description.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="EncaErrno"></a>enum EncaErrno</h3><pre class="programlisting">typedef enum {
  ENCA_EOK = 0,
  ENCA_EINVALUE,
  ENCA_EEMPTY,
  ENCA_EFILTERED,
  ENCA_ENOCS8,
  ENCA_ESIGNIF,
  ENCA_EWINNER,
  ENCA_EGARBAGE
} EncaErrno;
</pre><p>
Error codes.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">ENCA_EOK</tt></span></td><td> OK.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_EINVALUE</tt></span></td><td> Invalid value (usually of an option).
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_EEMPTY</tt></span></td><td> Sample is empty.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_EFILTERED</tt></span></td><td> After filtering, (almost) nothing remained.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_ENOCS8</tt></span></td><td> Mulitibyte tests failed and language contains no 8bit charsets.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_ESIGNIF</tt></span></td><td> Too few significant characters.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_EWINNER</tt></span></td><td> No clear winner.
</td></tr><tr><td><span class="term"><tt class="literal">ENCA_EGARBAGE</tt></span></td><td> Sample is garbage.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="ENCA-NOT-A-CHAR-CAPS"></a>ENCA_NOT_A_CHAR</h3><pre class="programlisting">#define ENCA_NOT_A_CHAR 0xffff
</pre><p>
Not-a-character in unicode tables.</p><p>

</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libenca-Analyser.html"><b>&lt;&lt; Analyser</b></a></td><td align="right"><a accesskey="n" href="libenca-Charsets-and-Surfaces.html"><b>Charsets and Surfaces &gt;&gt;</b></a></td></tr></table></body></html>