-@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,
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
@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.
@end menu
@node Enumerates and Constants
-@subsection Enumerates and Constants
+@section Enumerates and Constants
@cindex enumerate
@cindex constant
@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
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,
@node Input and Output
-@subsection Input and Output
+@section Input and Output
@findex set-session-transport-port!
@findex set-session-transport-fd!
@node Exception Handling
-@subsection Exception Handling
+@section Exception Handling
@cindex exceptions
@cindex errors
@c *********************************************************************
@node Guile Examples
-@section Guile Examples
+@chapter Guile Examples
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
@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.
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
@c *********************************************************************
@node Guile Reference
-@section Guile Reference
+@chapter Guile Reference
This chapter documents GnuTLS Scheme procedures available to Guile
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
@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
@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