struct CissUrl;
-/* account types */
+/**
+ * enum AccountType - account types
+ */
enum AccountType
{
MUTT_ACCT_TYPE_NONE = 0,
#define MUTT_ACCT_PASS (1 << 3)
#define MUTT_ACCT_SSL (1 << 4)
+/**
+ * struct Account - Login details for a remote server
+ */
struct Account
{
char user[64];
#include <stdbool.h>
+/**
+ * struct Address - An email address
+ */
struct Address
{
char *personal; /**< real name of address */
struct Envelope;
struct Address;
+/**
+ * struct Alias - A shortcut for an email address
+ */
struct Alias
{
struct Alias *self; /* XXX - ugly hack */
struct Header;
struct Body;
+/**
+ * struct AttachPtr - An email to which things will be attached
+ */
struct AttachPtr
{
struct Body *content;
static int mutt_bcache_move(struct BodyCache *bcache, const char *id, const char *newid);
+/**
+ * struct BodyCache - Local cache of email bodies
+ */
struct BodyCache
{
char path[_POSIX_PATH_MAX];
* mutt_bcache_put - Create a file in the Body Cache
* @param bcache Body Cache from mutt_bcache_open()
* @param id Per-mailbox unique identifier for the message
- * @param tmp Returned FILE* is in a temporary location.
+ * @param tmp Returned FILE* is in a temporary location
* If set, use mutt_bcache_commit to put it into place
* @return FILE* on success, NULL on failure
*/
#include <time.h>
#include <sys/types.h>
+/**
+ * struct Body - The body of an email
+ */
struct Body
{
char *xtype; /**< content-type if x-unknown */
};
#endif
+/**
+ * struct Folder - A folder/dir in the browser
+ */
struct Folder
{
struct FolderFile *ff;
#include <sys/types.h>
#include <time.h>
+/**
+ * struct FolderFile - Browser entry representing a folder/dir
+ */
struct FolderFile
{
mode_t mode;
bool tagged : 1;
};
+/**
+ * struct BrowserState - State of the file/mailbox browser
+ */
struct BrowserState
{
struct FolderFile *entry;
#include <stddef.h>
+/**
+ * struct Buffer - String manipulation buffer
+ */
struct Buffer
{
char *data; /**< pointer to data */
#define MUTT_NAMED 1
#define MUTT_VIRTUAL 2
+/**
+ * struct Buffy - A mailbox
+ */
struct Buffy
{
char path[_POSIX_PATH_MAX];
* Used in sendlib.c for converting from mutt's Charset
*/
+/**
+ * struct FgetConv - Cursor for converting a file's encoding
+ */
struct FgetConv
{
FILE *file;
ICONV_CONST char **inrepls;
};
+/**
+ * struct FgetConvNot - A dummy converter
+ */
struct FgetConvNot
{
FILE *file;
#define COLOR_DEFAULT (-2)
+/**
+ * struct ColorList - A set of colors
+ */
struct ColorList
{
short fg;
break; \
}
-
+/**
+ * enum HeaderField - Ordered list of headers for the compose screen
+ */
enum HeaderField
{
HDR_FROM = 0,
return;
}
+/**
+ * struct ComposeRedrawData - Keep track when the compose screen needs redrawing
+ */
struct ComposeRedrawData
{
struct Header *msg;
#include <stdbool.h>
-/* Information that helps in determining the Content-* of an attachment */
+/**
+ * struct Content - Info about an attachment
+ *
+ * Information that helps in determining the Content-* of an attachment
+ */
struct Content
{
long hibin; /**< 8-bit characters */
#include <sys/types.h>
#include <time.h>
-/* ACL Rights */
+/**
+ * enum AclRights - ACL Rights
+ */
enum AclRights
{
MUTT_ACL_LOOKUP = 0,
RIGHTSMAX
};
+/**
+ * struct Context - The "current" mailbox
+ */
struct Context
{
char *path;
#define BUFFSIZE 2048
+/**
+ * enum OutputFormats - Documentation output formats
+ */
enum OutputFormats
{
F_CONF,
#define D_IL (1 << 10)
#define D_TT (1 << 11)
+/**
+ * enum SpecialChars - All specially-treated characters
+ */
enum SpecialChars
{
SP_START_EM,
* following string definitions!
*/
+/**
+ * enum DataType - User-variable types
+ */
enum DataType
{
DT_NONE = 0,
DT_MBCHARTBL
};
-struct
+struct VariableTypes
{
char *machine;
char *human;
#include "options.h"
#include "protos.h"
-/* redraw flags for mutt_enter_string() */
+/**
+ * enum RedrawFlags - redraw flags for mutt_enter_string()
+ */
enum RedrawFlags
{
MUTT_REDRAW_INIT = 1, /**< go to end of line and redraw */
#include <stddef.h>
#include "lib.h"
+/**
+ * struct EnterState - Keep our place when entering a string
+ */
struct EnterState
{
wchar_t *wbuf;
#include <stdbool.h>
#include "lib.h"
+/**
+ * struct Envelope - The header of an email
+ */
struct Envelope
{
struct Address *return_path;
#include <stddef.h>
-/* flags for mutt_FormatString() */
+/**
+ * enum FormatFlag - Control the behaviour of mutt_FormatString()
+ */
enum FormatFlag
{
MUTT_FORMAT_FORCESUBJ = (1 << 0), /**< print the subject even if unchanged */
#define MUTT_GROUP 0
#define MUTT_UNGROUP 1
+/**
+ * struct Group - A set of email addresses
+ */
struct Group
{
struct Address *as;
char *name;
};
+/**
+ * struct GroupContext - A set of Groups
+ */
struct GroupContext
{
struct Group *g;
#define IndentSize (4)
+/**
+ * enum RichAttribs - Rich text attributes
+ */
enum RichAttribs
{
RICH_PARAM = 0,
{ NULL, -1 },
};
+/**
+ * struct EnrichedState - State of enriched-text parser
+ */
struct EnrichedState
{
wchar_t *buffer;
#include <stdbool.h>
+/**
+ * union HashKey - The data item stored in a HashElem
+ */
union HashKey {
const char *strkey;
unsigned int intkey;
};
+/**
+ * struct HashElem - The item stored in a Hash Table
+ */
struct HashElem
{
union HashKey key;
struct HashElem *next;
};
+/**
+ * struct Hash - A Hash Table
+ */
struct Hash
{
int nelem;
void hash_destroy(struct Hash **ptr, void (*destroy)(void *));
+/**
+ * struct HashWalkState - Cursor to iterate through a Hash Table
+ */
struct HashWalkState
{
int index;
*/
typedef const char *(*hcache_backend_t)(void);
+/**
+ * struct HcacheOps - Header Cache API
+ */
struct HcacheOps
{
const char *name;
#include "lib.h"
#include "mx.h"
+/**
+ * struct HcacheDbCtx - Berkeley DB context
+ */
struct HcacheDbCtx
{
DB_ENV *env;
void *ctx;
};
+/**
+ * union Validate - Header cache validity
+ */
union Validate {
struct timeval timeval;
unsigned int uidvalidity;
* @param key Message identification string
* @param keylen Length of the string pointed to by key
* @param header Message header to store
- * @param uidvalidity IMAP-specific UIDVALIDITY value, or 0 to use the current time.
+ * @param uidvalidity IMAP-specific UIDVALIDITY value, or 0 to use the current time
* @return 0 on success, -1 otherwise
*/
int mutt_hcache_store(header_cache_t *h, const char *key, size_t keylen,
* The file is mmap(2)'d into memory. */
const size_t LMDB_DB_SIZE = 2147483648;
+/**
+ * enum MdbTxnMode - LMDB transaction state
+ */
enum MdbTxnMode
{
TXN_UNINITIALIZED,
TXN_WRITE
};
+/**
+ * struct HcacheLmdbCtx - LMDB context
+ */
struct HcacheLmdbCtx
{
MDB_env *env;
#include "mutt_notmuch.h"
#endif
+/**
+ * enum FlagChars - Index into the FlagChars variable ($flag_chars)
+ */
enum FlagChars
{
- /* Indexing into the Flagchars variable ($flag_chars) */
FlagCharTagged,
FlagCharImportant,
FlagCharDeleted,
return 2;
}
+/**
+ * enum FieldType - Header types
+ */
enum FieldType
{
DISP_TO,
#include <time.h>
#include "lib.h"
+/**
+ * struct Header - The header/envelope of an email
+ */
struct Header
{
unsigned int security : 12; /**< bit 0-8: flags, bit 9,10: application.
* next oldest entry
* HistSize entry
*/
+
+/**
+ * struct History - Saved list of user-entered commands/searches
+ */
struct History
{
char **hist;
#ifndef _MUTT_HISTORY_H
#define _MUTT_HISTORY_H
+/**
+ * enum HistoryClass - Type to differentiate different histories
+ */
enum HistoryClass
{
HC_CMD,
#include "compress.h"
#endif
+/**
+ * struct Hook - A list of user hooks
+ */
struct Hook
{
int type; /**< hook type */
struct ImapData;
+/**
+ * enum ImapAuthRes - Results of IMAP Authentication
+ */
enum ImapAuthRes
{
IMAP_AUTH_SUCCESS = 0,
IMAP_AUTH_UNAVAIL
};
+/**
+ * struct ImapAuth - IMAP authentication multiplexor
+ */
struct ImapAuth
{
/* do authentication, using named method or any available if method is NULL */
};
/* Gmail document one string but use another. Support both. */
+
+/**
+ * struct CapabilityAlias - Alternative names for capabilities
+ */
struct CapabilityAlias
{
char *name;
struct Message;
struct BrowserState;
-/* -- data structures -- */
+/**
+ * struct ImapMbox - An IMAP mailbox
+ */
struct ImapMbox
{
struct Account account;
/* length of "DD-MMM-YYYY HH:MM:SS +ZZzz" (null-terminated) */
#define IMAP_DATELEN 27
+/**
+ * enum ImapFlags - IMAP server responses
+ */
enum ImapFlags
{
IMAP_FATAL = 1,
IMAP_BYE
};
+/**
+ * enum ImapState - IMAP connection state
+ */
enum ImapState
{
/* States */
IMAP_IDLE
};
+/**
+ * enum ImapNamespace - IMAP namespace types
+ */
enum ImapNamespace
{
- /* Namespace types */
IMAP_NS_PERSONAL = 0,
IMAP_NS_OTHER,
IMAP_NS_SHARED
};
-/* Capabilities we are interested in */
+/**
+ * enum ImapCaps - Capabilities we are interested in
+ */
enum ImapCaps
{
IMAP4 = 0,
#define MUTT_IMAP_CONN_NONEW (1 << 0)
#define MUTT_IMAP_CONN_NOSELECT (1 << 1)
-/* -- data structures -- */
+/**
+ * struct ImapCache - IMAP-specific message cache
+ */
struct ImapCache
{
unsigned int uid;
char *path;
};
+/**
+ * struct ImapStatus - Status of an IMAP mailbox
+ */
struct ImapStatus
{
char *name;
unsigned int unseen;
};
+/**
+ * struct ImapList - Items in an IMAP browser
+ */
struct ImapList
{
char *name;
bool noinferiors;
};
-/* IMAP command structure */
+/**
+ * struct ImapCommand - IMAP command structure
+ */
struct ImapCommand
{
char seq[SEQLEN + 1];
int state;
};
+/**
+ * enum ImapCommandType - IMAP command type
+ */
enum ImapCommandType
{
IMAP_CT_NONE = 0,
IMAP_CT_STATUS
};
+/**
+ * struct ImapData - IMAP-specific server data
+ *
+ * This data is specific to a Connection to an IMAP server
+ */
struct ImapData
{
- /* This data is specific to a Connection to an IMAP server */
struct Connection *conn;
bool recovering;
unsigned char state;
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* message.c data structures */
-
#ifndef _MUTT_IMAP_MESSAGE_H
#define _MUTT_IMAP_MESSAGE_H
#include <stdbool.h>
#include <time.h>
-/* -- data structures -- */
-/* IMAP-specific header data, stored as Header->data */
+/**
+ * struct ImapHeaderData - IMAP-specific header data
+ *
+ * IMAP-specific header data, stored as Header->data
+ */
struct ImapHeaderData
{
/* server-side flags */
struct List *keywords;
};
+/**
+ * struct ImapHeader - IMAP-specific header
+ */
struct ImapHeader
{
struct ImapHeaderData *data;
long content_length;
};
-/* -- macros -- */
#define HEADER_DATA(ph) ((struct ImapHeaderData *) ((ph)->data))
#endif /* _MUTT_IMAP_MESSAGE_H */
return -1; \
}
+/**
+ * struct MyVar - A user-set variable
+ */
struct MyVar
{
char *name;
return -1;
}
+/**
+ * enum GroupState - Type of email address group
+ */
enum GroupState
{
GS_NONE,
/**
* start_debug - prepare the debugging file
*
- * @return nothing
- *
* This method prepares and opens a new debug file for mutt_debug.
*/
static void start_debug(void)
/**
* restart_debug - reload the debugging configuration
*
- * @return nothing
- *
* This method closes the old debug file is debug was enabled,
* then reconfigure the debugging system from the configuration options
* and start a new debug file if debug is enabled
}
#ifdef NCURSES_VERSION
+
+/**
+ * struct Extkey - Map key names from NeoMutt's style to Curses style
+ */
struct Extkey
{
const char *name;
void init_extended_keys(void);
-/* entry in the keymap tree */
+/**
+ * struct Keymap - A keyboard mapping
+ *
+ * entry in the keymap tree
+ */
struct Keymap
{
char *macro; /**< macro expansion (op == OP_MACRO) */
void km_error_key(int menu);
void mutt_what_key(void);
+/**
+ * enum MenuTypes - Types of GUI selections
+ */
enum MenuTypes
{
MENU_ALIAS,
MENU_POST,
MENU_QUERY,
-
MENU_PGP,
MENU_SMIME,
extern const struct Mapping Menus[];
+/**
+ * struct Binding - Mapping between a user key and a function
+ */
struct Binding
{
char *name; /**< name of the function */
#define EX_OK 0
#endif
+/**
+ * struct SysExits - Lookup table of error messages
+ */
static const struct SysExits
{
int v;
#include "lib.h"
+/**
+ * struct List - Singly-linked List type
+ */
struct List
{
char *data;
#define MUTT_ADD_FROM (1 << 0) /**< add a From_ line */
#define MUTT_SET_DRAFT (1 << 1) /**< set the message draft flag */
-/* return values from mx_check_mailbox() */
+/**
+ * enum MxCheckReturns - Return values from mx_check_mailbox()
+ */
enum MxCheckReturns
{
MUTT_NEW_MAIL = 1, /**< new mail received in mailbox */
MUTT_FLAGS /**< nondestructive flags change (IMAP) */
};
+/**
+ * struct Message - A local copy of an email
+ */
struct Message
{
FILE *fp; /**< pointer to the message data */
#include <stddef.h>
+/**
+ * struct Mapping - Mapping between user-readable string and a constant
+ */
struct Mapping
{
const char *name;
#include "sort.h"
#include "thread.h"
-/* struct used by mutt_sync_mailbox() to store new offsets */
+/**
+ * struct MUpdate - Store of new offsets, used by mutt_sync_mailbox()
+ */
struct MUpdate
{
short valid;
#ifndef _MUTT_MBYTE_TABLE_H
#define _MUTT_MBYTE_TABLE_H
-/* multibyte character table.
+/**
+ * struct MbCharTable - multibyte character table
+ *
* Allows for direct access to the individual multibyte characters in a
* string. This is used for the Flagchars, Fromchars, StChars and Tochars
- * option types. */
+ * option types.
+ */
struct MbCharTable
{
int len; /**< number of characters */
typedef uint32_t md5_uint32;
-/* Structure to save state of computation between the single steps. */
+/**
+ * struct Md5Ctx - Cursor for the MD5 hashing
+ *
+ * Structure to save state of computation between the single steps.
+ */
struct Md5Ctx
{
md5_uint32 A;
#define INS_SORT_THRESHOLD 6
+/**
+ * struct Maildir - A Maildir mailbox
+ */
struct Maildir
{
struct Header *h;
struct Maildir *next;
};
+/**
+ * struct MhSequences - Set of MH sequence numbers
+ */
struct MhSequences
{
int max;
short *flags;
};
+/**
+ * struct MhData - MH-specific mailbox data
+ */
struct MhData
{
time_t mtime_cur;
#ifndef _MUTT_MIME_H
#define _MUTT_MIME_H
-/* Content-Type */
+/**
+ * enum ContentType - Content-Type
+ */
enum ContentType
{
TYPEOTHER,
TYPEANY
};
-/* Content-Transfer-Encoding */
+/**
+ * enum ContentEncoding - Content-Transfer-Encoding
+ */
enum ContentEncoding
{
ENCOTHER,
ENCUUENCODED
};
-/* Content-Disposition values */
+/**
+ * enum ContentDisposition - Content-Disposition values
+ */
enum ContentDisposition
{
DISPINLINE,
#define MUTT_THREAD_NEXT_UNREAD (1 << 4)
#define MUTT_THREAD_FLAGGED (1 << 5)
+/**
+ * enum MuttMisc - Unsorted flags
+ */
enum MuttMisc
{
/* modes for mutt_view_attachment() */
MUTT_SAVE_OVERWRITE
};
-/* possible arguments to set_quadoption() */
+/**
+ * enum QuadOptionResponse - Possible values of a QuadOption
+ */
enum QuadOptionResponse
{
MUTT_ABORT = -1,
MUTT_ASKYES
};
-/* quad-option vars */
+/**
+ * enum QuadOptionVars - Index of all QuadOptions
+ */
enum QuadOptionVars
{
OPT_ABORT,
int state_printf(struct State *s, const char *fmt, ...);
int state_putws(const wchar_t *ws, struct State *s);
-/* for attachment counter */
+/**
+ * struct AttachMatch - An attachment matching a regex
+ *
+ * for attachment counter
+ */
struct AttachMatch
{
char *major;
struct Buffer;
+/**
+ * struct Command - A user-callable command
+ */
struct Command
{
char *name;
#define CI_is_return(c) ((c) == '\r' || (c) == '\n')
#endif
+/**
+ * struct Event - An event such as a keypress
+ */
struct Event
{
int ch; /**< raw key pressed */
* Support for color
*/
+/**
+ * enum ColorId - List of all colored objects
+ */
enum ColorId
{
MT_COLOR_HDEFAULT = 0,
MT_COLOR_MAX
};
+/**
+ * struct ColorLine - A regular expression and a color to highlight a line
+ */
struct ColorLine
{
regex_t rx;
#define MUTT_PROGRESS_SIZE (1 << 0) /**< traffic-based progress */
#define MUTT_PROGRESS_MSG (1 << 1) /**< message-based progress */
+/**
+ * struct Progress - A progress bar
+ */
struct Progress
{
unsigned short inc;
* was initialized with positive size, otherwise no percentage is shown */
void mutt_progress_update(struct Progress *progress, long pos, int percent);
-/* Windows for different parts of the screen */
+/**
+ * struct MuttWindow - A division of the screen
+ *
+ * Windows for different parts of the screen
+ */
struct MuttWindow
{
int rows;
#define MUTT_MODEFMT "-- Mutt: %s"
+/**
+ * struct Menu - GUI selectable list of items
+ */
struct Menu
{
char *title; /**< the title of this menu */
LIBNOTMUCH_MICRO_VERSION >= (_micro)))
/**
- * enum NmQueryType - Query Types
+ * enum NmQueryType - NotMuch Query Types
*
* Read whole-thread or matching messages only?
*/
#define DT_SORT_AUX 0x80
#define DT_SORT_SIDEBAR 0x100
+/**
+ * struct Option - Definition of a user-variable
+ */
struct Option
{
- const char *option;
- short type;
- short flags;
- unsigned long data;
+ const char *option; /**< user-visible name */
+ short type; /**< varible type, e.g. *DT_STR */
+ short flags; /**< notification flags, e.g. R_PAGER */
+ unsigned long data; /**< pointer to the global variable */
unsigned long init; /**< initial value */
};
#define REGCOMP(X, Y, Z) regcomp(X, Y, REG_WORDS | REG_EXTENDED | (Z))
#define REGEXEC(X, Y) regexec(&X, Y, (size_t) 0, (regmatch_t *) 0, (int) 0)
+/**
+ * struct Regex - Cached regular expression
+ */
struct Regex
{
char *pattern; /**< printable version */
int not; /**< do not match */
};
+/**
+ * struct RxList - List of regular expressions
+ */
struct RxList
{
struct Regex *rx;
struct RxList *next;
};
+/**
+ * struct ReplaceList - List of regular expressions
+ */
struct ReplaceList
{
struct Regex *rx;
void mutt_sasl_setup_conn(struct Connection *conn, sasl_conn_t *saslconn);
void mutt_sasl_done(void);
+/**
+ * struct SaslData - SASL authentication API
+ */
struct SaslData
{
sasl_conn_t *saslconn;
#define MUTT_SOCK_LOG_HDR 3
#define MUTT_SOCK_LOG_FULL 4
+/**
+ * struct Connection - An open network connection (socket)
+ */
struct Connection
{
struct Account account;
- /* security strength factor, in bits */
- unsigned int ssf;
+ unsigned int ssf; /**< security strength factor, in bits */
void *data;
char inbuf[LONG_STRING];
* open up another connection to the same server in this session */
static STACK_OF(X509) *SslSessionCerts = NULL;
+/**
+ * struct SslSockData - SSL socket data
+ */
struct SslSockData
{
SSL_CTX *ctx;
typedef gnutls_x509_crt gnutls_x509_crt_t;
#endif
-
+/**
+ * struct TlsSockData - TLS socket data
+ */
typedef struct TlsSockData
{
gnutls_session_t state;
}
/**
- * tls_check_one_certificate -
+ * tls_check_one_certificate - Check a GnuTLS certificate
* @param certdata List of GnuTLS certificates
* @param certstat GnuTLS certificate status
* @param hostname Hostname
#include "mutt_socket.h"
#include "protos.h"
-/* -- data types -- */
+/**
+ * struct TunnelData - A network tunnel (pair of sockets)
+ */
struct TunnelData
{
pid_t pid;
struct Message;
struct stat;
-/*
+/**
* struct MxOps - a structure to store operations on a mailbox
+ *
* The following operations are mandatory:
* - open
* - close
int (*open_new_msg)(struct Message *msg, struct Context *ctx, struct Header *hdr);
};
-/* supported mailbox formats */
+/**
+ * enum MailboxFormat - Supported mailbox formats
+ */
enum MailboxFormat
{
MUTT_MBOX = 1,
#define CRYPT_KV_STRONGID 8
#define CRYPT_KV_MATCH (CRYPT_KV_ADDR | CRYPT_KV_STRING)
-/*
- * Type definitions.
+/**
+ * struct CryptCache - Internal cache for GPGME
*/
-
struct CryptCache
{
char *what;
struct CryptCache *next;
};
+/**
+ * struct DnArray - An X500 Distinguished Name
+ */
struct DnArray
{
char *key;
/* We work based on user IDs, getting from a user ID to the key is
check and does not need any memory (gpgme uses reference counting). */
+/**
+ * struct CryptKeyInfo - A stored PGP key
+ */
struct CryptKeyInfo
{
struct CryptKeyInfo *next;
gpgme_validity_t validity; /**< uid validity (cached for convenience) */
};
+/**
+ * struct CryptEntry - An entry in the Select-Key menu
+ */
struct CryptEntry
{
size_t num;
}
}
+/**
+ * enum KeyCap - PGP/SMIME Key Capabilities
+ */
enum KeyCap
{
KEY_CAP_CAN_ENCRYPT,
return ret;
}
+/**
+ * enum KeyInfo - PGP Key info
+ */
enum KeyInfo
{
KIP_NAME = 0,
#include "crypt_mod.h"
#include "lib.h"
-/* A type of a variable to keep track of registered crypto modules. */
+/**
+ * struct CryptModule - A crypto plugin module
+ *
+ * A type of a variable to keep track of registered crypto modules.
+ */
struct CryptModule
{
crypt_module_specs_t specs;
typedef void (*crypt_func_set_sender_t)(const char *sender);
-/*
- A structure to keep all crypto module functions together.
+/**
+ * struct CryptModuleFunctions - Crypto API for signing/verifying/encrypting
+ *
+ * A structure to keep all crypto module functions together.
*/
typedef struct CryptModuleFunctions
{
crypt_func_smime_invoke_import_t smime_invoke_import;
} crypt_module_functions_t;
-/*
- A structure to describe a crypto module.
+/**
+ * struct CryptModuleSpecs - Crypto API
+ *
+ * A structure to describe a crypto module.
*/
typedef struct CryptModuleSpecs
{
#include "protos.h"
#include "rfc822.h"
-/*
+/**
+ * struct PgpCommandContext - Data for a PGP command
+ *
* The actual command line formatter.
*/
-
struct PgpCommandContext
{
short need_passphrase; /**< %p */
struct List;
+/**
+ * struct PgpCache - List of cached PGP keys
+ */
struct PgpCache
{
char *what;
* %[...] date of key using strftime(3)
*/
+/**
+ * struct PgpEntry - An entry in a PGP key menu
+ */
struct PgpEntry
{
size_t num;
struct Body;
struct PgpKeyInfo;
-enum PgpRing {
+/**
+ * enum PgpRing - PGP ring type
+ */
+enum PgpRing
+{
PGP_PUBRING,
PGP_SECRING,
};
#include <time.h>
#include "lib.h"
+/**
+ * struct PgpSignature - PGP Signature
+ */
struct PgpSignature
{
struct PgpSignature *next;
unsigned long sid2;
};
+/**
+ * struct PgpUid - PGP User ID
+ */
struct PgpUid
{
char *addr;
struct PgpSignature *sigs;
};
+/**
+ * struct PgpKeyInfo - Information about a PGP key
+ */
struct PgpKeyInfo
{
char *keyid;
#include <stdio.h>
+/**
+ * enum PacketTags - PGP packet types
+ */
enum PacketTags
{
PT_RES0 = 0, /**< reserved */
#include "rfc822.h"
#include "state.h"
+/**
+ * struct SmimeCommandContext - Data for a SIME command
+ */
struct SmimeCommandContext
{
const char *key; /**< %k */
struct Header;
struct State;
+/**
+ * struct SmimeKey - An SIME key
+ */
struct SmimeKey
{
char *email;
return 0;
}
+/**
+ * struct FetchCtx - Keep track when getting data from a server
+ */
struct FetchCtx
{
struct Context *ctx;
return 0;
}
+/**
+ * struct ChildCtx - Keep track of the children of an article
+ */
struct ChildCtx
{
struct Context *ctx;
#define anum_t uint32_t
#define ANUM "%u"
+/**
+ * enum NntpStatus - NNTP server return values
+ */
enum NntpStatus
{
NNTP_NONE = 0,
NNTP_BYE
};
+/**
+ * struct NntpServer - NNTP-specific server data
+ */
struct NntpServer
{
bool hasCAPABILITIES : 1;
struct Connection *conn;
};
+/**
+ * struct NewsrcEntry - An entry in a .newsrc (subscribed newsgroups)
+ */
struct NewsrcEntry
{
anum_t first;
anum_t last;
};
+/**
+ * struct NntpAcache - NNTP article cache
+ */
struct NntpAcache
{
unsigned int index;
char *path;
};
+/**
+ * struct NntpData - NNTP-specific server data
+ */
struct NntpData
{
char *group;
struct BodyCache *bcache;
};
+/**
+ * struct NntpHeaderData - NNTP-specific header data
+ */
struct NntpHeaderData
{
anum_t article_num;
#ifndef _MUTT_OPTIONS_H_
#define _MUTT_OPTIONS_H_
-/* boolean vars */
+/**
+ * enum GlobalBool - boolean vars
+ */
enum GlobalBool
{
OPTALLOW8BIT,
break; \
}
+/**
+ * struct QClass - Style of quoted text
+ */
struct QClass
{
int length;
struct QClass *down, *up;
};
+/**
+ * struct Syntax - Highlighting for a line of text
+ */
struct Syntax
{
int color;
int last;
};
+/**
+ * struct Line - A line of text in the pager
+ */
struct Line
{
LOFF_T offset;
#define ANSI_REVERSE (1 << 4)
#define ANSI_COLOR (1 << 5)
+/**
+ * struct AnsiAttr - An ANSI escape sequence
+ */
struct AnsiAttr
{
int attr;
static short InHelp = 0;
#if defined(USE_SLANG_CURSES) || defined(HAVE_RESIZETERM)
+/**
+ * struct Resize - Keep track of screen resizing
+ */
static struct Resize
{
int line;
OldHdr = NULL;
}
+/**
+ * struct PagerRedrawData - Keep track when the pager needs redrawing
+ */
struct PagerRedrawData
{
int flags;
#define MUTT_DISPLAYFLAGS (MUTT_SHOW | MUTT_PAGER_NSKIP | MUTT_PAGER_MARKER)
+/**
+ * struct Pager - An email being displayed
+ */
struct Pager
{
struct Context *ctx; /**< current mailbox */
#include "lib.h"
+/**
+ * struct Parameter - Attribute associated with a MIME part
+ */
struct Parameter
{
char *attribute;
return buf;
}
+/**
+ * struct Tz - Lookup table of Time Zones
+ */
static const struct Tz
{
char tzname[5];
#include "mutt_notmuch.h"
#endif
-/* Error codes for eat_range_by_regexp */
+/**
+ * enum EatRangeError - Error codes for eat_range_by_regexp()
+ */
enum EatRangeError
{
RANGE_E_OK,
#define RANGE_RX_GROUPS 5
+/**
+ * struct RangeRegex - Regular expression representing a range
+ */
struct RangeRegex
{
const char *raw; /**< regexp as string */
regex_t cooked; /**< compiled form */
};
+/**
+ * enum RangeType - Type of range
+ */
enum RangeType
{
RANGE_K_REL,
#define RANGE_LT '<'
#define RANGE_GT '>'
-/* range sides: left or right */
+/**
+ * enum RangeSide - Which side of the range
+ */
enum RangeSide
{
RANGE_S_LEFT,
return false;
}
+/**
+ * struct PatternFlags - Mapping between user character and internal constant
+ */
static const struct PatternFlags
{
int tag; /**< character used to represent this op */
struct Header;
struct Context;
+/**
+ * struct Pattern - A simple (non-regex) pattern
+ */
struct Pattern
{
short op;
} p;
};
+/**
+ * enum PatternExecFlag - Flags for mutt_pattern_exec()
+ */
enum PatternExecFlag
{
MUTT_MATCH_FULL_ADDRESS = 1
};
-/* This is used when a message is repeatedly pattern matched against.
+/**
+ * struct PatternCache - Cache commonly-used patterns
+ *
+ * This is used when a message is repeatedly pattern matched against.
* e.g. for color, scoring, hooks. It caches a few of the potentially slow
* operations.
* Each entry has a value of 0 = unset, 1 = false, 2 = true
/* maximal length of the server response (RFC1939) */
#define POP_CMD_RESPONSE 512
+/**
+ * enum PopStatus - POP server responses
+ */
enum PopStatus
{
/* Status */
POP_BYE
};
+/**
+ * enum PopAuthRes - POP authentication responses
+ */
enum PopAuthRes
{
POP_A_SUCCESS = 0,
POP_A_UNAVAIL
};
+/**
+ * struct PopCache - POP-specific email cache
+ */
struct PopCache
{
unsigned int index;
char *path;
};
+/**
+ * struct PopData - POP-specific server data
+ */
struct PopData
{
struct Connection *conn;
struct PopCache cache[POP_CACHE_LEN];
};
+/**
+ * struct PopAuth - POP authentication multiplexor
+ */
struct PopAuth
{
/* do authentication, using named method or any available if method is NULL */
void _mutt_make_string(char *dest, size_t destlen, const char *s, struct Context *ctx,
struct Header *hdr, enum FormatFlag flags);
+/**
+ * struct HdrFormatInfo - Data passed to hdr_format_str()
+ */
struct HdrFormatInfo
{
struct Context *ctx;
const char *pager_progress;
};
+/**
+ * enum XdgType - XDG variable types
+ */
enum XdgType
{
XDG_CONFIG_HOME,
#include "protos.h"
#include "rfc822.h"
+/**
+ * struct Query - An entry from an external address-book
+ */
struct Query
{
int num;
struct Query *next;
};
+/**
+ * struct Entry - An entry in a selectable list of Query's
+ */
struct Entry
{
bool tagged;
#include "protos.h"
#include "rfc822.h"
+/**
+ * struct Coord - Screen coordindates
+ */
struct Coord
{
- short r, c;
+ short r; /**< row */
+ short c; /**< column */
};
static int mix_get_caps(const char *capstr)
#define MAXMIXES 19
+/**
+ * struct Remailer - A Mixmaster remailer
+ */
struct Remailer
{
int num;
int caps;
};
+/**
+ * struct MixChain - A Mixmaster chain
+ */
struct MixChain
{
size_t cl;
struct Body;
+/**
+ * struct Rfc1524MailcapEntry - A mailcap entry
+ */
struct Rfc1524MailcapEntry
{
char *command;
#include "protos.h"
#include "rfc2047.h"
+/**
+ * struct Rfc2231Parameter - MIME section parameter
+ */
struct Rfc2231Parameter
{
char *attribute;
#define FLOWED_MAX 72
+/**
+ * struct FlowedState - State of a Format-Flowed line of text
+ */
struct FlowedState
{
size_t width;
#include "address.h"
#include "lib.h"
-/* possible values for RFC822Error */
+/**
+ * enum AddressError - possible values for RFC822Error
+ */
enum AddressError
{
ERR_MEMORY = 1,
#include "protos.h"
#include "sort.h"
+/**
+ * struct Score - Scoring rule for email
+ */
struct Score
{
char *str;
}
}
+/**
+ * struct B64Context - Cursor for the Base64 conversion
+ */
struct B64Context
{
char buffer[3];
mutt_set_parameter("boundary", rs, parm);
}
+/**
+ * struct ContentState - Info about the body of an email
+ */
struct ContentState
{
int from;
#include <stdint.h>
+/**
+ * struct Sha1Ctx - Cursor for the SHA1 hashing
+ */
struct Sha1Ctx
{
uint32_t state[5];
static int HilIndex = -1; /* Highlighted mailbox */
static int BotIndex = -1; /* Last mailbox visible in sidebar */
-/* The source of the sidebar divider character. */
+/**
+ * enum DivType - Source of the sidebar divider character
+ */
enum DivType
{
SB_DIV_USER,
SB_DIV_UTF8
};
+/**
+ * enum SidebarSrc - Display real or virtual mailboxes in the sidebar
+ */
enum SidebarSrc
{
SB_SRC_INCOMING,
#define SMTP_AUTH_UNAVAIL 1
#define SMTP_AUTH_FAIL -1
+/**
+ * enum SmtpCapability - SMTP server capabilities
+ */
enum SmtpCapability
{
STARTTLS,
#include <stdio.h>
+/**
+ * struct State - Keep track when processing files
+ */
struct State
{
FILE *fpin;
struct Context;
struct Header;
+/**
+ * struct MuttThread - An email conversation
+ */
struct MuttThread
{
bool fake_thread : 1;
struct Envelope;
+/**
+ * enum UrlScheme - All recognised Url types
+ */
enum UrlScheme
{
U_FILE,
#define U_DECODE_PASSWD (1)
#define U_PATH (1 << 1)
+/**
+ * struct CissUrl - A parsed URL `proto://user:password@host/path`
+ */
struct CissUrl
{
enum UrlScheme scheme;
"Mutt is free software, and you are welcome to redistribute it\n"
"under certain conditions; type `mutt -vv' for details.\n");
+/**
+ * struct CompileOptions - List of built-in capabilities
+ */
struct CompileOptions
{
const char *name;