X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=doc%2Fprotocol%2Fprotocol.tex;h=1b81a888b2263362b0e5f1374c391fc7bcc4fad7;hb=75053ec300e775606779c900a0e60a51ac6a108c;hp=a99da7df45956e486658d8caa6a6ec1fe0062811;hpb=f6d0f51128f0e182ac2f5dec07923c8e5c8df388;p=doldaconnect.git diff --git a/doc/protocol/protocol.tex b/doc/protocol/protocol.tex index a99da7d..1b81a88 100644 --- a/doc/protocol/protocol.tex +++ b/doc/protocol/protocol.tex @@ -4,8 +4,9 @@ \usepackage[utf8x]{inputenc} \usepackage[ps2pdf]{hyperref} \usepackage{reqlist} +\usepackage{longtable} -\newcommand{\urlink}[1]{\texttt{<#1>}} +\newcommand{\urlink}[1]{\texttt{<\url{#1}>}} \newcommand{\unix}{\textsc{Unix}} \title{Dolda Connect protocol} @@ -15,6 +16,8 @@ \maketitle +\tableofcontents + \section{Introduction} Dolda Connect consists partly of a daemon (a.k.a. server) that runs in the background and carries out all the actual work, and a number of @@ -25,7 +28,7 @@ intends to document that protocol, so that third parties can write their own client programs. It is worthy of note that there exists a library, called -\texttt{libdcui} that carries out much of the low level work of +\texttt{libdcui}, that carries out much of the low level work of speaking the protocol, facilitating the creation of new client programs. In itself, \texttt{libdcui} is written in the C programming language and is intended to be used by other programs written in C, @@ -33,8 +36,9 @@ but there also exist wrapper libraries for both GNU Guile (the GNU project's Scheme interpreter) and for Python. The former is distributed with the main Dolda Connect source tree, while the latter is distributed separately (for technical reasons). To get a copy, -please refer to Dolda Connect's homepage at -\urlink{http://www.dolda2000.com}. +please refer to Dolda Connect's homepage: + +\urlink{http://www.dolda2000.com/~fredrik/doldaconnect/} \section{Transport format} Note: Everything covered in this section is handled by the @@ -119,7 +123,7 @@ when talking directly to the daemon with a program such as Formally, the syntax of the protocol may be defined with the following BNF rules. Note that they all operate on Unicode characters, not bytes. -\begin{tabular}{lcl} +\begin{longtable}{lcl} & ::= & \\ & & | \\ & & | \\ @@ -153,7 +157,7 @@ BNF rules. Note that they all operate on Unicode characters, not bytes. & & | ``\texttt{5}'' | ``\texttt{6}'' | ``\texttt{7}'' | ``\texttt{8}'' | ``\texttt{9}'' -\end{tabular} +\end{longtable} As for the terminal symbols, is U+0020, is U+0009, is the sequence of U+000D and U+000A, is U+002D,