view lib-src/pop.h @ 111830:79219ca01c7b

Merge changes made in Gnus trunk. nnir.el (nnir-categorize): Replace mapcar with mapc. shr.el (shr-urlify): Display the title in <a> tags. shr.el (shr-urlify): Show the URL before the title to avoid misleading URLs. gnus-sum.el (gnus-summary-show-article): Reverse the meanings of `C-u C-u g' and `C-u g' so that `C-u g' does what it traditionally did. gnus.texi (Paging the Article): Note the reverse meanings of `C-u C-u g'. gnus-html.el (gnus-html-put-image): Use widget instead of local maps so that TAB works. nnir.el (nnir-run-gmane): Use more careful test for gmane nntp server. nnimap.el (nnimap-process-expiry-targets): Avoid downloading articles unless necessary. gnus-util.el (gnus-output-to-mail): Require nnmail before using nnmail variables. shr.el (shr-stylesheet): New dynamic variable for cascading the styles. (shr-colorize-region): New function. (shr-insert-background-overlay): Remove. (shr-render-td): Background setting should be taken care of on a higher level. (shr-tag-body): Use post-hoc colorizations. (shr-descend): Only render color/background when they change. (shr-tag-body): Set up a style sheet based on bgcolor/fgcolor. (shr-put-color-1): Don't overwrite old colors. (shr-colorize-region): When the background color isn't explicit, use a fixed background. gnus.el (gnus-valid-select-methods): Allow nnimap to respool. nntp.el (nntp-snarf-error-message): nnheader-report takes a format string as the parameter. gnus-sum.el (gnus-summary-respool-article): The completion function expects a list instead of an alist.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 05 Dec 2010 22:17:34 +0000
parents fdbd24f8d999
children 417b1e4d63cd
line wrap: on
line source

/* pop.h: Header file for the "pop.c" client POP3 protocol.
   Copyright (C) 1991, 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
                 2008, 2009, 2010  Free Software Foundation, Inc.

Author:  Jonathan Kamens <jik@security.ov.com>

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/>.  */


#include <stdio.h>

#define GETLINE_MIN 1024	/* the getline buffer starts out this */
				/* size */
#define GETLINE_INCR 1024	/* the getline buffer is grown by this */
				/* size when it needs to grow */

extern char pop_error[];
extern int pop_debug;

struct _popserver
{
  int file, data;
  char *buffer;
  int buffer_size, buffer_index;
  int in_multi;
  int trash_started;
};

typedef struct _popserver *popserver;

/*
 * Valid flags for the pop_open function.
 */

#define POP_NO_KERBEROS	(1<<0)
#define POP_NO_HESIOD	(1<<1)
#define POP_NO_GETPASS 	(1<<2)

extern popserver pop_open (char *host, char *username, char *password,
                           int flags);
extern int pop_stat (popserver server, int *count, int *size);
extern int pop_list (popserver server, int message, int **IDs,
                     int **size);
extern int pop_retrieve (popserver server, int message, int markfrom,
                         char **);
extern int pop_retrieve_first (popserver server, int message,
                               char **response);
extern int pop_retrieve_next (popserver server, char **line);
extern int pop_retrieve_flush (popserver server);
extern int pop_top_first (popserver server, int message, int lines,
                          char **response);
extern int pop_top_next (popserver server, char **line);
extern int pop_top_flush (popserver server);
extern int pop_multi_first (popserver server, const char *command,
                            char **response);
extern int pop_multi_next (popserver server, char **line);
extern int pop_multi_flush (popserver server);
extern int pop_delete (popserver server, int message);
extern int pop_noop (popserver server);
extern int pop_last (popserver server);
extern int pop_reset (popserver server);
extern int pop_quit (popserver server);
extern void pop_close (popserver);

/* arch-tag: 76cc5f58-8e86-48fa-bc72-a7c6cb1c4f1c
   (do not change this comment) */