"Fossies" - the Fresh Open Source Software Archive

Member "s-nail-14.9.7/config.h" (16 Feb 2018, 8046 Bytes) of package /linux/misc/s-nail-14.9.7.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "config.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 14.9.6_vs_14.9.7.

    1 /*@ S-nail - a mail user agent derived from Berkeley Mail.
    2  *@ Some constants etc. for which adjustments may be desired.
    3  *@ This is included after all the (system) headers.
    4  *
    5  * Copyright (c) 2000-2004 Gunnar Ritter, Freiburg i. Br., Germany.
    6  * Copyright (c) 2012 - 2018 Steffen (Daode) Nurpmeso <steffen@sdaoden.eu>.
    7  */
    8 /*
    9  * Copyright (c) 1980, 1993
   10  *      The Regents of the University of California.  All rights reserved.
   11  *
   12  * Redistribution and use in source and binary forms, with or without
   13  * modification, are permitted provided that the following conditions
   14  * are met:
   15  * 1. Redistributions of source code must retain the above copyright
   16  *    notice, this list of conditions and the following disclaimer.
   17  * 2. Redistributions in binary form must reproduce the above copyright
   18  *    notice, this list of conditions and the following disclaimer in the
   19  *    documentation and/or other materials provided with the distribution.
   20  * 3. Neither the name of the University nor the names of its contributors
   21  *    may be used to endorse or promote products derived from this software
   22  *    without specific prior written permission.
   23  *
   24  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   25  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   26  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   27  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   29  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   30  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   31  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   32  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   33  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   34  * SUCH DAMAGE.
   35  */
   36 #ifndef n_CONFIG_H
   37 # define n_CONFIG_H
   38 
   39 #define ACCOUNT_NULL "null"   /* Name of "null" account */
   40 #define APPEND                /* New mail goes to end of mailbox */
   41 #define DOTLOCK_TRIES 5       /* Number of open(2) calls for dotlock */
   42 #define FILE_LOCK_TRIES 10    /* Maximum tries before n_file_lock() fails */
   43 #define FILE_LOCK_MILLIS 200  /* If UIZ_MAX, fall back to that */
   44 #define n_ERROR "ERROR"       /* Is-error?  Also as n_error[] */
   45 #define ERRORS_MAX 1000       /* Maximum error ring entries TODO configable*/
   46 #define n_ESCAPE "~"          /* Default escape for sending (POSIX) */
   47 #define FTMP_OPEN_TRIES 10    /* Maximum number of Ftmp() open(2) tries */
   48 #define HSHSIZE 23            /* Hash prime TODO make dynamic, obsolete */
   49 #define n_IMAP_DELIM "/."     /* Directory separator ([0] == replacer, too) */
   50 #define n_MAILDIR_SEPARATOR ':' /* Flag separator character */
   51 #define n_MAXARGC 512         /* Maximum list of raw strings TODO dyn vector! */
   52 #define n_ALIAS_MAXEXP 25     /* Maximum expansion of aliases */
   53 #define n_PATH_DEVNULL "/dev/null"  /* Note: manual uses /dev/null as such */
   54 #define REFERENCES_MAX 20     /* Maximum entries in References: */
   55 #define n_SIGSUSPEND_NOT_WAITPID 1 /* Not waitpid(2), but sigsuspend(2) */
   56 #define n_UNIREPL "\xEF\xBF\xBD" /* Unicode replacement 0xFFFD in UTF-8 */
   57 #define n_VEXPR_REGEX_MAX 16  /* Maximum address. `vexpr' regex(7) matches */
   58 
   59 /* * */
   60 
   61 /* Fallback MIME charsets, if *charset-7bit* and *charset-8bit* are not set.
   62  * Note: must be lowercase!
   63  * (Keep in SYNC: ./nail.1:"Character sets", ./config.h:CHARSET_*!) */
   64 #define CHARSET_7BIT "us-ascii"
   65 #ifdef HAVE_ICONV
   66 # define CHARSET_8BIT "utf-8"
   67 # define CHARSET_8BIT_OKEY charset_8bit
   68 #else
   69 # define CHARSET_8BIT "iso-8859-1"
   70 # define CHARSET_8BIT_OKEY ttycharset
   71 #endif
   72 
   73 #ifndef HOST_NAME_MAX
   74 # ifdef _POSIX_HOST_NAME_MAX
   75 #  define HOST_NAME_MAX _POSIX_HOST_NAME_MAX
   76 # else
   77 #  define HOST_NAME_MAX 255
   78 # endif
   79 #endif
   80 
   81 /* Max readable line width TODO simply use BUFSIZ? */
   82 #if BUFSIZ + 0 > 2560
   83 # define LINESIZE BUFSIZ
   84 #else
   85 # define LINESIZE 2560
   86 #endif
   87 #define BUFFER_SIZE (BUFSIZ >= (1u << 13) ? BUFSIZ : (1u << 14))
   88 
   89 /* Auto-reclaimed memory storage: size of the buffers.  Maximum auto-reclaimed
   90  * storage is that value /2, which is n_CTA()ed to be > 1024 */
   91 #define n_MEMORY_AUTOREC_SIZE 0x2000u
   92 /* Ugly, but avoid dynamic allocation for the management structure! */
   93 #define n_MEMORY_POOL_TYPE_SIZEOF (7 * sizeof(void*))
   94 
   95 /* Default *mime-encoding* as enum mime_enc */
   96 #define MIME_DEFAULT_ENCODING MIMEE_QP
   97 
   98 /* Maximum allowed line length in a mail before QP folding is necessary), and
   99  * the real limit we go for */
  100 #define MIME_LINELEN_MAX 998 /* Plus CRLF */
  101 #define MIME_LINELEN_LIMIT (MIME_LINELEN_MAX - 48)
  102 
  103 /* Ditto, SHOULD */
  104 #define MIME_LINELEN 78 /* Plus CRLF */
  105 
  106 /* And in headers which contain an encoded word according to RFC 2047 there is
  107  * yet another limit; also RFC 2045: 6.7, (5). */
  108 #define MIME_LINELEN_RFC2047 76
  109 
  110 /* TODO PATH_MAX: fixed-size buffer is always wrong (think NFS) */
  111 #ifndef PATH_MAX
  112 # ifdef MAXPATHLEN
  113 #  define PATH_MAX MAXPATHLEN
  114 # else
  115 #  define PATH_MAX 1024 /* _XOPEN_PATH_MAX POSIX 2008/Cor 1-2013 */
  116 # endif
  117 #endif
  118 
  119 /* Some environment variables for pipe hooks etc. */
  120 #define n_PIPEENV_FILENAME "MAILX_FILENAME"
  121 #define n_PIPEENV_FILENAME_GENERATED "MAILX_FILENAME_GENERATED"
  122 #define n_PIPEENV_FILENAME_TEMPORARY "MAILX_FILENAME_TEMPORARY"
  123 #define n_PIPEENV_CONTENT "MAILX_CONTENT"
  124 #define n_PIPEENV_CONTENT_EVIDENCE "MAILX_CONTENT_EVIDENCE"
  125 #define n_PIPEENV_EXTERNAL_BODY_URL "MAILX_EXTERNAL_BODY_URL"
  126 
  127 /* Maximum number of quote characters (not bytes!) that'll be used on
  128  * follow lines when compressing leading quote characters */
  129 #define n_QUOTE_MAX 42u
  130 
  131 /* How much spaces should a <tab> count when *quote-fold*ing? (power-of-two!) */
  132 #define n_QUOTE_TAB_SPACES 8
  133 
  134 /* Simply use RAND_bytes(3) for randoms */
  135 #ifdef HAVE_XSSL
  136 # define n_RANDOM_USE_XSSL 1
  137 #else
  138 # define n_RANDOM_USE_XSSL 0
  139 #endif
  140 
  141 /* For long iterative output, like `list', tabulator-completion, etc.,
  142  * determine the screen width that should be used */
  143 #define n_SCRNWIDTH_FOR_LISTS ((size_t)n_scrnwidth - ((size_t)n_scrnwidth >> 3))
  144 
  145 /* Smells fishy after, or asks for shell expansion, dependent on context */
  146 #define n_SHEXP_MAGIC_PATH_CHARS "|&;<>{}()[]*?$`'\"\\"
  147 
  148 /* Port to native MS-Windows and to ancient UNIX */
  149 #if !defined S_ISDIR && defined S_IFDIR && defined S_IFMT
  150 # define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
  151 #endif
  152 
  153 /* Maximum size of a message that is passed through to the spam system */
  154 #define SPAM_MAXSIZE 420000
  155 
  156 #ifndef NAME_MAX
  157 # ifdef _POSIX_NAME_MAX
  158 #  define NAME_MAX _POSIX_NAME_MAX
  159 # else
  160 #  define NAME_MAX 14
  161 # endif
  162 #endif
  163 #if NAME_MAX + 0 < 8
  164 # error NAME_MAX is too small
  165 #endif
  166 
  167 #ifndef STDIN_FILENO
  168 # define STDIN_FILENO 0
  169 #endif
  170 #ifndef STDOUT_FILENO
  171 # define STDOUT_FILENO 1
  172 #endif
  173 #ifndef STDERR_FILENO
  174 # define STDERR_FILENO 2
  175 #endif
  176 
  177 #ifdef O_CLOEXEC
  178 # define _O_CLOEXEC O_CLOEXEC
  179 # define _CLOEXEC_SET(FD) do {;} while(0)
  180 #else
  181 # define _O_CLOEXEC 0
  182 # define _CLOEXEC_SET(FD) n_fd_cloexec_set(FD)
  183 #endif
  184 
  185 #ifdef O_NOCTTY
  186 # define n_O_NOCTTY O_NOCTTY
  187 #else
  188 # define n_O_NOCTTY 0
  189 #endif
  190 #ifdef O_NOFOLLOW
  191 # define n_O_NOFOLLOW O_NOFOLLOW
  192 #else
  193 # define n_O_NOFOLLOW 0
  194 #endif
  195 #define n_O_NOXY_BITS (n_O_NOCTTY | n_O_NOFOLLOW)
  196 
  197 #ifdef NSIG_MAX
  198 # undef NSIG
  199 # define NSIG NSIG_MAX
  200 #elif !defined NSIG
  201 # define NSIG ((sizeof(sigset_t) * 8) - 1)
  202 #endif
  203 
  204 /* * */
  205 
  206 /* Switch indicating necessity of terminal access interface (termcap.c) */
  207 #if defined HAVE_TERMCAP || defined HAVE_COLOUR || defined HAVE_MLE
  208 # define n_HAVE_TCAP
  209 #endif
  210 
  211 /* Whether we shall do our memory debug thing */
  212 #if (defined HAVE_DEBUG || defined HAVE_DEVEL) && !defined HAVE_NOMEMDBG
  213 # define HAVE_MEMORY_DEBUG
  214 #endif
  215 
  216 /* Number of Not-Yet-Dead calls that are remembered */
  217 #if defined HAVE_DEBUG || defined HAVE_DEVEL || defined HAVE_NYD2
  218 # ifdef HAVE_NYD2
  219 #  define NYD_CALLS_MAX (25 * 84)
  220 # elif defined HAVE_DEVEL
  221 #  define NYD_CALLS_MAX (25 * 42)
  222 # else
  223 #  define NYD_CALLS_MAX (25 * 10)
  224 # endif
  225 #endif
  226 
  227 #endif /* n_CONFIG_H */
  228 /* s-it-mode */