summaryrefslogtreecommitdiff
path: root/pith/conftype.h
diff options
context:
space:
mode:
authorEduardo Chappa <echappa@gmx.com>2013-02-03 00:59:38 -0700
committerEduardo Chappa <echappa@gmx.com>2013-02-03 00:59:38 -0700
commit094ca96844842928810f14844413109fc6cdd890 (patch)
treee60efbb980f38ba9308ccb4fb2b77b87bbc115f3 /pith/conftype.h
downloadalpine-094ca96844842928810f14844413109fc6cdd890.tar.xz
Initial Alpine Version
Diffstat (limited to 'pith/conftype.h')
-rw-r--r--pith/conftype.h709
1 files changed, 709 insertions, 0 deletions
diff --git a/pith/conftype.h b/pith/conftype.h
new file mode 100644
index 00000000..d1fddddb
--- /dev/null
+++ b/pith/conftype.h
@@ -0,0 +1,709 @@
+/*
+ * $Id: conftype.h 1155 2008-08-21 18:33:21Z hubert@u.washington.edu $
+ *
+ * ========================================================================
+ * Copyright 2006-2008 University of Washington
+ * Copyright 2013 Eduardo Chappa
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * ========================================================================
+ */
+
+#ifndef PITH_CONFTYPE_INCLUDED
+#define PITH_CONFTYPE_INCLUDED
+
+
+#include "../pith/helptext.h"
+#include "../pith/remtype.h"
+
+
+typedef enum {Sapling, Seedling, Seasoned} FeatureLevel;
+
+
+/*
+ * The array is initialized in pith/conf.c so the order of that initialization
+ * must correspond to the order of the values here. The order is
+ * significant in that it determines the order that the variables
+ * are written into the pinerc file and the order they show up in in the
+ * config screen.
+ */
+typedef enum { V_PERSONAL_NAME = 0
+ , V_USER_ID
+ , V_USER_DOMAIN
+ , V_SMTP_SERVER
+ , V_NNTP_SERVER
+ , V_INBOX_PATH
+ , V_ARCHIVED_FOLDERS
+ , V_PRUNED_FOLDERS
+ , V_DEFAULT_FCC
+ , V_DEFAULT_SAVE_FOLDER
+ , V_POSTPONED_FOLDER
+ , V_READ_MESSAGE_FOLDER
+ , V_FORM_FOLDER
+ , V_TRASH_FOLDER
+ , V_LITERAL_SIG
+ , V_SIGNATURE_FILE
+ , V_FEATURE_LIST
+ , V_INIT_CMD_LIST
+ , V_COMP_HDRS
+ , V_CUSTOM_HDRS
+ , V_VIEW_HEADERS
+ , V_VIEW_MARGIN_LEFT
+ , V_VIEW_MARGIN_RIGHT
+ , V_QUOTE_SUPPRESSION
+ , V_SAVED_MSG_NAME_RULE
+ , V_FCC_RULE
+ , V_SORT_KEY
+ , V_AB_SORT_RULE
+ , V_FLD_SORT_RULE
+ , V_GOTO_DEFAULT_RULE
+ , V_INCOMING_STARTUP
+ , V_PRUNING_RULE
+ , V_REOPEN_RULE
+ , V_THREAD_DISP_STYLE
+ , V_THREAD_INDEX_STYLE
+ , V_THREAD_MORE_CHAR
+ , V_THREAD_EXP_CHAR
+ , V_THREAD_LASTREPLY_CHAR
+#ifndef _WINDOWS
+ , V_CHAR_SET
+ , V_OLD_CHAR_SET
+ , V_KEY_CHAR_SET
+#endif /* ! _WINDOWS */
+ , V_POST_CHAR_SET
+ , V_UNK_CHAR_SET
+ , V_EDITOR
+ , V_SPELLER
+ , V_FILLCOL
+ , V_REPLY_STRING
+ , V_REPLY_INTRO
+ , V_QUOTE_REPLACE_STRING
+ , V_WORDSEPS
+ , V_EMPTY_HDR_MSG
+ , V_IMAGE_VIEWER
+ , V_USE_ONLY_DOMAIN_NAME
+ , V_BUGS_FULLNAME
+ , V_BUGS_ADDRESS
+ , V_BUGS_EXTRAS
+ , V_SUGGEST_FULLNAME
+ , V_SUGGEST_ADDRESS
+ , V_LOCAL_FULLNAME
+ , V_LOCAL_ADDRESS
+ , V_FORCED_ABOOK_ENTRY
+ , V_KBLOCK_PASSWD_COUNT
+ , V_DISPLAY_FILTERS
+ , V_SEND_FILTER
+ , V_ALT_ADDRS
+ , V_KEYWORDS
+ , V_KW_BRACES
+ , V_OPENING_SEP
+ , V_ABOOK_FORMATS
+ , V_INDEX_FORMAT
+ , V_OVERLAP
+ , V_MARGIN
+ , V_STATUS_MSG_DELAY
+ , V_ACTIVE_MSG_INTERVAL
+ , V_MAILCHECK
+ , V_MAILCHECKNONCURR
+ , V_MAILDROPCHECK
+ , V_NNTPRANGE
+ , V_NEWSRC_PATH
+ , V_NEWS_ACTIVE_PATH
+ , V_NEWS_SPOOL_DIR
+ , V_UPLOAD_CMD
+ , V_UPLOAD_CMD_PREFIX
+ , V_DOWNLOAD_CMD
+ , V_DOWNLOAD_CMD_PREFIX
+ , V_MAILCAP_PATH
+ , V_MIMETYPE_PATH
+ , V_BROWSER
+ , V_MAXREMSTREAM
+ , V_PERMLOCKED
+ , V_INCCHECKTIMEO
+ , V_INCCHECKINTERVAL
+ , V_INC2NDCHECKINTERVAL
+ , V_INCCHECKLIST
+ , V_DEADLETS
+#if !defined(DOS) && !defined(OS2) && !defined(LEAVEOUTFIFO)
+ , V_FIFOPATH
+#endif
+ , V_NMW_WIDTH
+ /*
+ * Starting here, the rest of the variables are hidden by default in config
+ * screen. They are exposed with expose-hidden-config feature.
+ */
+ , V_INCOMING_FOLDERS
+ , V_MAIL_DIRECTORY
+ , V_FOLDER_SPEC
+ , V_NEWS_SPEC
+ , V_ADDRESSBOOK
+ , V_GLOB_ADDRBOOK
+ , V_STANDARD_PRINTER
+ , V_LAST_TIME_PRUNE_QUESTION
+ , V_LAST_VERS_USED
+ , V_SENDMAIL_PATH
+ , V_OPER_DIR
+ , V_USERINPUTTIMEO
+#ifdef DEBUGJOURNAL
+ , V_DEBUGMEM /* obsolete */
+#endif
+ , V_TCPOPENTIMEO
+ , V_TCPREADWARNTIMEO
+ , V_TCPWRITEWARNTIMEO
+ , V_TCPQUERYTIMEO
+ , V_RSHCMD
+ , V_RSHPATH
+ , V_RSHOPENTIMEO
+ , V_SSHCMD
+ , V_SSHPATH
+ , V_SSHOPENTIMEO
+ , V_NEW_VER_QUELL
+ , V_DISABLE_DRIVERS
+ , V_DISABLE_AUTHS
+ , V_REMOTE_ABOOK_METADATA
+ , V_REMOTE_ABOOK_HISTORY
+ , V_REMOTE_ABOOK_VALIDITY
+ , V_PRINTER
+ , V_PERSONAL_PRINT_COMMAND
+ , V_PERSONAL_PRINT_CATEGORY
+ , V_PATTERNS /* obsolete */
+ , V_PAT_ROLES
+ , V_PAT_FILTS
+ , V_PAT_FILTS_OLD /* obsolete */
+ , V_PAT_SCORES
+ , V_PAT_SCORES_OLD /* obsolete */
+ , V_PAT_INCOLS
+ , V_PAT_OTHER
+ , V_PAT_SRCH
+ , V_ELM_STYLE_SAVE /* obsolete */
+ , V_HEADER_IN_REPLY /* obsolete */
+ , V_FEATURE_LEVEL /* obsolete */
+ , V_OLD_STYLE_REPLY /* obsolete */
+ , V_COMPOSE_MIME /* obsolete */
+ , V_SHOW_ALL_CHARACTERS /* obsolete */
+ , V_SAVE_BY_SENDER /* obsolete */
+#if defined(DOS) || defined(OS2)
+ , V_FILE_DIR
+ , V_FOLDER_EXTENSION
+#endif
+#ifndef _WINDOWS
+ , V_COLOR_STYLE
+#endif
+ , V_INDEX_COLOR_STYLE
+ , V_TITLEBAR_COLOR_STYLE
+ , V_NORM_FORE_COLOR
+ , V_NORM_BACK_COLOR
+ , V_REV_FORE_COLOR
+ , V_REV_BACK_COLOR
+ , V_TITLE_FORE_COLOR
+ , V_TITLE_BACK_COLOR
+ , V_TITLECLOSED_FORE_COLOR
+ , V_TITLECLOSED_BACK_COLOR
+ , V_STATUS_FORE_COLOR
+ , V_STATUS_BACK_COLOR
+ , V_KEYLABEL_FORE_COLOR
+ , V_KEYLABEL_BACK_COLOR
+ , V_KEYNAME_FORE_COLOR
+ , V_KEYNAME_BACK_COLOR
+ , V_SLCTBL_FORE_COLOR
+ , V_SLCTBL_BACK_COLOR
+ , V_METAMSG_FORE_COLOR
+ , V_METAMSG_BACK_COLOR
+ , V_QUOTE1_FORE_COLOR
+ , V_QUOTE1_BACK_COLOR
+ , V_QUOTE2_FORE_COLOR
+ , V_QUOTE2_BACK_COLOR
+ , V_QUOTE3_FORE_COLOR
+ , V_QUOTE3_BACK_COLOR
+ , V_INCUNSEEN_FORE_COLOR
+ , V_INCUNSEEN_BACK_COLOR
+ , V_SIGNATURE_FORE_COLOR
+ , V_SIGNATURE_BACK_COLOR
+ , V_PROMPT_FORE_COLOR
+ , V_PROMPT_BACK_COLOR
+ , V_HEADER_GENERAL_FORE_COLOR
+ , V_HEADER_GENERAL_BACK_COLOR
+ , V_IND_PLUS_FORE_COLOR
+ , V_IND_PLUS_BACK_COLOR
+ , V_IND_IMP_FORE_COLOR
+ , V_IND_IMP_BACK_COLOR
+ , V_IND_DEL_FORE_COLOR
+ , V_IND_DEL_BACK_COLOR
+ , V_IND_ANS_FORE_COLOR
+ , V_IND_ANS_BACK_COLOR
+ , V_IND_NEW_FORE_COLOR
+ , V_IND_NEW_BACK_COLOR
+ , V_IND_REC_FORE_COLOR
+ , V_IND_REC_BACK_COLOR
+ , V_IND_FWD_FORE_COLOR
+ , V_IND_FWD_BACK_COLOR
+ , V_IND_UNS_FORE_COLOR
+ , V_IND_UNS_BACK_COLOR
+ , V_IND_HIPRI_FORE_COLOR
+ , V_IND_HIPRI_BACK_COLOR
+ , V_IND_LOPRI_FORE_COLOR
+ , V_IND_LOPRI_BACK_COLOR
+ , V_IND_ARR_FORE_COLOR
+ , V_IND_ARR_BACK_COLOR
+ , V_IND_SUBJ_FORE_COLOR
+ , V_IND_SUBJ_BACK_COLOR
+ , V_IND_FROM_FORE_COLOR
+ , V_IND_FROM_BACK_COLOR
+ , V_IND_OP_FORE_COLOR
+ , V_IND_OP_BACK_COLOR
+ , V_VIEW_HDR_COLORS
+ , V_KW_COLORS
+#if defined(DOS) || defined(OS2)
+#ifdef _WINDOWS
+ , V_FONT_NAME
+ , V_FONT_SIZE
+ , V_FONT_STYLE
+ , V_FONT_CHAR_SET
+ , V_PRINT_FONT_NAME
+ , V_PRINT_FONT_SIZE
+ , V_PRINT_FONT_STYLE
+ , V_PRINT_FONT_CHAR_SET
+ , V_WINDOW_POSITION
+ , V_CURSOR_STYLE
+#endif
+#endif
+#ifdef SMIME
+ , V_PUBLICCERT_DIR
+ , V_PUBLICCERT_CONTAINER
+ , V_PRIVATEKEY_DIR
+ , V_PRIVATEKEY_CONTAINER
+ , V_CACERT_DIR
+ , V_CACERT_CONTAINER
+#endif
+#ifdef ENABLE_LDAP
+ , V_LDAP_SERVERS /* should be last so make will work right */
+#endif
+ , V_RSS_NEWS
+ , V_RSS_WEATHER
+ , V_WP_INDEXHEIGHT
+ , V_WP_INDEXLINES
+ , V_WP_AGGSTATE
+ , V_WP_STATE
+ , V_WP_COLUMNS
+ , V_DUMMY
+} VariableIndex;
+
+#define V_LAST_VAR (V_DUMMY - 1)
+
+
+/*
+ * The list of feature numbers (which bit goes with which feature).
+ * The order of the features is not significant.
+ */
+typedef enum {
+ F_OLD_GROWTH = 0,
+ F_ENABLE_FULL_HDR,
+ F_ENABLE_PIPE,
+ F_ENABLE_TAB_COMPLETE,
+ F_QUIT_WO_CONFIRM,
+ F_ENABLE_JUMP,
+ F_ENABLE_ALT_ED,
+ F_ENABLE_BOUNCE,
+ F_ENABLE_AGG_OPS,
+ F_ENABLE_FLAG,
+ F_CAN_SUSPEND,
+ F_USE_FK,
+ F_INCLUDE_HEADER,
+ F_SIG_AT_BOTTOM,
+ F_DEL_SKIPS_DEL,
+ F_AUTO_EXPUNGE,
+ F_FULL_AUTO_EXPUNGE,
+ F_EXPUNGE_MANUALLY,
+ F_AUTO_READ_MSGS,
+ F_AUTO_FCC_ONLY,
+ F_READ_IN_NEWSRC_ORDER,
+ F_SELECT_WO_CONFIRM,
+ F_SAVE_PARTIAL_WO_CONFIRM,
+ F_NEXT_THRD_WO_CONFIRM,
+ F_USE_CURRENT_DIR,
+ F_STARTUP_STAYOPEN,
+ F_USE_RESENTTO,
+ F_SAVE_WONT_DELETE,
+ F_SAVE_ADVANCES,
+ F_UNSELECT_WONT_ADVANCE,
+ F_FORCE_LOW_SPEED,
+ F_FORCE_ARROW,
+ F_PRUNE_USES_ISO,
+ F_ALT_ED_NOW,
+ F_SHOW_DELAY_CUE,
+ F_CANCEL_CONFIRM,
+ F_AUTO_OPEN_NEXT_UNREAD,
+ F_DISABLE_INDEX_LOCALE_DATES,
+ F_SELECTED_SHOWN_BOLD,
+ F_QUOTE_ALL_FROMS,
+ F_AUTO_INCLUDE_IN_REPLY,
+ F_DISABLE_CONFIG_SCREEN,
+ F_DISABLE_PASSWORD_CACHING,
+ F_DISABLE_REGEX,
+ F_DISABLE_PASSWORD_CMD,
+ F_DISABLE_UPDATE_CMD,
+ F_DISABLE_KBLOCK_CMD,
+ F_DISABLE_SIGEDIT_CMD,
+ F_DISABLE_ROLES_SETUP,
+ F_DISABLE_ROLES_SIGEDIT,
+ F_DISABLE_ROLES_TEMPLEDIT,
+ F_DISABLE_PIPES_IN_SIGS,
+ F_DISABLE_PIPES_IN_TEMPLATES,
+ F_ATTACHMENTS_IN_REPLY,
+ F_ENABLE_INCOMING,
+ F_ENABLE_INCOMING_CHECKING,
+ F_INCOMING_CHECKING_TOTAL,
+ F_INCOMING_CHECKING_RECENT,
+ F_NO_NEWS_VALIDATION,
+ F_QUELL_EXTRA_POST_PROMPT,
+ F_DISABLE_TAKE_LASTFIRST,
+ F_DISABLE_TAKE_FULLNAMES,
+ F_DISABLE_TERM_RESET_DISP,
+ F_DISABLE_SENDER,
+ F_ROT13_MESSAGE_ID,
+ F_QUELL_LOCAL_LOOKUP,
+ F_COMPOSE_TO_NEWSGRP,
+ F_PRESERVE_START_STOP,
+ F_COMPOSE_REJECTS_UNQUAL,
+ F_FAKE_NEW_IN_NEWS,
+ F_SUSPEND_SPAWNS,
+ F_ENABLE_8BIT,
+ F_COMPOSE_MAPS_DEL,
+ F_ENABLE_8BIT_NNTP,
+ F_ENABLE_MOUSE,
+ F_SHOW_CURSOR,
+ F_PASS_CONTROL_CHARS,
+ F_PASS_C1_CONTROL_CHARS,
+ F_SINGLE_FOLDER_LIST,
+ F_VERTICAL_FOLDER_LIST,
+ F_TAB_CHK_RECENT,
+ F_AUTO_REPLY_TO,
+ F_VERBOSE_POST,
+ F_FCC_ON_BOUNCE,
+ F_SEND_WO_CONFIRM,
+ F_USE_SENDER_NOT_X,
+ F_BLANK_KEYMENU,
+ F_DISABLE_SAVE_INPUT_HISTORY,
+ F_CUSTOM_PRINT,
+ F_DEL_FROM_DOT,
+ F_AUTO_ZOOM,
+ F_AUTO_UNZOOM,
+ F_PRINT_INDEX,
+ F_ALLOW_TALK,
+ F_AGG_PRINT_FF,
+ F_ENABLE_DOT_FILES,
+ F_ENABLE_DOT_FOLDERS,
+ F_FIRST_SEND_FILTER_DFLT,
+ F_ALWAYS_LAST_FLDR_DFLT,
+ F_TAB_TO_NEW,
+ F_MARK_FOR_CC,
+ F_WARN_ABOUT_NO_SUBJECT,
+ F_WARN_ABOUT_NO_FCC,
+ F_WARN_ABOUT_NO_TO_OR_CC,
+ F_QUELL_DEAD_LETTER,
+ F_QUELL_BEEPS,
+ F_QUELL_LOCK_FAILURE_MSGS,
+ F_ENABLE_SPACE_AS_TAB,
+ F_USE_BORING_SPINNER,
+ F_ENABLE_TAB_DELETES,
+ F_FLAG_SCREEN_KW_SHORTCUT,
+ F_FLAG_SCREEN_DFLT,
+ F_ENABLE_XTERM_NEWMAIL,
+ F_ENABLE_NEWMAIL_SHORT_TEXT,
+ F_EXPANDED_DISTLISTS,
+ F_AGG_SEQ_COPY,
+ F_DISABLE_ALARM,
+ F_DISABLE_SETLOCALE_COLLATE,
+ F_FROM_DELIM_IN_PRINT,
+ F_BACKGROUND_POST,
+ F_ALLOW_GOTO,
+ F_DSN,
+ F_ENABLE_SEARCH_AND_REPL,
+ F_ARROW_NAV,
+ F_RELAXED_ARROW_NAV,
+ F_TCAP_WINS,
+ F_ENABLE_SIGDASHES,
+ F_ENABLE_STRIP_SIGDASHES,
+ F_NEW_THREAD_ON_BLANK_SUBJECT,
+ F_QUELL_PARTIAL_FETCH,
+ F_QUELL_PERSONAL_NAME_PROMPT,
+ F_QUELL_USER_ID_PROMPT,
+ F_VIEW_SEL_ATTACH,
+ F_VIEW_SEL_URL,
+ F_VIEW_SEL_URL_HOST,
+ F_SCAN_ADDR,
+ F_FORCE_ARROWS,
+ F_PREFER_PLAIN_TEXT,
+ F_QUELL_CHARSET_WARNING,
+ F_COPY_TO_TO_FROM,
+ F_ENABLE_EDIT_REPLY_INDENT,
+ F_ENABLE_PRYNT,
+ F_ALLOW_CHANGING_FROM,
+ F_ENABLE_SUB_LISTS,
+ F_ENABLE_LESSTHAN_EXIT,
+ F_ENABLE_FAST_RECENT,
+ F_TAB_USES_UNSEEN,
+ F_ENABLE_ROLE_TAKE,
+ F_ENABLE_TAKE_EXPORT,
+ F_QUELL_ATTACH_EXTRA_PROMPT,
+ F_QUELL_ASTERISKS,
+ F_QUELL_ATTACH_EXT_WARN,
+ F_QUELL_FILTER_MSGS,
+ F_QUELL_FILTER_DONE_MSG,
+ F_SHOW_SORT,
+ F_FIX_BROKEN_LIST,
+ F_ENABLE_MULNEWSRCS,
+ F_PREDICT_NNTP_SERVER,
+ F_NEWS_CROSS_DELETE,
+ F_NEWS_CATCHUP,
+ F_QUELL_INTERNAL_MSG,
+ F_QUELL_IMAP_ENV_CB,
+ F_QUELL_NEWS_ENV_CB,
+ F_SEPARATE_FLDR_AS_DIR,
+ F_CMBND_ABOOK_DISP,
+ F_CMBND_FOLDER_DISP,
+ F_CMBND_SUBDIR_DISP,
+ F_EXPANDED_ADDRBOOKS,
+ F_EXPANDED_FOLDERS,
+ F_QUELL_EMPTY_DIRS,
+ F_SHOW_TEXTPLAIN_INT,
+ F_ROLE_CONFIRM_DEFAULT,
+ F_TAB_NO_CONFIRM,
+ F_DATES_TO_LOCAL,
+ F_RET_INBOX_NO_CONFIRM,
+ F_CHECK_MAIL_ONQUIT,
+ F_PREOPEN_STAYOPENS,
+ F_EXPUNGE_STAYOPENS,
+ F_EXPUNGE_INBOX,
+ F_NO_FCC_ATTACH,
+ F_DO_MAILCAP_PARAM_SUBST,
+ F_PREFER_ALT_AUTH,
+ F_SLCTBL_ITEM_NOBOLD,
+ F_QUELL_PINGS_COMPOSING,
+ F_QUELL_PINGS_COMPOSING_INBOX,
+ F_QUELL_BEZERK_TIMEZONE,
+ F_QUELL_CONTENT_ID,
+ F_QUELL_MAILDOMAIN_WARNING,
+ F_DISABLE_SHARED_NAMESPACES,
+ F_HIDE_NNTP_PATH,
+ F_MAILDROPS_PRESERVE_STATE,
+ F_EXPOSE_HIDDEN_CONFIG,
+ F_ALT_COMPOSE_MENU,
+ F_ALT_ROLE_MENU,
+ F_ALWAYS_SPELL_CHECK,
+ F_QUELL_TIMEZONE,
+ F_QUELL_USERAGENT,
+ F_COLOR_LINE_IMPORTANT,
+ F_SLASH_COLL_ENTIRE,
+ F_ENABLE_FULL_HDR_AND_TEXT,
+ F_QUELL_FULL_HDR_RESET,
+ F_MARK_FCC_SEEN,
+ F_MULNEWSRC_HOSTNAMES_AS_TYPED,
+ F_STRIP_WS_BEFORE_SEND,
+ F_QUELL_FLOWED_TEXT,
+ F_COMPOSE_ALWAYS_DOWNGRADE,
+ F_SORT_DEFAULT_FCC_ALPHA,
+ F_SORT_DEFAULT_SAVE_ALPHA,
+ F_QUOTE_REPLACE_NOFLOW,
+ F_AUTO_UNSELECT,
+ F_SEND_CONFIRM_ON_EXPAND,
+ F_ENABLE_NEWMAIL_SOUND,
+ F_RENDER_HTML_INTERNALLY,
+ F_ENABLE_JUMP_CMD,
+ F_FORWARD_AS_ATTACHMENT,
+#ifndef _WINDOWS
+ F_USE_SYSTEM_TRANS,
+#endif /* ! _WINDOWS */
+ F_QUELL_HOST_AFTER_URL,
+ F_NNTP_SEARCH_USES_OVERVIEW,
+ F_THREAD_SORTS_BY_ARRIVAL,
+#ifdef _WINDOWS
+ F_ENABLE_TRAYICON,
+ F_QUELL_SSL_LARGEBLOCKS,
+ F_STORE_WINPOS_IN_CONFIG,
+#endif
+#ifdef ENABLE_LDAP
+ F_ADD_LDAP_TO_ABOOK,
+#endif
+#ifdef SMIME
+ F_DONT_DO_SMIME,
+ F_SIGN_DEFAULT_ON,
+ F_ENCRYPT_DEFAULT_ON,
+ F_REMEMBER_SMIME_PASSPHRASE,
+#ifdef APPLEKEYCHAIN
+ F_PUBLICCERTS_IN_KEYCHAIN,
+#endif
+#endif
+ F_FEATURE_LIST_COUNT /* Number of features */
+} FeatureList;
+
+
+typedef struct init_err {
+ int flags, min_time, max_time;
+ char *message;
+} INIT_ERR_S;
+
+
+struct variable {
+ char *name;
+ unsigned is_obsolete:1; /* variable read in, not written unless set */
+ unsigned is_used:1; /* Some variables are disabled */
+ unsigned been_written:1;
+ unsigned is_user:1;
+ unsigned is_global:1;
+ unsigned is_list:1; /* flag indicating variable is a list */
+ unsigned is_fixed:1; /* sys mgr has fixed this variable */
+ unsigned is_onlymain:1; /* read and written from main_user_val */
+ unsigned is_outermost:1; /* read and written from outermost pinerc */
+ unsigned del_quotes:1; /* remove double quotes */
+ unsigned is_changed_val:1; /* WP: use the changed val instead of cur val */
+ char *dname; /* display name */
+ char *descrip; /* description */
+ union {
+ char *p; /* pointer to single string value */
+ char **l; /* pointer to list of string values */
+ } current_val;
+ union {
+ char *p; /* pointer to single string value */
+ char **l; /* pointer to list of string values */
+ } main_user_val; /* from pinerc */
+ union {
+ char *p; /* pointer to single string value */
+ char **l; /* pointer to list of string values */
+ } changed_val; /* currently different from pinerc */
+ union {
+ char *p; /* pointer to single string value */
+ char **l; /* pointer to list of string values */
+ } post_user_val; /* from pinerc */
+ union {
+ char *p; /* pointer to single string value */
+ char **l; /* pointer to list of string values */
+ } global_val; /* from default or pine.conf */
+ union {
+ char *p; /* pointer to single string value */
+ char **l; /* pointer to list of string values */
+ } fixed_val; /* fixed value assigned in pine.conf.fixed */
+ union {
+ char *p; /* pointer to single string value */
+ char **l; /* pointer to list of string values */
+ } cmdline_val; /* user typed as cmdline arg */
+};
+
+
+typedef struct feature_entry {
+ char *name;
+ char *dname; /* display name, same as name if NULL */
+ int id;
+ HelpType help;
+ int section; /* for grouping in config screen */
+ int defval; /* default value, 0 or 1 */
+} FEATURE_S;
+
+
+typedef struct pinerc_line {
+ char *line;
+ struct variable *var;
+ unsigned int is_var:1;
+ unsigned int is_quoted:1;
+ unsigned int obsolete_var:1;
+} PINERC_LINE;
+
+
+/*
+ * Each pinerc has one of these.
+ */
+typedef struct pinerc_s {
+ RemType type; /* type of pinerc, remote or local */
+ char *name; /* file name or remote name */
+ REMDATA_S *rd; /* remote data structure */
+ time_t pinerc_written;
+ unsigned readonly:1;
+ unsigned outstanding_pinerc_changes:1;
+ unsigned quit_to_edit:1;
+ PINERC_LINE *pinerc_lines;
+} PINERC_S;
+
+
+typedef enum {ParsePers, ParsePersPost, ParseGlobal, ParseFixed} ParsePinerc;
+
+
+/* data stored in a line in the metadata file */
+typedef struct remote_data_meta {
+ char *local_cache_file;
+ imapuid_t uidvalidity;
+ imapuid_t uidnext;
+ imapuid_t uid;
+ unsigned long nmsgs;
+ char read_status; /* 'R' for readonly, 'W' for readwrite */
+ char *date;
+} REMDATA_META_S;
+
+
+/*
+ * Generic name/value pair structure
+ */
+typedef struct nameval {
+ char *name; /* the name that goes on the screen */
+ char *shortname; /* if non-NULL, name that goes in config file */
+ int value; /* the internal bit number */
+} NAMEVAL_S;
+
+
+typedef enum {Main, Post, None} EditWhich;
+
+
+#ifdef SMIME
+
+typedef enum {Directory, Container, Keychain, Nada} SmimeHolderType;
+
+typedef struct certlist {
+ char *name;
+ void *x509_cert; /* this is type (X509 *) */
+ struct certlist *next;
+}CertList;
+
+typedef struct smime_stuff {
+ unsigned inited:1;
+ unsigned do_sign:1; /* set true if signing */
+ unsigned do_encrypt:1; /* set true if encrypting */
+ unsigned need_passphrase:1; /* set true if loading a key failed due to lack of passphrase */
+ unsigned entered_passphrase:1; /* user entered a passphrase */
+ unsigned already_auto_asked:1; /* asked for passphrase automatically, not again */
+ volatile char passphrase[100]; /* storage for the entered passphrase */
+ char *passphrase_emailaddr; /* pointer to allocated storage */
+
+ /*
+ * If we are using the Container type it is easiest if we
+ * read in and maintain a list of certs and then write them
+ * out all at once. For Directory type we just leave the data
+ * in the individual files and read or write the individual
+ * files when needed, so we don't have a list of all the certs.
+ */
+ SmimeHolderType publictype;
+ char *publicpath;
+ char *publiccontent;
+ CertList *publiccertlist;
+
+ SmimeHolderType privatetype;
+ char *privatepath;
+ char *privatecontent;
+ void *personal_certs; /* this is type (PERSONAL_CERT *) */
+
+ SmimeHolderType catype;
+ char *capath;
+ char *cacontent;
+
+} SMIME_STUFF_S;
+
+#endif /* SMIME */
+
+
+/* exported protoypes */
+
+
+#endif /* PITH_CONFTYPE_INCLUDED */