summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2011-05-27 17:18:56 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2011-05-27 17:19:15 +0200
commit32d903954844c38a7f57e7d11f739a13e7c4580b (patch)
treed08fc4beba5d33c2f6a079f900297e90895be86a /doc
parent1e00c52df333191fa0c64f37b9bca9c238b8388d (diff)
downloadgnutls-32d903954844c38a7f57e7d11f739a13e7c4580b.tar.gz
guile bindings added as a separate document.
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am9
-rw-r--r--doc/cha-ciphersuites.texi16
-rw-r--r--doc/cha-functions.texi2
-rw-r--r--doc/cha-preface.texi3
-rw-r--r--doc/gnutls-guile.texi (renamed from doc/guile.texi)122
5 files changed, 106 insertions, 46 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ec00dc9b27..6c91ac9826 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -21,14 +21,15 @@
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
EXTRA_DIST = TODO certtool.cfg gnutls.ps gnutls.pdf gnutls.html \
- doxygen/Doxyfile.in doxygen/Doxyfile.orig texinfo.css
+ doxygen/Doxyfile.in doxygen/Doxyfile.orig texinfo.css \
+ gnutls-guile.pdf gnutls-guile.html
SUBDIRS = examples cyclo scripts manpages credentials
if ENABLE_GTK_DOC
SUBDIRS += reference
endif
-info_TEXINFOS = gnutls.texi
+info_TEXINFOS = gnutls.texi gnutls-guile.texi
gnutls_TEXINFOS = gnutls.texi fdl-1.3.texi lgpl-2.1.texi gpl-3.0.texi \
cha-auth.texi cha-bib.texi cha-cert-auth.texi \
cha-ciphersuites.texi cha-copying.texi cha-functions.texi \
@@ -177,11 +178,11 @@ algorithms.texi: $(srcdir)/printlist.c
# Guile texinfos.
-guile_texi = core.c.texi extra.c.texi
-gnutls_TEXINFOS += guile.texi $(guile_texi)
+guile_texi = core.c.texi extra.c.texi
BUILT_SOURCES = $(guile_texi)
MAINTAINERCLEANFILES += $(guile_texi)
EXTRA_DIST += $(guile_texi) extract-guile-c-doc.scm
+guile_TEXINFOS = gnutls-guile.texi $(guile_texi)
if HAVE_GUILE
diff --git a/doc/cha-ciphersuites.texi b/doc/cha-ciphersuites.texi
index 1b2c2116b3..df908658c7 100644
--- a/doc/cha-ciphersuites.texi
+++ b/doc/cha-ciphersuites.texi
@@ -1,5 +1,5 @@
-@node All the supported ciphersuites in GnuTLS
-@chapter All the Supported Ciphersuites in @acronym{GnuTLS}
+@node Supported ciphersuites in GnuTLS
+@appendix Supported Ciphersuites in @acronym{GnuTLS}
@anchor{ciphersuites}
@cindex Ciphersuites
@@ -13,8 +13,11 @@ RSA is public key cryptosystem designed by Ronald Rivest, Adi Shamir
and Leonard Adleman. It can be used with any hash functions.
@item DSA
-DSA is the USA's Digital Signature Standard. It uses only the SHA-1
-hash algorithm.
+DSA is the USA's Digital Signature Standard. It may use the SHA
+family of hash algorithms.
+
+@item ECDSA
+ECDSA is the elliptic curve counter-part of DSA.
@item MD2
MD2 is a cryptographic hash algorithm designed by Ron Rivest. It is
@@ -36,8 +39,3 @@ the EU project RIPE. Outputs 160 bits of data.
@end table
-@c
-@c Guile Bindings
-@c
-
-@include guile.texi
diff --git a/doc/cha-functions.texi b/doc/cha-functions.texi
index d0260ba395..a818800db2 100644
--- a/doc/cha-functions.texi
+++ b/doc/cha-functions.texi
@@ -1,5 +1,5 @@
@node Function reference
-@chapter Function Reference
+@appendix Function Reference
@cindex Function reference
@menu
diff --git a/doc/cha-preface.texi b/doc/cha-preface.texi
index 1b2d5a33f4..68a7c828f1 100644
--- a/doc/cha-preface.texi
+++ b/doc/cha-preface.texi
@@ -137,9 +137,6 @@ parsing OpenPGP packets. It is included GnuTLS. Use parameter
functionality in GnuTLS. Unfortunately, we didn't have resources to
maintain the code in a separate library.
-Regarding the Guile bindings, there are additional installation
-considerations, see @xref{Guile Preparations}.
-
A few @code{configure} options may be relevant, summarized in the
table.
diff --git a/doc/guile.texi b/doc/gnutls-guile.texi
index a21c1b2fe1..742611a04b 100644
--- a/doc/guile.texi
+++ b/doc/gnutls-guile.texi
@@ -1,9 +1,75 @@
-@c Documentation of the GNU Guile bindings.
+\input texinfo @c -*-texinfo-*-
+@comment %**start of header
+@setfilename gnutls-guile.info
+@include version.texi
+@settitle GnuTLS-Guile @value{VERSION}
+
+@c don't indent the paragraphs.
+@paragraphindent 0
+
+@c Unify some of the indices.
+@syncodeindex tp fn
+@syncodeindex pg cp
+
+@comment %**end of header
+@finalout
+@copying
+This manual is last updated @value{UPDATED} for version
+@value{VERSION} of GnuTLS.
+
+Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
+copy of the license is included in the section entitled ``GNU Free
+Documentation License''.
+@end quotation
+@end copying
+
+@dircategory Software libraries
+@direntry
+* GnuTLS-Guile: (gnutls-guile). GNU Transport Layer Security Library. Guile bindings.
+@end direntry
+
+@titlepage
+@title GnuTLS-Guile
+@subtitle Guile binding for GNU TLS
+@subtitle for version @value{VERSION}, @value{UPDATED}
+@sp 7
+@image{gnutls-logo,6cm,6cm}
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@macro xcite{ref}
+[\ref\] (@pxref{Bibliography})
+@end macro
+
+@contents
+
+@ifnottex
+@node Top
+@top GnuTLS-Guile
+
+@insertcopying
+@end ifnottex
-@node Guile Bindings
-@chapter Guile Bindings
+@menu
+* Preface:: Preface.
+* Guile Preparations:: Note on installation and environment.
+* Guile API Conventions:: Naming conventions and other idiosyncrasies.
+* Guile Examples:: Quick start.
+* Guile Reference:: The Scheme GnuTLS programming interface.
+@end menu
+
+@node Preface
+@chapter Preface
-This chapter describes the @uref{http://www.gnu.org/software/guile/,
+This manual describes the @uref{http://www.gnu.org/software/guile/,
GNU Guile} Scheme programming interface to GnuTLS. The reader is
assumed to have basic knowledge of the protocol and library. Details
missing from this chapter may be found in @ref{Function reference,
@@ -12,17 +78,9 @@ the C API reference}.
At this stage, not all the C functions are available from Scheme, but
a large subset thereof is available.
-
-@menu
-* Guile Preparations:: Note on installation and environment.
-* Guile API Conventions:: Naming conventions and other idiosyncrasies.
-* Guile Examples:: Quick start.
-* Guile Reference:: The Scheme GnuTLS programming interface.
-@end menu
-
@c *********************************************************************
@node Guile Preparations
-@section Guile Preparations
+@chapter Guile Preparations
The GnuTLS Guile bindings are by default installed under the GnuTLS
installation directory (e.g., typically
@@ -110,7 +168,7 @@ guile>
@c *********************************************************************
@node Guile API Conventions
-@section Guile API Conventions
+@chapter Guile API Conventions
This chapter details the conventions used by Guile API, as well as
specificities of the mapping of the C API to Scheme.
@@ -124,7 +182,7 @@ specificities of the mapping of the C API to Scheme.
@end menu
@node Enumerates and Constants
-@subsection Enumerates and Constants
+@section Enumerates and Constants
@cindex enumerate
@cindex constant
@@ -203,7 +261,7 @@ and not internationalized.
@node Procedure Names
-@subsection Procedure Names
+@section Procedure Names
Unlike C functions in GnuTLS, the corresponding Scheme procedures are
named in a way that is close to natural English. Abbreviations are
@@ -222,7 +280,7 @@ to @code{gnutls_transport_set_ptr}, making it clear that this
procedure applies to session.
@node Representation of Binary Data
-@subsection Representation of Binary Data
+@section Representation of Binary Data
Many procedures operate on binary data. For instance,
@code{pkcs3-import-dh-parameters} expects binary data as input and,
@@ -257,7 +315,7 @@ OpenPGP Keys Guile Example}.
@node Input and Output
-@subsection Input and Output
+@section Input and Output
@findex set-session-transport-port!
@findex set-session-transport-fd!
@@ -321,7 +379,7 @@ less convenient than the above and should rarely be needed.
@node Exception Handling
-@subsection Exception Handling
+@section Exception Handling
@cindex exceptions
@cindex errors
@@ -379,7 +437,7 @@ as in this example.
@c *********************************************************************
@node Guile Examples
-@section Guile Examples
+@chapter Guile Examples
This chapter provides examples that illustrate common use cases.
@@ -390,7 +448,7 @@ This chapter provides examples that illustrate common use cases.
@end menu
@node Anonymous Authentication Guile Example
-@subsection Anonymous Authentication Guile Example
+@section Anonymous Authentication Guile Example
@dfn{Anonymous authentication} is very easy to use. No certificates
are needed by the communicating parties. Yet, it allows them to
@@ -471,7 +529,7 @@ This is it!
@node OpenPGP Authentication Guile Example
-@subsection OpenPGP Authentication Guile Example
+@section OpenPGP Authentication Guile Example
GnuTLS allows users to authenticate using OpenPGP certificates. The
relevant procedures are provided by the @code{(gnutls extra)} module.
@@ -544,12 +602,10 @@ Similarly, server-side code would be along these lines:
In practice, generating RSA parameters (and Diffie-Hellman parameters)
can time a long time. Thus, you may want to generate them once and
-store them in a file for future re-use (@pxref{Core Interface,
-@code{pkcs1-export-rsa-parameters} and
-@code{pkcs1-import-rsa-parameters}}).
+store them in a file for future re-use (@pxref{Core Interface, @code{pkcs1-export-rsa-parameters} and @code{pkcs1-import-rsa-parameters}}).
@node Importing OpenPGP Keys Guile Example
-@subsection Importing OpenPGP Keys Guile Example
+@section Importing OpenPGP Keys Guile Example
The following example provides a simple way of importing
``ASCII-armored'' OpenPGP keys from files, using the
@@ -593,7 +649,7 @@ return an OpenPGP public key and private key object, respectively
@c *********************************************************************
@node Guile Reference
-@section Guile Reference
+@chapter Guile Reference
This chapter documents GnuTLS Scheme procedures available to Guile
programmers.
@@ -604,7 +660,7 @@ programmers.
@end menu
@node Core Interface
-@subsection Core Interface
+@section Core Interface
This section lists the Scheme procedures exported by the
@code{(gnutls)} module (@pxref{The Guile module system,,, guile, The
@@ -614,7 +670,7 @@ Lesser General Public Licence, version 2.1 or later.
@include core.c.texi
@node Extra Interface
-@subsection Extra Interface
+@section Extra Interface
This section lists the Scheme procedures exported by the @code{(gnutls
extra)} module. This module is licenced under the GNU General Public
@@ -631,3 +687,11 @@ Licence, version 3 or later.
@c Local Variables:
@c ispell-local-dictionary: "american"
@c End:
+
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
+
+@cindex FDL, GNU Free Documentation License
+@include fdl-1.3.texi
+
+@bye