Blame doc/gnutls-guile.html

Packit aea12f
Packit aea12f
<html>
Packit Service 991b93
Packit Service 991b93
3.6.14 of GnuTLS.
Packit aea12f
Packit Service 991b93
Copyright (C) 2001-2012, 2014, 2016, 2019 Free Software Foundation, Inc.
Packit aea12f
Packit aea12f
Permission is granted to copy, distribute and/or modify this document
Packit aea12f
under the terms of the GNU Free Documentation License, Version 1.3 or
Packit aea12f
any later version published by the Free Software Foundation; with no
Packit aea12f
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
Packit aea12f
copy of the license is included in the section entitled "GNU Free
Packit aea12f
Documentation License". -->
Packit Service 991b93
Packit aea12f
<head>
Packit aea12f
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Packit Service 991b93
<title>GnuTLS-Guile 3.6.14</title>
Packit aea12f
Packit Service 991b93
<meta name="description" content="GnuTLS-Guile 3.6.14">
Packit Service 991b93
<meta name="keywords" content="GnuTLS-Guile 3.6.14">
Packit aea12f
<meta name="resource-type" content="document">
Packit aea12f
<meta name="distribution" content="global">
Packit aea12f
<meta name="Generator" content="makeinfo">
Packit aea12f
<link href="#Top" rel="start" title="Top">
Packit aea12f
<link href="#Procedure-Index" rel="index" title="Procedure Index">
Packit aea12f
<link href="#SEC_Contents" rel="contents" title="Table of Contents">
Packit aea12f
<style type="text/css">
Packit aea12f
Packit aea12f
a.summary-letter {text-decoration: none}
Packit aea12f
blockquote.indentedblock {margin-right: 0em}
Packit aea12f
div.display {margin-left: 3.2em}
Packit aea12f
div.example {margin-left: 3.2em}
Packit aea12f
div.lisp {margin-left: 3.2em}
Packit aea12f
kbd {font-style: oblique}
Packit aea12f
pre.display {font-family: inherit}
Packit aea12f
pre.format {font-family: inherit}
Packit aea12f
pre.menu-comment {font-family: serif}
Packit aea12f
pre.menu-preformatted {font-family: serif}
Packit aea12f
span.nolinebreak {white-space: nowrap}
Packit aea12f
span.roman {font-family: initial; font-weight: normal}
Packit aea12f
span.sansserif {font-family: sans-serif; font-weight: normal}
Packit aea12f
ul.no-bullet {list-style: none}
Packit aea12f
body { 
Packit aea12f
	margin: 2%;
Packit aea12f
	padding: 0 5%;
Packit aea12f
	background: #ffffff;
Packit aea12f
}
Packit aea12f
h1,h2,h3,h4,h5 {
Packit aea12f
    font-weight: bold;
Packit aea12f
    padding: 5px 5px 5px 5px;
Packit aea12f
    background-color: #c2e0ff;
Packit aea12f
    color: #336699;
Packit aea12f
}
Packit aea12f
h1 {
Packit aea12f
    padding: 2em 2em 2em 5%;
Packit aea12f
    color: white;
Packit aea12f
    background: #336699;
Packit aea12f
    text-align: center;
Packit aea12f
    letter-spacing: 3px;
Packit aea12f
}
Packit aea12f
h2 { text-decoration: underline; }
Packit aea12f
pre {
Packit aea12f
  margin: 0 5%;
Packit aea12f
  padding: 0.5em;
Packit aea12f
}
Packit aea12f
pre.example,pre.verbatim {
Packit aea12f
  padding-bottom: 1em;
Packit aea12f
Packit aea12f
  border: solid #c2e0ff;
Packit aea12f
  background: #f0faff;
Packit aea12f
  border-width: 1px 1px 1px 5px;
Packit aea12f
  margin: 1em auto;
Packit aea12f
  width: 90%;
Packit aea12f
}
Packit aea12f
Packit aea12f
div.node {
Packit aea12f
  margin: 0 -5% 0 -2%;
Packit aea12f
  padding: 0.5em 0.5em;
Packit aea12f
  margin-top: 0.5em;
Packit aea12f
  margin-bottom: 0.5em;
Packit aea12f
  font-weight: bold;
Packit aea12f
}
Packit aea12f
dd, li {
Packit aea12f
  padding-top: 0.1em;
Packit aea12f
  padding-bottom: 0.1em;
Packit aea12f
}
Packit aea12f
div.float {
Packit aea12f
Packit aea12f
  margin-bottom: 0.5em;
Packit aea12f
  text-align: center;
Packit aea12f
}
Packit aea12f
Packit aea12f
table {
Packit aea12f
  text-align: left;
Packit aea12f
  margin-left:auto;
Packit aea12f
  margin-right:auto;
Packit aea12f
  border-spacing: 7px;
Packit aea12f
  width: 50%;
Packit aea12f
}
Packit aea12f
Packit aea12f
th {
Packit aea12f
  padding: 0;
Packit aea12f
  color: #336699;
Packit aea12f
  background-color: #c2e0ff;
Packit aea12f
  border: solid #000000;
Packit aea12f
  border-width: 0px;
Packit aea12f
  margin: 1em auto;
Packit aea12f
  text-align: center;
Packit aea12f
  margin-left:auto;
Packit aea12f
  margin-right:auto;
Packit aea12f
}
Packit aea12f
Packit aea12f
td {
Packit aea12f
  padding: 0;
Packit aea12f
  border: solid #000000;
Packit aea12f
  background-color: #f0faff;
Packit aea12f
  border-width: 0px;
Packit aea12f
  margin: 1em auto;
Packit aea12f
  text-align: left;
Packit aea12f
  margin-left:auto;
Packit aea12f
  margin-right:auto;
Packit aea12f
  padding-left: 1em;
Packit aea12f
}
Packit aea12f
Packit aea12f
dl {
Packit aea12f
  text-align: left;
Packit aea12f
  margin-left:auto;
Packit aea12f
  margin-right:auto;
Packit aea12f
  width: 50%;
Packit aea12f
Packit aea12f
  padding-left: 1em;
Packit aea12f
  border: solid #c2e0ff;
Packit aea12f
  background: #f0faff;
Packit aea12f
  border-width: 5px 1px 1px 1px;
Packit aea12f
  margin: 1em auto;
Packit aea12f
}
Packit aea12f
Packit aea12f
-->
Packit aea12f
</style>
Packit aea12f
Packit aea12f
Packit aea12f
</head>
Packit aea12f
Packit aea12f
<body lang="en">
Packit Service 991b93

GnuTLS-Guile 3.6.14

Packit aea12f
Packit aea12f
Packit aea12f
Packit aea12f
Packit aea12f
Packit aea12f
Packit aea12f
Packit Service 991b93
Packit aea12f

Table of Contents

Packit aea12f
Packit aea12f
Packit aea12f
Packit aea12f
    Packit Service 991b93
      
  • 1 Preface
  • Packit Service 991b93
      
  • 2 Guile Preparations
  • Packit Service 991b93
      
  • 3 Guile API Conventions
  • Packit aea12f
      
      Packit Service 991b93
          
    • 3.1 Enumerates and Constants
    • Packit Service 991b93
          
    • 3.2 Procedure Names
    • Packit Service 991b93
          
    • 3.3 Representation of Binary Data
    • Packit Service 991b93
          
    • 3.4 Input and Output
    • Packit Service 991b93
          
    • 3.5 Exception Handling
    • Packit aea12f
        
      Packit Service 991b93
        
    • 4 Guile Examples
    • Packit aea12f
        
        Packit Service 991b93
            
      • 4.1 Anonymous Authentication Guile Example
      • Packit aea12f
          
        Packit Service 991b93
          
      • 5 Guile Reference
      • Packit Service 991b93
          
      • Appendix A Copying Information
      • Packit Service 991b93
          
      • Procedure Index
      • Packit Service 991b93
          
      • Concept Index
      • Packit aea12f
        Packit aea12f
        Packit aea12f
        Packit aea12f
        Packit Service 991b93
        Packit aea12f

        Packit Service 991b93
        Next: Preface   [Contents][Index]

        Packit aea12f
        Packit Service 991b93

        GnuTLS-Guile

        Packit aea12f
        Packit Service 991b93

        This manual is last updated 1 June 2020 for version

        Packit Service 991b93
        3.6.14 of GnuTLS.
        Packit aea12f

        Packit Service 991b93

        Copyright © 2001-2012, 2014, 2016, 2019 Free Software Foundation, Inc.

        Packit aea12f

        Packit aea12f
        Packit aea12f

        Permission is granted to copy, distribute and/or modify this document

        Packit aea12f
        under the terms of the GNU Free Documentation License, Version 1.3 or
        Packit aea12f
        any later version published by the Free Software Foundation; with no
        Packit aea12f
        Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
        Packit aea12f
        copy of the license is included in the section entitled “GNU Free
        Packit aea12f
        Documentation License”.
        Packit aea12f

        Packit aea12f
        Packit aea12f
        Packit Service 991b93
        Preface  Preface.
        Packit aea12f
        Packit Service 991b93
        Guile Preparations  Note on installation and environment.
        Packit aea12f
        Packit Service 991b93
        Guile API Conventions  Naming conventions and other idiosyncrasies.
        Packit aea12f
        Packit Service 991b93
        Guile Examples  Quick start.
        Packit aea12f
        Packit Service 991b93
        Guile Reference  The Scheme GnuTLS programming interface.
        Packit aea12f
        Packit aea12f
        Packit aea12f
        Packit Service 991b93
        Copying Information  You can copy and modify this manual.
        Packit aea12f
        Packit Service 991b93
        Procedure Index  
        Packit aea12f
        Packit Service 991b93
        Concept Index  
        Packit aea12f
        Packit aea12f
        Packit aea12f
        Packit aea12f

        Packit Service 991b93
        Packit aea12f

        Packit aea12f
        Next: Guile Preparations, Previous: Top, Up: Top   [Contents][Index]

        Packit aea12f
        Packit Service 991b93

        1 Preface

        Packit aea12f
        Packit aea12f

        This manual describes the GNU Guile Scheme programming interface to GnuTLS, which is distributed

        Packit aea12f
        as part of GnuTLS.  The reader is
        Packit aea12f
        assumed to have basic knowledge of the protocol and library.  Details
        Packit aea12f
        missing from this chapter may be found in Function reference,
        Packit aea12f
        of the C API reference.
        Packit aea12f

        Packit aea12f

        At this stage, not all the C functions are available from Scheme, but

        Packit aea12f
        a large subset thereof is available.
        Packit aea12f

        Packit aea12f

        Packit Service 991b93
        Packit aea12f

        Packit aea12f
        Next: Guile API Conventions, Previous: Preface, Up: Top   [Contents][Index]

        Packit aea12f
        Packit Service 991b93

        2 Guile Preparations

        Packit aea12f
        Packit Service 991b93

        The GnuTLS Guile bindings are available for the Guile 3.0 and 2.2

        Packit Service 991b93
        series, as well as the legacy 2.0 and even 1.8 series.
        Packit aea12f

        Packit aea12f

        By default they are installed under the GnuTLS installation directory,

        Packit aea12f
        typically <samp>/usr/local/share/guile/site/</samp>).  Normally Guile
        Packit aea12f
        will not find the module there without help.  You may experience
        Packit aea12f
        something like this:
        Packit aea12f

        Packit aea12f
        Packit aea12f
        $ guile
        Packit aea12f
        Packit aea12f
        scheme@(guile-user)> (use-modules (gnutls))
        Packit aea12f
        ERROR: no code for module (gnutls)