Mercurial > emacs
view src/gnutls.h @ 110584:9d94d76ce611
Set up GnuTLS support.
* configure.in: Set up GnuTLS.
* lisp/net/gnutls.el: GnuTLS glue code to set up a connection.
* src/Makefile.in (LIBGNUTLS_LIBS, LIBGNUTLS_CFLAGS, ALL_CFLAGS)
(obj, LIBES): Set up GnuTLS support.
* src/config.in: Set up GnuTLS support.
* src/emacs.c: Set up GnuTLS support and call syms_of_gnutls.
* src/gnutls.c: The source code for GnuTLS support in Emacs.
* src/gnutls.h: The GnuTLS glue for Emacs, macros and enums.
* src/process.c (make_process, Fstart_process)
(read_process_output, send_process): Set up GnuTLS support for
process input/output file descriptors.
* src/process.h: Set up GnuTLS support.
author | Ted Zlatanov <tzz@lifelogs.com> |
---|---|
date | Sun, 26 Sep 2010 01:06:28 -0500 |
parents | |
children | 6c735824d0c1 |
line wrap: on
line source
/* GnuTLS glue for GNU Emacs. Copyright (C) 2010 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #ifndef EMACS_GNUTLS_DEFINED #define EMACS_GNUTLS_DEFINED #ifdef HAVE_GNUTLS #include <gnutls/gnutls.h> typedef enum { /* Initialization stages. */ GNUTLS_STAGE_EMPTY = 0, GNUTLS_STAGE_CRED_ALLOC, GNUTLS_STAGE_FILES, GNUTLS_STAGE_INIT, GNUTLS_STAGE_PRIORITY, GNUTLS_STAGE_CRED_SET, /* Handshake stages. */ GNUTLS_STAGE_HANDSHAKE_CANDO = GNUTLS_STAGE_CRED_SET, GNUTLS_STAGE_TRANSPORT_POINTERS_SET, GNUTLS_STAGE_HANDSHAKE_TRIED, GNUTLS_STAGE_READY, } gnutls_initstage_t; #define GNUTLS_EMACS_ERROR_INVALID_TYPE GNUTLS_E_APPLICATION_ERROR_MIN #define GNUTLS_INITSTAGE(proc) (XPROCESS (proc)->gnutls_initstage) #define GNUTLS_PROCESS_USABLE(proc) (GNUTLS_INITSTAGE(proc) >= GNUTLS_STAGE_READY) int emacs_gnutls_write (int fildes, gnutls_session_t state, char *buf, unsigned int nbyte); int emacs_gnutls_read (int fildes, gnutls_session_t state, char *buf, unsigned int nbyte); extern void syms_of_gnutls (void); #endif #endif