"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.5/include/extern.h" (2 Dec 2020, 68702 Bytes) of package /linux/misc/tin-2.4.5.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 "extern.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 2.4.4_vs_2.4.5.

    1 /*
    2  *  Project   : tin - a Usenet reader
    3  *  Module    : extern.h
    4  *  Author    : I. Lea
    5  *  Created   : 1991-04-01
    6  *  Updated   : 2020-12-02
    7  *  Notes     :
    8  *
    9  * Copyright (c) 1997-2021 Iain Lea <iain@bricbrac.de>
   10  * 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  *
   16  * 1. Redistributions of source code must retain the above copyright notice,
   17  *    this list of conditions and the following disclaimer.
   18  *
   19  * 2. Redistributions in binary form must reproduce the above copyright
   20  *    notice, this list of conditions and the following disclaimer in the
   21  *    documentation and/or other materials provided with the distribution.
   22  *
   23  * 3. Neither the name of the copyright holder nor the names of its
   24  *    contributors may be used to endorse or promote products derived from
   25  *    this software without specific prior written permission.
   26  *
   27  * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   28  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   29  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   30  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
   31  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   32  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   33  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   34  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   35  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   36  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   37  * POSSIBILITY OF SUCH DAMAGE.
   38  */
   39 
   40 
   41 #ifndef EXTERN_H
   42 #   define EXTERN_H 1
   43 
   44 /*
   45  * Library prototypes
   46  */
   47 
   48 #ifndef RFC2046_H
   49 #   include <rfc2046.h>
   50 #endif /* !RFC2046_H */
   51 #ifndef KEYMAP_H
   52 #   include "keymap.h"
   53 #endif /* !KEYMAP_H */
   54 
   55 /*
   56  * The prototypes bracketed by DECL_xxxx ifdef's are used to get moderately
   57  * clean compiles on systems with pre-ANSI/POSIX headers when compiler
   58  * warnings are enabled. (Not all of the functions are ANSI or POSIX).
   59  */
   60 #ifdef DECL__FLSBUF
   61     extern int _flsbuf(int, FILE *);
   62 #endif /* DECL__FLSBUF */
   63 #ifdef DECL_ALARM
   64     extern unsigned alarm(unsigned);
   65 #endif /* DECL_ALARM */
   66 #ifdef DECL_ATOI
   67     extern int atoi(const char *);
   68 #endif /* DECL_ATOI */
   69 #ifdef DECL_ATOL
   70     extern long atol(const char *);
   71 #endif /* DECL_ATOL */
   72 #ifdef HAVE_ATOLL
   73 #   ifdef DECL_ATOLL
   74         extern long long atoll(const char *);
   75 #   endif /* DECL_ATOLL */
   76 #else
   77 #   if defined(HAVE_ATOQ) && defined(DECL_ATOQ)
   78          extern long long atoq(const char *);
   79 #   endif /* HAVE_ATOQ && DECL_ATOQ */
   80 #endif /* HAVE_ATOLL */
   81 #ifndef HAVE_MEMCPY
   82 #   ifdef DECL_BCOPY
   83         extern int bcopy(char *, char *, int);
   84 #   endif /* DECL_BCOPY */
   85 #endif /* !HAVE_MEMCPY */
   86 
   87 #if 0 /* trouble on Linux/gcc 3.1 */
   88 #   ifdef DECL_BZERO /* FD_ZERO() might use this */
   89         extern void bzero(char *, int);
   90 #   endif /* DECL_BZERO */
   91 #endif /* 0 */
   92 
   93 #ifdef DECL_CALLOC
   94     extern void *calloc(size_t, size_t);
   95 #endif /* DECL_CALLOC */
   96 #ifdef DECL_FCHMOD
   97     extern int fchmod(int, mode_t);
   98 #endif /* DECL_FCHMOD */
   99 #ifdef DECL_FCLOSE
  100     extern int fclose(FILE *);
  101 #endif /* DECL_FCLOSE */
  102 #ifdef DECL_FDOPEN
  103     extern FILE *fdopen(int, const char *);
  104 #endif /* DECL_FDOPEN */
  105 #ifdef DECL_FFLUSH
  106     extern int fflush(FILE *);
  107 #endif /* DECL_FFLUSH */
  108 #ifdef DECL_FGETC
  109     extern int fgetc(FILE *);
  110 #endif /* DECL_FGETC */
  111 #if defined(DECL_FILENO) && !defined(fileno)
  112     extern int fileno(FILE *);
  113 #endif /* DECL_FILENO && !fileno */
  114 #ifdef DECL_FPRINTF
  115     extern int fprintf(FILE *, const char *, ...);
  116 #endif /* DECL_FPRINTF */
  117 #ifdef DECL_FPUTC
  118     extern int fputc(int, FILE *);
  119 #endif /* DECL_FPUTC */
  120 #ifdef DECL_FPUTS
  121     extern int fputs(const char *, FILE *);
  122 #endif /* DECL_FPUTS */
  123 #ifdef DECL_FREAD
  124     extern size_t fread(void *, size_t, size_t, FILE *);
  125 #endif /* DECL_FREAD */
  126 #ifdef DECL_FREE
  127     extern void free(void *);
  128 #endif /* DECL_FREE */
  129 #ifdef DECL_FSEEK
  130     extern int fseek(FILE *, long, int);
  131 #endif /* DECL_FSEEK */
  132 #ifdef DECL_FWRITE
  133     extern size_t fwrite(void *, size_t, size_t, FILE *);
  134 #endif /* DECL_FWRITE */
  135 #ifdef DECL_GETCWD
  136     extern char *getcwd(char *, size_t);
  137 #endif /* DECL_GETCWD */
  138 #ifdef DECL_GETENV
  139     extern char *getenv(const char *);
  140 #endif /* DECL_GETENV */
  141 #ifdef DECL_GETHOSTBYNAME
  142     extern struct hostent *gethostbyname(const char *);
  143 #endif /* DECL_GETHOSTBYNAME */
  144 #ifdef DECL_GETHOSTNAME
  145     extern int gethostname(char *, size_t);
  146 #endif /* DECL_GETHOSTNAME */
  147 #ifdef DECL_GETLOGIN
  148     extern char *getlogin(void);
  149 #endif /* DECL_GETLOGIN */
  150 #ifdef DECL_GETOPT
  151     extern int getopt(int, char * const*, const char *);
  152 #endif /* DECL_GETOPT */
  153 #ifdef DECL_GETPWNAM
  154     extern struct passwd *getpwnam(const char *);
  155 #endif /* DECL_GETPWNAM */
  156 #ifdef DECL_GETSERVBYNAME
  157     extern struct servent *getservbyname(const char *, const char *);
  158 #endif /* DECL_GETSERVBYNAME */
  159 #ifdef DECL_GETWD
  160     extern char *getwd(char *);
  161 #endif /* DECL_GETWD */
  162 
  163 #if 0 /* doesn't match prototype in proto.h */
  164 #   ifdef DECL_HEAPSORT
  165     extern int heapsort(void *, size_t, size_t, int (*)(t_comptype*, t_comptype*));
  166 #   endif /* DECL_HEAPSORT */
  167 #endif /* 0 */
  168 
  169 #ifdef DECL_INET_ADDR
  170     extern unsigned long inet_addr(const char *);
  171 #endif /* DECL_INET_ADDR */
  172 
  173 #if 0 /* breaks gcc 3.0 -std=c89 on SuSE 7.1 */
  174 #   ifdef DECL_INET_ATON
  175         extern int inet_aton(const char *, struct in_addr *);
  176 #   endif /* DECL_INET_ATON */
  177 #endif /* 0 */
  178 
  179 #ifdef DECL_IOCTL
  180     extern int ioctl(int, int, void *);
  181 #endif /* DECL_IOCTL */
  182 #if defined(DECL_ISASCII) && !defined(isascii)
  183     extern int isascii(int);
  184 #endif /* DECL_ISASCII && !isascii */
  185 #ifdef DECL_KILL
  186     extern int kill(pid_t, int);
  187 #endif /* DECL_KILL */
  188 #ifdef DECL_MALLOC
  189     extern void *malloc(size_t);
  190 #endif /* DECL_MALLOC */
  191 #ifdef DECL_MEMSET
  192     extern void *memset(void *, int, size_t);
  193 #endif /* DECL_MEMSET */
  194 #ifdef DECL_MKSTEMP
  195     extern int mkstemp(char *);
  196 #endif /* DECL_MKSTEMP */
  197 #ifdef DECL_MKTEMP
  198     extern char *mktemp(char *);
  199 #endif /* DECL_MKTEMP */
  200 #ifdef DECL_PCLOSE
  201     extern int pclose(FILE *);
  202 #endif /* DECL_PCLOSE */
  203 #ifdef DECL_PERROR
  204     extern void perror(const char *);
  205 #endif /* DECL_PERROR */
  206 #ifdef DECL_POPEN
  207     extern FILE *popen(const char *, const char *);
  208 #endif /* DECL_POPEN */
  209 #ifdef DECL_PRINTF
  210     extern int printf(const char *, ...);
  211 #endif /* DECL_PRINTF */
  212 #ifdef DECL_PUTENV
  213     extern int putenv(char *);
  214 #endif /* DECL_PUTENV */
  215 #ifdef DECL_QSORT
  216     extern void qsort(void *, size_t, size_t, int (*)(t_comptype*, t_comptype*));
  217 #endif /* DECL_QSORT */
  218 #ifdef DECL_REALLOC
  219     extern void *realloc(void *, size_t);
  220 #endif /* DECL_REALLOC */
  221 #ifdef DECL_RENAME
  222     extern int rename(const char *, const char *);
  223 #endif /* DECL_RENAME */
  224 #ifdef DECL_REWIND
  225     extern void rewind(FILE *);
  226 #endif /* DECL_REWIND */
  227 #ifdef DECL_SELECT
  228     extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
  229 #endif /* DECL_SELECT */
  230 #ifdef DECL_SETENV
  231     extern int setenv(const char *, const char *, int);
  232 #endif /* DECL_SETENV */
  233 #ifdef DECL_SOCKET
  234     extern int socket(int, int, int);
  235 #endif /* DECL_SOCKET */
  236 #ifdef DECL_SNPRINTF
  237     extern int snprintf(char *, size_t, const char *, ...);
  238 #endif /* DECL_SNPRINTF */
  239 #ifdef DECL_SSCANF
  240     extern int sscanf(const char *, const char *, ...);
  241 #endif /* DECL_SSCANF */
  242 #ifdef DECL_STRCASECMP
  243     extern int strcasecmp(const char *, const char *);
  244 #endif /* DECL_STRCASECMP */
  245 #ifdef DECL_STRCHR
  246     extern char *strchr(const char *, int);
  247 #endif /* DECL_STRCHR */
  248 #ifdef DECL_STRRCHR
  249     extern char *strrchr(const char *, int);
  250 #endif /* DECL_STRRCHR */
  251 #ifdef DECL_STRFTIME
  252     extern int strftime(char *, int, char *, struct tm *);
  253 #endif /* DECL_STRFTIME */
  254 #ifdef DECL_STRNCASECMP
  255     extern int strncasecmp(const char *, const char *, size_t);
  256 #endif /* DECL_STRNCASECMP */
  257 #ifdef DECL_STRSEP
  258     extern char *strsep(char **, const char *);
  259 #endif /* DECL_STRSEP */
  260 #ifdef DECL_STRTOL
  261     extern long strtol(const char *, char **, int);
  262 #endif /* DECL_STRTOL */
  263 #ifdef DECL_STRTOLL
  264     extern long long strtoll(const char *, char **, int);
  265 #endif /* DECL_STRTOLL */
  266 #ifdef DECL_SYSTEM
  267     extern int system(const char *);
  268 #endif /* DECL_SYSTEM */
  269 #ifdef DECL_TMPFILE
  270     extern FILE *tmpfile(void);
  271 #endif /* DECL_TMPFILE */
  272 #ifdef DECL_TGETENT
  273     extern int tgetent(char *, char *);
  274 #endif /* DECL_TGETENT */
  275 #ifdef DECL_TGETFLAG
  276     extern int tgetflag(char *);
  277 #endif /* DECL_TGETFLAG */
  278 #if defined(DECL_TGETNUM)
  279     extern int tgetnum(char *);
  280 #endif /* DECL_TGETNUM */
  281 #ifdef DECL_TGETSTR
  282     extern char *tgetstr(char *, char **);
  283 #endif /* DECL_TGETSTR */
  284 #ifdef DECL_TGOTO
  285     extern char *tgoto(char *, int, int);
  286 #endif /* DECL_TGOTO */
  287 #ifdef DECL_TIGETFLAG
  288     extern int tigetflag(char *);
  289 #endif /* DECL_TIGETFLAG */
  290 #if defined(DECL_TIGETNUM)
  291     extern int tigetnum(char *);
  292 #endif /* DECL_TGETNUM */
  293 #ifdef DECL_TIGETSTR
  294     extern char *tigetstr(char *);
  295 #endif /* DECL_TIGETSTR */
  296 #ifdef DECL_TIME
  297     extern time_t time(time_t *);
  298 #endif /* DECL_TIME */
  299 #if defined(DECL_TOLOWER) && !defined(tolower)
  300     extern int tolower(int);
  301 #endif /* DECL_TOLOWER && !tolower */
  302 #if defined(DECL_TOUPPER) && !defined(toupper)
  303     extern int toupper(int);
  304 #endif /* DECL_TOUPPER && !toupper */
  305 #ifdef DECL_TPARM
  306     extern char *tparm(const char *, ...);
  307 #endif /* DECL_TPARM */
  308 #ifdef DECL_TPUTS
  309     extern int tputs(char *, int, OutcPtr);
  310 #endif /* DECL_TPUTS */
  311 #ifdef DECL_UNGETC
  312     extern int ungetc(int, FILE *);
  313 #endif /* DECL_UNGETC */
  314 
  315 #if 0 /* SUSv2 changed that to "int usleep(unsigned long)" */
  316 #   ifdef DECL_USLEEP
  317         extern void usleep(unsigned long);
  318 #   endif /* DECL_USLEEP */
  319 #endif /* 0 */
  320 
  321 #ifdef DECL_VSNPRINTF
  322     extern int vsnprintf(char *, size_t, const char *, va_list);
  323 #endif /* DECL_VSNPRINTF */
  324 #if 0 /* some (most?) systems have "int vsprintf(char *, const char *, va_list)" */
  325 #   ifdef DECL_VSPRINTF
  326     extern int vsprintf(char *, char *, va_list);
  327 #   endif /* DECL_VSPRINTF */
  328 #endif /* 0 */
  329 
  330 #ifdef __CYGWIN__
  331     extern int __declspec(dllimport) optind;
  332     extern char __declspec(dllimport) *optarg;
  333 #else
  334     extern int optind;
  335     extern char *optarg;
  336 #endif /* __CYGWIN__ */
  337 
  338 /*
  339  * Local variables
  340  */
  341 
  342 /* This fixes ambiguities on platforms that don't distinguish extern case */
  343 #ifdef CASE_PROBLEM
  344 #   define txt_help_B   txt_help_BIGB
  345 #   define txt_help_D   txt_help_BIGD
  346 #   define txt_help_I   txt_help_BIGI
  347 #   define txt_help_K   txt_help_BIGK
  348 #   define txt_help_L   txt_help_BIGL
  349 #   define txt_help_M   txt_help_BIGM
  350 #   define txt_help_Q   txt_help_BIGQ
  351 #   define txt_help_S   txt_help_BIGS
  352 #   define txt_help_T   txt_help_BIGT
  353 #   define txt_help_U   txt_help_BIGU
  354 #   define txt_help_W   txt_help_BIGW
  355 #   define txt_help_X   txt_help_BIGX
  356 #   define txt_help_p_S txt_help_p_BIGS
  357 #   define txt_help_t_K txt_help_t_BIGK
  358 #   define txt_help_p_U txt_help_p_BIGU
  359 #   define txt_help_thd_C   txt_help_thd_BIGC
  360 #endif /* CASE_PROBLEM */
  361 
  362 extern char *OPT_CHAR_list[];
  363 extern char *OPT_STRING_list[];
  364 extern char *nntp_server;
  365 extern char *tin_progname;
  366 extern char active_times_file[PATH_LEN];
  367 extern char article_name[PATH_LEN];
  368 extern char bug_addr[LEN];
  369 extern char bug_nntpserver1[PATH_LEN];
  370 extern char bug_nntpserver2[PATH_LEN];
  371 extern char cvers[LEN];
  372 extern char dead_article[PATH_LEN];
  373 extern char dead_articles[PATH_LEN];
  374 extern char default_organization[PATH_LEN];
  375 extern char default_signature[PATH_LEN];
  376 extern char global_attributes_file[PATH_LEN];
  377 extern char global_config_file[PATH_LEN];
  378 extern char homedir[PATH_LEN];
  379 extern char index_maildir[PATH_LEN];
  380 extern char index_newsdir[PATH_LEN];
  381 extern char index_savedir[PATH_LEN];
  382 extern char inewsdir[PATH_LEN];
  383 extern char local_attributes_file[PATH_LEN];
  384 extern char local_config_file[PATH_LEN];
  385 extern char filter_file[PATH_LEN];
  386 extern char local_input_history_file[PATH_LEN];
  387 extern char local_newsgroups_file[PATH_LEN];
  388 extern char local_newsrctable_file[PATH_LEN];
  389 extern char lock_file[PATH_LEN];
  390 extern char mail_news_user[LEN];
  391 extern char mailbox[PATH_LEN];
  392 extern char mailer[PATH_LEN];
  393 #ifdef HAVE_MH_MAIL_HANDLING
  394     extern char mail_active_file[PATH_LEN];
  395     extern char mailgroups_file[PATH_LEN];
  396 #endif /* HAVE_MH_MAIL_HANDLING */
  397 extern char newnewsrc[PATH_LEN];
  398 extern char news_active_file[PATH_LEN];
  399 extern char newsgroups_file[PATH_LEN];
  400 extern char newsrc[PATH_LEN];
  401 #ifndef NNTP_ONLY
  402     extern char novrootdir[PATH_LEN];
  403     extern char novfilename[NAME_LEN + 1];
  404 #endif /* !NNTP_ONLY */
  405 extern char page_header[LEN];
  406 extern char posted_info_file[PATH_LEN];
  407 extern char postponed_articles_file[PATH_LEN];
  408 extern char rcdir[PATH_LEN];
  409 extern char save_active_file[PATH_LEN];
  410 extern char spooldir[PATH_LEN];
  411 extern char subscriptions_file[PATH_LEN];
  412 extern char overviewfmt_file[PATH_LEN];
  413 extern char txt_help_bug_report[LEN];
  414 extern char userid[PATH_LEN];
  415 
  416 extern char domain_name[];
  417 
  418 extern const char base64_alphabet[64];
  419 
  420 #ifdef USE_CANLOCK
  421     extern constext *txt_cancel_lock_algos[];
  422 #endif /* USE_CANLOCK */
  423 extern constext *content_encodings[];
  424 extern constext *content_types[];
  425 extern constext *txt_attrs[];
  426 extern constext *txt_auto_cc_bcc_options[];
  427 #ifdef HAVE_COLOR
  428     extern constext *txt_colors[];
  429     extern constext *txt_backcolors[];
  430 #endif /* HAVE_COLOR */
  431 extern constext *txt_confirm_choices[];
  432 extern constext *txt_goto_next_unread_options[];
  433 extern constext *txt_hide_uue_type[];
  434 extern constext *txt_interactive_mailers[];
  435 extern constext *txt_kill_level_type[];
  436 #ifdef CHARSET_CONVERSION
  437     extern constext *txt_mime_charsets[];   /* supported charsets */
  438 #endif /* CHARSET_CONVERSION */
  439 extern constext *txt_mime_7bit_charsets[]; /* 7bit charsets */
  440 extern constext *txt_mailbox_formats[];
  441 extern constext *txt_marks[];
  442 extern constext *txt_mime_encodings[];
  443 #ifdef HAVE_UNICODE_NORMALIZATION
  444     extern constext *txt_normalization_forms[];
  445 #endif /* HAVE_UNICODE_NORMALIZATION */
  446 extern constext *txt_onoff[];
  447 extern constext *txt_post_process_types[];
  448 extern constext *txt_quick_ks_header_options[];
  449 extern constext *txt_quote_style_type[];
  450 extern constext *txt_show_from[];
  451 extern constext *txt_sort_a_type[]; /* a=articles */
  452 extern constext *txt_sort_t_type[]; /* t=threads */
  453 extern constext *txt_strip_bogus_type[];
  454 extern constext *txt_threading[];
  455 extern constext *txt_thread_score_type[];
  456 extern constext *txt_trim_article_body_options[];
  457 extern constext *txt_wildcard_type[];
  458 extern constext txt_1_resp[];
  459 extern constext txt_7bit[];
  460 extern constext txt_8bit[];
  461 extern constext txt_active_file_is_empty[];
  462 extern constext txt_all[];
  463 extern constext txt_all_groups[];
  464 extern constext txt_append_overwrite_quit[];
  465 extern constext txt_art_cancel[];
  466 extern constext txt_art_mailgroups[];
  467 extern constext txt_art_newsgroups[];
  468 extern constext txt_art_not_posted[];
  469 extern constext txt_art_not_saved[];
  470 extern constext txt_art_pager_com[];
  471 extern constext txt_art_parent_killed[];
  472 extern constext txt_art_parent_none[];
  473 extern constext txt_art_parent_unavail[];
  474 extern constext txt_art_posted[];
  475 extern constext txt_art_rejected[];
  476 extern constext txt_art_thread_regex_tag[];
  477 extern constext txt_art_unavailable[];
  478 extern constext txt_art_x_of_n[];
  479 extern constext txt_article_cancelled[];
  480 extern constext txt_article_plural[];
  481 extern constext txt_article_reposted[];
  482 extern constext txt_article_singular[];
  483 extern constext txt_article_upper[];
  484 extern constext txt_articles_mailed[];
  485 #ifndef DISABLE_PRINTING
  486     extern constext txt_articles_printed[];
  487 #endif /* !DISABLE_PRINTING */
  488 #ifndef DONT_HAVE_PIPING
  489     extern constext txt_articles_piped[];
  490 #endif /* !DONT_HAVE_PIPING */
  491 extern constext txt_attach[];
  492 extern constext txt_attach_charset[];
  493 extern constext txt_attach_description[];
  494 extern constext txt_attachment_lines[];
  495 extern constext txt_attachment_menu[];
  496 extern constext txt_attachment_menu_com[];
  497 extern constext txt_attachment_no_name[];
  498 extern constext txt_attachment_saved[];
  499 extern constext txt_attachments_saved[];
  500 extern constext txt_attachment_select[];
  501 extern constext txt_attachment_tagged[];
  502 extern constext txt_attachments_tagged[];
  503 extern constext txt_attachment_untagged[];
  504 extern constext txt_attach_unsup_charset[];
  505 extern constext txt_attrib_menu_com[];
  506 extern constext txt_attrib_no_scope[];
  507 extern constext txt_uue[];
  508 extern constext txt_at_s[];
  509 #ifdef NNTP_ABLE
  510     extern constext txt_auth_failed[];
  511     extern constext txt_auth_failed_nopass[];
  512     extern constext txt_auth_pass[];
  513     extern constext txt_auth_user[];
  514     extern constext txt_auth_needed[];
  515     extern constext txt_authorization_fail[];
  516     extern constext txt_authorization_ok[];
  517 #endif /* NNTP_ABLE */
  518 extern constext txt_author_search_backwards[];
  519 extern constext txt_author_search_forwards[];
  520 extern constext txt_autoselecting_articles[];
  521 extern constext txt_autosubscribed[];
  522 extern constext txt_autosubscribing_groups[];
  523 extern constext txt_bad_article[];
  524 extern constext txt_bad_attrib[];
  525 extern constext txt_bad_command[];
  526 extern constext txt_base64[];
  527 extern constext txt_base_article[];
  528 extern constext txt_base_article_range[];
  529 extern constext txt_batch_update_unavail[];
  530 extern constext txt_begin_of_art[];
  531 extern constext txt_begin_of_page[];
  532 #ifdef NNTP_ABLE
  533     extern constext txt_caching_off[];
  534     extern constext txt_caching_on[];
  535 #endif /* NNTP_ABLE */
  536 extern constext txt_cancel_article[];
  537 extern constext txt_cancelling_art[];
  538 extern constext txt_cannot_create[];
  539 extern constext txt_cannot_create_uniq_name[];
  540 extern constext txt_cannot_find_base_art[];
  541 extern constext txt_cannot_filter_on_path[];
  542 #ifdef NNTP_ABLE
  543     extern constext txt_cannot_get_nntp_server_name[];
  544 #endif /* NNTP_ABLE */
  545 #if !defined(USE_CURSES) && !defined(USE_TERMINFO)
  546     extern constext txt_cannot_get_term_entry[];
  547 #endif /* !USE_CURSES && !USE_TERMINFO */
  548 extern constext txt_cannot_open[];
  549 extern constext txt_cannot_open_for_saving[];
  550 extern constext txt_cannot_post[];
  551 extern constext txt_cannot_post_group[];
  552 #ifdef NNTP_ABLE
  553     extern constext txt_cannot_retrieve[];
  554 #endif /* NNTP_ABLE */
  555 extern constext txt_cannot_write_to_directory[];
  556 extern constext txt_catchup[];
  557 extern constext txt_catchup_group[];
  558 extern constext txt_catchup_all_read_groups[];
  559 extern constext txt_catchup_despite_tags[];
  560 extern constext txt_catchup_update_info[];
  561 extern constext txt_caughtup[];
  562 extern constext txt_check_article[];
  563 extern constext txt_checking_for_news[];
  564 extern constext txt_checking_new_groups[];
  565 #if !defined(HAVE_LIBUU) && defined(HAVE_SUM) && !defined(DONT_HAVE_PIPING)
  566     extern constext txt_checksum_of_file[];
  567 #endif /* !HAVE_LIBUU && && HAVE_SUM && !DONT_HAVE_PIPING */
  568 extern constext txt_choose_post_process_type[];
  569 #ifdef HAVE_COLOR
  570     extern constext txt_color_off[];
  571     extern constext txt_color_on[];
  572 #endif /* HAVE_COLOR */
  573 extern constext txt_command_failed[];
  574 extern constext txt_cook_article_failed_exiting[];
  575 extern constext txt_confirm_select_on_exit[];
  576 #ifdef NNTP_ABLE
  577     extern constext txt_connecting[];
  578     extern constext txt_connecting_port[];
  579 #endif /* NNTP_ABLE */
  580 #if defined(NNTP_ABLE) && !defined(INET6)
  581     extern constext txt_connection_to[];
  582 #endif /* NNTP_ABLE && !INET6 */
  583 extern constext txt_copyright_notice[];
  584 extern constext txt_cr[];
  585 extern constext txt_creating_active[];
  586 extern constext txt_creating_newsrc[];
  587 extern constext txt_default[];
  588 extern constext txt_delete_processed_files[];
  589 extern constext txt_deleting[];
  590 #ifdef NNTP_ABLE
  591     extern constext txt_disconnecting[];
  592 #endif /* NNTP_ABLE */
  593 extern constext txt_end_of_art[];
  594 extern constext txt_end_of_arts[];
  595 extern constext txt_end_of_attachments[];
  596 extern constext txt_end_of_groups[];
  597 extern constext txt_end_of_page[];
  598 extern constext txt_end_of_scopes[];
  599 extern constext txt_end_of_thread[];
  600 extern constext txt_end_of_urls[];
  601 extern constext txt_enter_getart_limit[];
  602 extern constext txt_enter_message_id[];
  603 extern constext txt_enter_next_thread[];
  604 extern constext txt_enter_next_unread_art[];
  605 extern constext txt_enter_next_unread_group[];
  606 extern constext txt_enter_option_num[];
  607 extern constext txt_enter_range[];
  608 extern constext txt_error_approved[];
  609 extern constext txt_error_asfail[];
  610 extern constext txt_error_bad_approved[];
  611 extern constext txt_error_bad_from[];
  612 extern constext txt_error_bad_msgidfqdn[];
  613 extern constext txt_error_bad_replyto[];
  614 extern constext txt_error_bad_to[];
  615 #ifndef NO_LOCKING
  616     extern constext txt_error_cant_unlock[];
  617     extern constext txt_error_couldnt_dotlock[];
  618     extern constext txt_error_couldnt_lock[];
  619 #endif /* NO_LOCKING */
  620 extern constext txt_error_copy_fp[];
  621 extern constext txt_error_corrupted_file[];
  622 extern constext txt_error_fseek[];
  623 extern constext txt_error_followup_poster[];
  624 extern constext txt_error_format_string[];
  625 extern constext txt_error_gnksa_internal[];
  626 extern constext txt_error_gnksa_langle[];
  627 extern constext txt_error_gnksa_lparen[];
  628 extern constext txt_error_gnksa_rparen[];
  629 extern constext txt_error_gnksa_atsign[];
  630 extern constext txt_error_gnksa_sgl_domain[];
  631 extern constext txt_error_gnksa_inv_domain[];
  632 extern constext txt_error_gnksa_ill_domain[];
  633 extern constext txt_error_gnksa_unk_domain[];
  634 extern constext txt_error_gnksa_fqdn[];
  635 extern constext txt_error_gnksa_zero[];
  636 extern constext txt_error_gnksa_length[];
  637 extern constext txt_error_gnksa_hyphen[];
  638 extern constext txt_error_gnksa_begnum[];
  639 extern constext txt_error_gnksa_bad_lit[];
  640 extern constext txt_error_gnksa_local_lit[];
  641 extern constext txt_error_gnksa_rbracket[];
  642 extern constext txt_error_gnksa_lp_missing[];
  643 extern constext txt_error_gnksa_lp_invalid[];
  644 extern constext txt_error_gnksa_lp_zero[];
  645 extern constext txt_error_gnksa_rn_unq[];
  646 extern constext txt_error_gnksa_rn_qtd[];
  647 extern constext txt_error_gnksa_rn_enc[];
  648 extern constext txt_error_gnksa_rn_encsyn[];
  649 extern constext txt_error_gnksa_rn_paren[];
  650 extern constext txt_error_gnksa_rn_invalid[];
  651 extern constext txt_error_header_and_body_not_separate[];
  652 extern constext txt_error_header_duplicate[];
  653 extern constext txt_error_header_format[];
  654 extern constext txt_error_header_line_bad_charset[];
  655 extern constext txt_error_header_line_bad_encoding[];
  656 extern constext txt_error_header_line_blank[];
  657 extern constext txt_error_header_line_colon[];
  658 extern constext txt_error_header_line_empty[];
  659 extern constext txt_error_header_line_missing[];
  660 extern constext txt_error_header_line_not_7bit[];
  661 extern constext txt_error_header_line_space[];
  662 extern constext txt_error_insecure_permissions[];
  663 #if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE)
  664     extern constext txt_error_locale[];
  665 #endif /* HAVE_SETLOCALE && !NO_LOCALE */
  666 extern constext txt_error_mime_end[];
  667 extern constext txt_error_mime_start[];
  668 extern constext txt_error_no_domain_name[];
  669 extern constext txt_error_no_enter_permission[];
  670 #ifdef NNTP_INEWS
  671     extern constext txt_error_no_from[];
  672 #endif /* NNTP_INEWS */
  673 extern constext txt_error_no_read_permission[];
  674 extern constext txt_error_no_such_file[];
  675 extern constext txt_error_no_write_permission[];
  676 extern constext txt_error_newsgroups_poster[];
  677 extern constext txt_error_passwd_missing[];
  678 extern constext txt_error_plural[];
  679 extern constext txt_error_server_has_no_listed_groups[];
  680 extern constext txt_error_singular[];
  681 #if defined(NNTP_ABLE) && defined(INET6)
  682     extern constext txt_error_socket_or_connect_problem[];
  683 #endif /* NNTP_ABLE && INET6 */
  684 #if defined(NNTP_ABLE) && defined(TLI) && !defined(INET6)
  685     extern constext txt_error_server_unavailable[];
  686     extern constext txt_error_topen[];
  687 #endif /* NNTP_ABLE && TLI && !INET6 */
  688 extern constext txt_error_unknown_dlevel[];
  689 #if defined(NNTP_ABLE) && defined(HAVE_GETSERVBYNAME) && !defined(INET6)
  690     extern constext txt_error_unknown_service[];
  691 #endif /* NNTP_ABLE && HAVE_GETSERVBYNAME && !INET6 */
  692 extern constext txt_esc[];
  693 extern constext txt_exiting[];
  694 extern constext txt_external_mail_done[];
  695 extern constext txt_extracting_shar[];
  696 #ifdef NNTP_ABLE
  697     extern constext txt_failed_to_connect_to_server[];
  698 #endif /* NNTP_ABLE */
  699 extern constext txt_feed_pattern[];
  700 extern constext txt_filesystem_full[];
  701 extern constext txt_filesystem_full_backup[];
  702 extern constext txt_filter_comment[];
  703 extern constext txt_filter_file[];
  704 extern constext txt_filter_global_rules[];
  705 extern constext txt_filter_rule_created[];
  706 extern constext txt_filter_score[];
  707 extern constext txt_filter_score_help[];
  708 extern constext txt_filter_text_type[];
  709 extern constext txt_followup_newsgroups[];
  710 extern constext txt_followup_poster[];
  711 extern constext txt_forwarded[];
  712 extern constext txt_forwarded_end[];
  713 extern constext txt_from_line_only[];
  714 extern constext txt_from_line_only_case[];
  715 extern constext txt_full[];
  716 #ifdef NNTP_ABLE
  717     extern constext txt_gethostbyname[];
  718 #endif /* NNTP_ABLE */
  719 #if defined(NNTP_ABLE) && !defined(INET6)
  720     extern constext txt_giving_up[];
  721 #endif /* NNTP_ABLE && !INET6 */
  722 extern constext txt_global[];
  723 extern constext txt_group[];
  724 extern constext txt_group_aliased[];
  725 extern constext txt_group_bogus[];
  726 extern constext txt_group_is_moderated[];
  727 extern constext txt_group_plural[];
  728 extern constext txt_group_rereading[];
  729 extern constext txt_group_select_com[];
  730 extern constext txt_group_selection[];
  731 extern constext txt_group_singular[];
  732 extern constext txt_grpdesc_disabled[];
  733 extern constext txt_help_article_autokill[];
  734 extern constext txt_help_article_autoselect[];
  735 extern constext txt_help_article_browse_urls[];
  736 extern constext txt_help_article_by_num[];
  737 #ifndef NO_POSTING
  738     extern constext txt_help_article_cancel[];
  739     extern constext txt_help_article_followup[];
  740     extern constext txt_help_article_followup_no_quote[];
  741     extern constext txt_help_article_followup_with_header[];
  742     extern constext txt_help_article_repost[];
  743 #endif /* !NO_POSTING */
  744 extern constext txt_help_article_edit[];
  745 extern constext txt_help_article_first_in_thread[];
  746 extern constext txt_help_article_first_page[];
  747 extern constext txt_help_article_last_in_thread[];
  748 extern constext txt_help_article_last_page[];
  749 extern constext txt_help_article_mark_thread_read[];
  750 extern constext txt_help_article_next[];
  751 extern constext txt_help_article_next_thread[];
  752 extern constext txt_help_article_next_unread[];
  753 extern constext txt_help_article_parent[];
  754 #ifdef HAVE_PGP_GPG
  755     extern constext txt_help_article_pgp[];
  756 #endif /* HAVE_PGP_GPG */
  757 extern constext txt_help_article_prev[];
  758 extern constext txt_help_article_prev_unread[];
  759 extern constext txt_help_article_quick_kill[];
  760 extern constext txt_help_article_quick_select[];
  761 extern constext txt_help_article_quit_to_select_level[];
  762 extern constext txt_help_article_reply[];
  763 extern constext txt_help_article_reply_no_quote[];
  764 extern constext txt_help_article_reply_with_header[];
  765 extern constext txt_help_article_search_backwards[];
  766 extern constext txt_help_article_search_forwards[];
  767 extern constext txt_help_article_show_raw[];
  768 extern constext txt_help_article_skip_quote[];
  769 extern constext txt_help_article_toggle_formfeed[];
  770 extern constext txt_help_article_toggle_headers[];
  771 extern constext txt_help_article_toggle_highlight[];
  772 extern constext txt_help_article_toggle_rot13[];
  773 extern constext txt_help_article_toggle_tabwidth[];
  774 extern constext txt_help_article_toggle_tex2iso[];
  775 extern constext txt_help_article_toggle_uue[];
  776 extern constext txt_help_article_view_attachments[];
  777 extern constext txt_help_attachment_first[];
  778 extern constext txt_help_attachment_goto[];
  779 extern constext txt_help_attachment_last[];
  780 #ifndef DONT_HAVE_PIPING
  781     extern constext txt_help_attachment_pipe[];
  782     extern constext txt_help_attachment_pipe_raw[];
  783 #endif /* !DONT_HAVE_PIPING */
  784 extern constext txt_help_attachment_save[];
  785 extern constext txt_help_attachment_search_forwards[];
  786 extern constext txt_help_attachment_search_backwards[];
  787 extern constext txt_help_attachment_select[];
  788 extern constext txt_help_attachment_tag[];
  789 extern constext txt_help_attachment_tag_pattern[];
  790 extern constext txt_help_attachment_toggle_tagged[];
  791 extern constext txt_help_attachment_untag[];
  792 extern constext txt_help_attachment_toggle_info_line[];
  793 extern constext txt_help_attrib_first_opt[];
  794 extern constext txt_help_attrib_goto_opt[];
  795 extern constext txt_help_attrib_last_opt[];
  796 extern constext txt_help_attrib_reset_attrib[];
  797 extern constext txt_help_attrib_search_opt_backwards[];
  798 extern constext txt_help_attrib_search_opt_forwards[];
  799 extern constext txt_help_attrib_select[];
  800 extern constext txt_help_attrib_toggle_attrib[];
  801 extern constext txt_help_bug[];
  802 extern constext txt_help_config_first_opt[];
  803 extern constext txt_help_config_goto_opt[];
  804 extern constext txt_help_config_last_opt[];
  805 extern constext txt_help_config_scope_menu[];
  806 extern constext txt_help_config_search_opt_backwards[];
  807 extern constext txt_help_config_search_opt_forwards[];
  808 extern constext txt_help_config_select[];
  809 extern constext txt_help_config_toggle_attrib[];
  810 extern constext txt_help_filter_comment[];
  811 extern constext txt_help_filter_from[];
  812 extern constext txt_help_filter_lines[];
  813 extern constext txt_help_filter_msgid[];
  814 extern constext txt_help_filter_subj[];
  815 extern constext txt_help_filter_text[];
  816 extern constext txt_help_filter_text_type[];
  817 extern constext txt_help_filter_time[];
  818 extern constext txt_help_global_article_range[];
  819 extern constext txt_help_global_edit_filter[];
  820 extern constext txt_help_global_esc[];
  821 extern constext txt_help_global_help[];
  822 extern constext txt_help_global_last_art[];
  823 extern constext txt_help_global_line_down[];
  824 extern constext txt_help_global_line_up[];
  825 extern constext txt_help_global_lookup_art[];
  826 extern constext txt_help_global_mail[];
  827 extern constext txt_help_global_option_menu[];
  828 extern constext txt_help_global_page_down[];
  829 extern constext txt_help_global_page_up[];
  830 #ifndef DONT_HAVE_PIPING
  831     extern constext txt_help_global_pipe[];
  832 #endif /* !DONT_HAVE_PIPING */
  833 #ifndef NO_POSTING
  834     extern constext txt_help_global_post[];
  835     extern constext txt_help_global_post_postponed[];
  836 #endif /* !NO_POSTING */
  837 extern constext txt_help_global_posting_history[];
  838 extern constext txt_help_global_previous_menu[];
  839 #ifndef DISABLE_PRINTING
  840     extern constext txt_help_global_print[];
  841 #endif /* !DISABLE_PRINTING */
  842 extern constext txt_help_global_quit_tin[];
  843 extern constext txt_help_global_redraw_screen[];
  844 extern constext txt_help_global_save[];
  845 extern constext txt_help_global_auto_save[];
  846 extern constext txt_help_global_scroll_down[];
  847 extern constext txt_help_global_scroll_up[];
  848 extern constext txt_help_global_search_auth_backwards[];
  849 extern constext txt_help_global_search_auth_forwards[];
  850 extern constext txt_help_global_search_body[];
  851 extern constext txt_help_global_search_body_comment[];
  852 extern constext txt_help_global_search_repeat[];
  853 extern constext txt_help_global_search_subj_backwards[];
  854 extern constext txt_help_global_search_subj_forwards[];
  855 #ifndef NO_SHELL_ESCAPE
  856     extern constext txt_help_global_shell_escape[];
  857 #endif /* !NO_SHELL_ESCAPE */
  858 extern constext txt_help_global_tag[];
  859 #ifdef HAVE_COLOR
  860     extern constext txt_help_global_toggle_color[];
  861 #endif /* HAVE_COLOR */
  862 extern constext txt_help_global_toggle_info_line[];
  863 extern constext txt_help_global_toggle_inverse_video[];
  864 extern constext txt_help_global_toggle_mini_help[];
  865 extern constext txt_help_global_toggle_subj_display[];
  866 extern constext txt_help_global_version[];
  867 extern constext txt_help_group_catchup[];
  868 extern constext txt_help_group_catchup_next[];
  869 extern constext txt_help_group_first_thread[];
  870 extern constext txt_help_group_last_thread[];
  871 extern constext txt_help_group_list_thread[];
  872 extern constext txt_help_group_mark_article_unread[];
  873 extern constext txt_help_group_mark_thread_read[];
  874 extern constext txt_help_group_mark_thread_unread[];
  875 extern constext txt_help_mark_feed_read[];
  876 extern constext txt_help_mark_feed_unread[];
  877 extern constext txt_help_group_mark_unsel_art_read[];
  878 extern constext txt_help_group_next[];
  879 extern constext txt_help_group_prev[];
  880 extern constext txt_help_group_reverse_thread_selection[];
  881 extern constext txt_help_group_select_all[];
  882 extern constext txt_help_group_select_thread[];
  883 extern constext txt_help_group_select_thread_if_unread_selected[];
  884 extern constext txt_help_group_select_thread_pattern[];
  885 extern constext txt_help_group_tag_parts[];
  886 extern constext txt_help_group_thread_by_num[];
  887 extern constext txt_help_group_toggle_getart_limit[];
  888 extern constext txt_help_group_toggle_read_articles[];
  889 extern constext txt_help_group_toggle_thread_selection[];
  890 extern constext txt_help_group_toggle_threading[];
  891 extern constext txt_help_group_undo_thread_selection[];
  892 extern constext txt_help_group_untag_thread[];
  893 extern constext txt_help_kill_scope[];
  894 extern constext txt_help_scope_add[];
  895 extern constext txt_help_scope_del[];
  896 extern constext txt_help_scope_edit_attrib_file[];
  897 extern constext txt_help_scope_first_scope[];
  898 extern constext txt_help_scope_goto_scope[];
  899 extern constext txt_help_scope_last_scope[];
  900 extern constext txt_help_scope_move[];
  901 extern constext txt_help_scope_rename[];
  902 extern constext txt_help_scope_select[];
  903 extern constext txt_help_select_catchup[];
  904 extern constext txt_help_select_catchup_next_unread[];
  905 extern constext txt_help_select_first_group[];
  906 extern constext txt_help_select_goto_group[];
  907 extern constext txt_help_select_group_by_num[];
  908 extern constext txt_help_select_group_range[];
  909 extern constext txt_help_select_last_group[];
  910 #ifdef NNTP_ABLE
  911     extern constext txt_help_select_lookup_group[];
  912     extern constext txt_help_select_lookup_group_comment[];
  913 #endif /* NNTP_ABLE */
  914 extern constext txt_help_select_mark_group_unread[];
  915 extern constext txt_help_select_move_group[];
  916 extern constext txt_help_select_next_unread_group[];
  917 extern constext txt_help_select_quit[];
  918 extern constext txt_help_select_quit_no_write[];
  919 extern constext txt_help_select_read_group[];
  920 extern constext txt_help_select_reset_newsrc[];
  921 extern constext txt_help_select_scope[];
  922 extern constext txt_help_select_search_group_backwards[];
  923 extern constext txt_help_select_search_group_comment[];
  924 extern constext txt_help_select_search_group_forwards[];
  925 extern constext txt_help_select_subscribe[];
  926 extern constext txt_help_select_subscribe_pattern[];
  927 extern constext txt_help_select_sync_with_active[];
  928 extern constext txt_help_select_toggle_descriptions[];
  929 extern constext txt_help_select_toggle_read_groups[];
  930 extern constext txt_help_select_unsubscribe[];
  931 extern constext txt_help_select_unsubscribe_pattern[];
  932 extern constext txt_help_select_sort_active[];
  933 extern constext txt_help_select_yank_active[];
  934 extern constext txt_help_thread_article_by_num[];
  935 extern constext txt_help_thread_catchup[];
  936 extern constext txt_help_thread_catchup_next_unread[];
  937 extern constext txt_help_thread_first_article[];
  938 extern constext txt_help_thread_last_article[];
  939 extern constext txt_help_thread_mark_article_read[];
  940 extern constext txt_help_thread_mark_article_unread[];
  941 extern constext txt_help_thread_mark_thread_unread[];
  942 extern constext txt_help_thread_read_article[];
  943 extern constext txt_help_thread_tag_parts[];
  944 extern constext txt_help_title_disp[];
  945 extern constext txt_help_title_misc[];
  946 extern constext txt_help_title_navi[];
  947 extern constext txt_help_title_ops[];
  948 extern constext txt_help_title_attachment_ops[];
  949 extern constext txt_help_title_attrib_ops[];
  950 extern constext txt_help_title_config_ops[];
  951 extern constext txt_help_title_scope_ops[];
  952 extern constext txt_help_title_url_ops[];
  953 extern constext txt_help_url_first_url[];
  954 extern constext txt_help_url_goto_url[];
  955 extern constext txt_help_url_last_url[];
  956 extern constext txt_help_url_search_forwards[];
  957 extern constext txt_help_url_search_backwards[];
  958 extern constext txt_help_url_select[];
  959 extern constext txt_help_url_toggle_info_line[];
  960 extern constext txt_incomplete[];
  961 extern constext txt_index_page_com[];
  962 extern constext txt_info_add_kill[];
  963 extern constext txt_info_add_select[];
  964 extern constext txt_info_all_parts_tagged[];
  965 extern constext txt_info_all_parts_untagged[];
  966 extern constext txt_info_do_postpone[];
  967 extern constext txt_info_enter_valid_character[];
  968 extern constext txt_info_missing_part[];
  969 extern constext txt_info_nopostponed[];
  970 extern constext txt_info_not_multipart_message[];
  971 extern constext txt_info_not_subscribed[];
  972 extern constext txt_info_no_write[];
  973 extern constext txt_info_no_previous_expression[];
  974 extern constext txt_info_postponed[];
  975 extern constext txt_info_x_conversion_note[];
  976 extern constext txt_invalid_from[];
  977 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
  978     extern constext txt_invalid_multibyte_sequence[];
  979 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
  980 extern constext txt_inverse_off[];
  981 extern constext txt_inverse_on[];
  982 extern constext txt_is_mailbox[];
  983 extern constext txt_is_tex_encoded[];
  984 extern constext txt_keymap_missing_key[];
  985 extern constext txt_keymap_invalid_key[];
  986 extern constext txt_keymap_invalid_name[];
  987 extern constext txt_keymap_upgraded[];
  988 extern constext txt_kill_from[];
  989 extern constext txt_kill_lines[];
  990 extern constext txt_kill_menu[];
  991 extern constext txt_kill_msgid[];
  992 extern constext txt_kill_scope[];
  993 extern constext txt_kill_subj[];
  994 extern constext txt_kill_text[];
  995 extern constext txt_kill_time[];
  996 extern constext txt_last[];
  997 extern constext txt_last_resp[];
  998 extern constext txt_lines[];
  999 #ifdef NNTP_ABLE
 1000     extern constext txt_lookup_func_not_available[];
 1001     extern constext txt_lookup_func_not_nntp[];
 1002     extern constext txt_lookup_show_group[];
 1003     extern constext txt_lookup_show_groups[];
 1004 #endif /* NNTP_ABLE */
 1005 extern constext txt_mail[];
 1006 extern constext txt_mailbox[];
 1007 extern constext txt_mail_art_to[];
 1008 extern constext txt_mail_log_to[];
 1009 extern constext txt_mail_bug_report[];
 1010 extern constext txt_mail_bug_report_confirm[];
 1011 extern constext txt_mailed[];
 1012 extern constext txt_mailing_to[];
 1013 extern constext txt_mail_save_active_head[];
 1014 extern constext txt_mark[];
 1015 extern constext txt_mark_arts_read[];
 1016 extern constext txt_mark_art_read[];
 1017 extern constext txt_mark_group_read[];
 1018 extern constext txt_mark_thread_read[];
 1019 extern constext txt_marked_as_read[];
 1020 extern constext txt_marked_as_unread[];
 1021 extern constext txt_marked_arts_as_read[];
 1022 extern constext txt_marked_arts_as_unread[];
 1023 extern constext txt_matching_cmd_line_groups[];
 1024 extern constext txt_mini_attachment_1[];
 1025 extern constext txt_mini_attachment_2[];
 1026 extern constext txt_mini_attachment_3[];
 1027 extern constext txt_mini_group_1[];
 1028 extern constext txt_mini_group_2[];
 1029 extern constext txt_mini_group_3[];
 1030 extern constext txt_mini_info_1[];
 1031 extern constext txt_mini_info_2[];
 1032 extern constext txt_mini_page_1[];
 1033 extern constext txt_mini_page_2[];
 1034 extern constext txt_mini_page_3[];
 1035 extern constext txt_mini_scope_1[];
 1036 extern constext txt_mini_scope_2[];
 1037 extern constext txt_mini_select_1[];
 1038 extern constext txt_mini_select_2[];
 1039 extern constext txt_mini_select_3[];
 1040 extern constext txt_mini_thread_1[];
 1041 extern constext txt_mini_thread_2[];
 1042 extern constext txt_mini_url_1[];
 1043 extern constext txt_mini_url_2[];
 1044 extern constext txt_more[];
 1045 extern constext txt_moving[];
 1046 extern constext txt_msgid_line_last[];
 1047 extern constext txt_msgid_line_only[];
 1048 extern constext txt_msgid_refs_line[];
 1049 extern constext txt_name[];
 1050 extern constext txt_newsgroup[];
 1051 extern constext txt_newsgroup_plural[];
 1052 extern constext txt_newsgroup_position[];
 1053 extern constext txt_newsgroup_singular[];
 1054 extern constext txt_newsrc_again[];
 1055 extern constext txt_newsrc_nogroups[];
 1056 extern constext txt_newsrc_saved[];
 1057 extern constext txt_next_resp[];
 1058 extern constext txt_no[];
 1059 extern constext txt_no_arts[];
 1060 extern constext txt_no_arts_posted[];
 1061 extern constext txt_no_attachments[];
 1062 extern constext txt_no_description[];
 1063 extern constext txt_no_filename[];
 1064 extern constext txt_no_group[];
 1065 extern constext txt_no_groups[];
 1066 extern constext txt_no_groups_to_read[];
 1067 extern constext txt_no_last_message[];
 1068 extern constext txt_no_mail_address[];
 1069 extern constext txt_no_marked_arts[];
 1070 extern constext txt_no_match[];
 1071 extern constext txt_no_more_groups[];
 1072 extern constext txt_no_newsgroups[];
 1073 extern constext txt_no_next_unread_art[];
 1074 extern constext txt_no_prev_group[];
 1075 extern constext txt_no_prev_search[];
 1076 extern constext txt_no_prev_unread_art[];
 1077 extern constext txt_no_responses[];
 1078 extern constext txt_no_resps_in_thread[];
 1079 extern constext txt_no_scopes[];
 1080 extern constext txt_no_search_string[];
 1081 extern constext txt_no_subject[];
 1082 #ifndef USE_CURSES
 1083     extern constext txt_no_term_clear_eol[];
 1084     extern constext txt_no_term_clear_eos[];
 1085     extern constext txt_no_term_clearscreen[];
 1086     extern constext txt_no_term_cursor_motion[];
 1087     extern constext txt_no_term_set[];
 1088 #endif /* !USE_CURSES */
 1089 extern constext txt_no_viewer_found[];
 1090 #ifdef NNTP_ABLE
 1091     extern constext txt_no_xover_support[];
 1092 #endif /* NNTP_ABLE */
 1093 extern constext txt_not_exist[];
 1094 extern constext txt_not_in_active_file[];
 1095 extern constext txt_nrctbl_create[];
 1096 extern constext txt_nrctbl_default[];
 1097 extern constext txt_nrctbl_info[];
 1098 extern constext txt_only[];
 1099 extern constext txt_option_not_enabled[];
 1100 extern constext txt_options_menu[];
 1101 extern constext txt_options_menu_com[];
 1102 extern constext txt_out_of_memory[];
 1103 extern constext txt_pcre_error_at[];
 1104 extern constext txt_pcre_error_num[];
 1105 extern constext txt_pcre_error_text[];
 1106 extern constext txt_post_a_followup[];
 1107 extern constext txt_post_error_ask_postpone[];
 1108 extern constext txt_post_history_menu[];
 1109 extern constext txt_post_newsgroups[];
 1110 extern constext txt_post_processing[];
 1111 extern constext txt_post_processing_finished[];
 1112 extern constext txt_post_subject[];
 1113 #ifdef NNTP_INEWS
 1114     extern constext txt_post_via_builtin_inews[];
 1115     extern constext txt_post_via_builtin_inews_only[];
 1116 #endif /* NNTP_INEWS */
 1117 extern constext txt_posted_info_file[];
 1118 extern constext txt_posting[];
 1119 extern constext txt_postpone_repost[];
 1120 extern constext txt_prefix_hot[];
 1121 extern constext txt_prefix_tagged[];
 1122 extern constext txt_prefix_untagged[];
 1123 #ifdef NNTP_ABLE
 1124     extern constext txt_prep_for_filter_on_path[];
 1125 #endif /* NNTP_ABLE */
 1126 extern constext txt_prompt_fup_ignore[];
 1127 extern constext txt_prompt_unchanged_mail[];
 1128 extern constext txt_prompt_see_postponed[];
 1129 extern constext txt_quick_filter_kill[];
 1130 extern constext txt_quick_filter_select[];
 1131 extern constext txt_quit[];
 1132 extern constext txt_quit_cancel[];
 1133 extern constext txt_quit_despite_tags[];
 1134 extern constext txt_quit_edit_post[];
 1135 extern constext txt_quit_edit_postpone[];
 1136 extern constext txt_quit_edit_save_kill[];
 1137 extern constext txt_quit_edit_save_select[];
 1138 extern constext txt_quit_edit_send[];
 1139 extern constext txt_quit_edit_xpost[];
 1140 extern constext txt_quit_no_write[];
 1141 extern constext txt_quoted_printable[];
 1142 extern constext txt_range_invalid[];
 1143 extern constext txt_read_abort[];
 1144 extern constext txt_read_exit[];
 1145 extern constext txt_reading_article[];
 1146 extern constext txt_reading_arts[];
 1147 extern constext txt_reading_attributes_file[];
 1148 extern constext txt_reading_config_file[];
 1149 extern constext txt_reading_filter_file[];
 1150 extern constext txt_reading_groups[];
 1151 extern constext txt_reading_input_history_file[];
 1152 extern constext txt_reading_keymap_file[];
 1153 extern constext txt_reading_news_active_file[];
 1154 extern constext txt_reading_news_newsrc_file[];
 1155 extern constext txt_reading_newsgroups_file[];
 1156 extern constext txt_reading_newsrc[];
 1157 #ifdef NNTP_ABLE
 1158     extern constext txt_reconnect_to_news_server[];
 1159 #endif /* NNTP_ABLE */
 1160 extern constext txt_refs_line_only[];
 1161 #ifdef HAVE_GETTIMEOFDAY
 1162     extern constext txt_remaining[];
 1163 #endif /* HAVE_GETTIMEOFDAY */
 1164 extern constext txt_remove_bogus[];
 1165 extern constext txt_removed_rule[];
 1166 extern constext txt_rename_error[];
 1167 extern constext txt_reply_to_author[];
 1168 extern constext txt_repost[];
 1169 extern constext txt_repost_an_article[];
 1170 extern constext txt_repost_group[];
 1171 extern constext txt_reset_newsrc[];
 1172 extern constext txt_resp_redirect[];
 1173 extern constext txt_resp_to_poster[];
 1174 extern constext txt_return_key[];
 1175 extern constext txt_save[];
 1176 extern constext txt_save_attachment[];
 1177 extern constext txt_save_config[];
 1178 extern constext txt_save_filename[];
 1179 extern constext txt_saved[];
 1180 extern constext txt_saved_group[];
 1181 extern constext txt_saved_groupname[];
 1182 extern constext txt_saved_nothing[];
 1183 extern constext txt_saved_summary[];
 1184 extern constext txt_saved_to[];
 1185 extern constext txt_saved_to_range[];
 1186 extern constext txt_saving[];
 1187 extern constext txt_screen_init_failed[];
 1188 #ifndef USE_CURSES
 1189     extern constext txt_screen_too_small[];
 1190 #endif /* !USE_CURSES */
 1191 extern constext txt_screen_too_small_exiting[];
 1192 extern constext txt_scope_delete[];
 1193 extern constext txt_scope_enter[];
 1194 extern constext txt_scope_new_position[];
 1195 extern constext txt_scope_new_position_is_global[];
 1196 extern constext txt_scope_operation_not_allowed[];
 1197 extern constext txt_scope_rename[];
 1198 extern constext txt_scope_select[];
 1199 extern constext txt_scopes_menu[];
 1200 extern constext txt_scopes_menu_com[];
 1201 extern constext txt_search_backwards[];
 1202 extern constext txt_search_body[];
 1203 extern constext txt_search_forwards[];
 1204 extern constext txt_searching[];
 1205 extern constext txt_searching_body[];
 1206 extern constext txt_select_art[];
 1207 extern constext txt_select_config_file_option[];
 1208 extern constext txt_select_from[];
 1209 extern constext txt_select_group[];
 1210 extern constext txt_select_lines[];
 1211 extern constext txt_select_menu[];
 1212 extern constext txt_select_msgid[];
 1213 extern constext txt_select_pattern[];
 1214 extern constext txt_select_scope[];
 1215 extern constext txt_select_subj[];
 1216 extern constext txt_select_text[];
 1217 extern constext txt_select_thread[];
 1218 extern constext txt_select_time[];
 1219 extern constext txt_send_bugreport[];
 1220 #ifdef NNTP_ABLE
 1221     extern constext txt_server_name_in_file_env_var[];
 1222 #endif /* NNTP_ABLE */
 1223 extern constext txt_serverconfig_header[];
 1224 extern constext txt_servers_active[];
 1225 extern constext txt_skipping_newgroups[];
 1226 extern constext txt_space[];
 1227 extern constext txt_starting_command[];
 1228 extern constext txt_stp_list_thread[];
 1229 extern constext txt_stp_thread[];
 1230 extern constext txt_subj_line_only[];
 1231 extern constext txt_subj_line_only_case[];
 1232 extern constext txt_subscribe_pattern[];
 1233 extern constext txt_subscribed_num_groups[];
 1234 extern constext txt_subscribed_to[];
 1235 extern constext txt_subscribing[];
 1236 extern constext txt_supersede_article[];
 1237 extern constext txt_supersede_group[];
 1238 extern constext txt_superseding_art[];
 1239 extern constext txt_suspended_message[];
 1240 extern constext txt_tab[];
 1241 extern constext txt_tex[];
 1242 extern constext txt_there_is_no_news[];
 1243 extern constext txt_thread_upper[];
 1244 extern constext txt_thread_com[];
 1245 extern constext txt_thread_marked_as_deselected[];
 1246 extern constext txt_thread_marked_as_selected[];
 1247 #if 0 /* unused */
 1248     extern constext txt_thread_plural[];
 1249 #endif /* 0 */
 1250 extern constext txt_thread_singular[];
 1251 extern constext txt_thread_x_of_n[];
 1252 extern constext txt_threading_arts[];
 1253 extern constext txt_time_default_days[];
 1254 extern constext txt_tinrc_defaults[];
 1255 extern constext txt_tinrc_filter[];
 1256 extern constext txt_tinrc_header[];
 1257 extern constext txt_tinrc_info_in_last_line[];
 1258 extern constext txt_tinrc_newnews[];
 1259 extern constext txt_toggled_high[];
 1260 extern constext txt_toggled_rot13[];
 1261 extern constext txt_toggled_tex2iso[];
 1262 extern constext txt_toggled_tabwidth[];
 1263 #if defined(NNTP_ABLE) && defined(HAVE_INET_NTOA) && !defined(INET6)
 1264     extern constext txt_trying[];
 1265 #endif /* NNTP_ABLE && HAVE_INET_NTOA && !INET6 */
 1266 #ifndef NO_LOCKING
 1267     extern constext txt_trying_dotlock[];
 1268     extern constext txt_trying_lock[];
 1269 #endif /* NO_LOCKING */
 1270 extern constext txt_type_h_for_help[];
 1271 extern constext txt_unlimited_time[];
 1272 extern constext txt_unread[];
 1273 extern constext txt_unsubscribe_pattern[];
 1274 extern constext txt_unsubscribed_num_groups[];
 1275 extern constext txt_unsubscribed_to[];
 1276 extern constext txt_unsubscribing[];
 1277 extern constext txt_unthreading_arts[];
 1278 extern constext txt_updated[];
 1279 extern constext txt_updating[];
 1280 extern constext txt_url_menu[];
 1281 extern constext txt_url_menu_com[];
 1282 extern constext txt_url_open[];
 1283 extern constext txt_url_select[];
 1284 extern constext txt_url_done[];
 1285 extern constext txt_usage_catchup[];
 1286 extern constext txt_usage_check_for_unread_news[];
 1287 #ifdef DEBUG
 1288     extern constext txt_usage_debug[];
 1289 #endif /* DEBUG */
 1290 extern constext txt_usage_dont_check_new_newsgroups[];
 1291 extern constext txt_usage_dont_save_files_on_quit[];
 1292 extern constext txt_usage_dont_show_descriptions[];
 1293 #ifdef NNTP_ABLE
 1294     extern constext txt_usage_force_authentication[];
 1295 #ifdef INET6
 1296     extern constext txt_usage_force_ipv4[];
 1297     extern constext txt_usage_force_ipv6[];
 1298 #endif /* INET6 */
 1299     extern constext txt_usage_newsserver[];
 1300     extern constext txt_usage_port[];
 1301     extern constext txt_usage_read_news_remotely[];
 1302 #endif /* NNTP_ABLE */
 1303 extern constext txt_usage_getart_limit[];
 1304 extern constext txt_usage_help_information[];
 1305 extern constext txt_usage_help_message[];
 1306 extern constext txt_usage_index_newsdir[];
 1307 extern constext txt_usage_update_index_files[];
 1308 extern constext txt_usage_maildir[];
 1309 extern constext txt_usage_mail_bugreport[];
 1310 extern constext txt_usage_mail_new_news[];
 1311 extern constext txt_usage_mail_new_news_to_user[];
 1312 extern constext txt_usage_newsrc_file[];
 1313 extern constext txt_usage_no_posting[];
 1314 extern constext txt_usage_post_article[];
 1315 extern constext txt_usage_post_postponed_arts[];
 1316 extern constext txt_usage_read_saved_news[];
 1317 extern constext txt_usage_savedir[];
 1318 extern constext txt_usage_save_new_news[];
 1319 extern constext txt_usage_start_if_unread_news[];
 1320 extern constext txt_usage_tin[];
 1321 #ifdef HAVE_COLOR
 1322     extern constext txt_usage_toggle_color[];
 1323 #endif /* HAVE_COLOR */
 1324 extern constext txt_usage_quickstart[];
 1325 extern constext txt_usage_read_only_subscribed[];
 1326 extern constext txt_usage_read_only_active[];
 1327 extern constext txt_usage_verbose[];
 1328 extern constext txt_usage_version[];
 1329 extern constext txt_useful_without_batch_mode[];
 1330 extern constext txt_useful_with_batch_mode[];
 1331 extern constext txt_useful_with_batch_or_debug_mode[];
 1332 extern constext txt_useless_combination[];
 1333 extern constext txt_use_mime[];
 1334 extern constext txt_value_out_of_range[];
 1335 extern constext txt_view_attachment[];
 1336 extern constext txt_warn_art_line_too_long[];
 1337 extern constext txt_warn_article_unchanged[];
 1338 extern constext txt_warn_blank_subject[];
 1339 extern constext txt_warn_cancel[];
 1340 #ifdef CHARSET_CONVERSION
 1341     extern constext txt_warn_charset_conversion[];
 1342 #endif /* CHARSET_CONVERSION */
 1343 extern constext txt_warn_downgrade[];
 1344 extern constext txt_warn_encoding_and_external_inews[];
 1345 #ifdef ALLOW_FWS_IN_NEWSGROUPLIST
 1346     extern constext txt_warn_header_line_comma[];
 1347     extern constext txt_warn_header_line_groups_contd[];
 1348 #endif /* ALLOW_FWS_IN_NEWSGROUPLIST */
 1349 extern constext txt_warn_example_hierarchy[];
 1350 extern constext txt_warn_multiple_sigs[];
 1351 extern constext txt_warn_newsrc[];
 1352 extern constext txt_warn_not_all_arts_saved[];
 1353 extern constext txt_warn_re_but_no_references[];
 1354 extern constext txt_warn_references_but_no_re[];
 1355 extern constext txt_warn_sig_too_long[];
 1356 extern constext txt_warn_suspicious_mail[];
 1357 extern constext txt_warn_update[];
 1358 extern constext txt_warn_unrecognized_version[];
 1359 extern constext txt_warn_wrong_sig_format[];
 1360 extern constext txt_warn_xref_not_supported[];
 1361 extern constext txt_writing_attributes_file[];
 1362 extern constext txt_x_resp[];
 1363 extern constext txt_yanked_groups[];
 1364 extern constext txt_yanked_none[];
 1365 extern constext txt_yanked_sub_groups[];
 1366 extern constext txt_show_unread[];
 1367 extern constext txt_yes[];
 1368 extern constext txt_you_have_mail[];
 1369 
 1370 #ifndef DISABLE_PRINTING
 1371     extern constext txt_print[];
 1372     extern constext txt_printing[];
 1373 #endif /* !DISABLE_PRINTING */
 1374 
 1375 #ifndef DONT_HAVE_PIPING
 1376     extern constext txt_no_command[];
 1377 #endif /* !DONT_HAVE_PIPING */
 1378 
 1379 #ifndef HAVE_FASCIST_NEWSADMIN
 1380     extern constext txt_warn_followup_to_several_groups[];
 1381     extern constext txt_warn_grp_renamed[];
 1382     extern constext txt_warn_missing_followup_to[];
 1383     extern constext txt_warn_not_in_newsrc[];
 1384     extern constext txt_warn_not_valid_newsgroup[];
 1385 #endif /* !HAVE_FASCIST_NEWSADMIN */
 1386 
 1387 #ifdef HAVE_LIBUU
 1388     extern constext txt_libuu_saved[];
 1389     extern constext txt_libuu_error_missing[];
 1390     extern constext txt_libuu_error_no_begin[];
 1391     extern constext txt_libuu_error_no_data[];
 1392     extern constext txt_libuu_error_unknown[];
 1393 #endif /* HAVE_LIBUU */
 1394 extern constext txt_uu_error_decode[];
 1395 extern constext txt_uu_error_no_end[];
 1396 extern constext txt_uu_success[];
 1397 
 1398 #if defined(NNTP_ABLE) && !defined(NNTP_ONLY)
 1399     extern constext txt_cannot_open_active_file[];
 1400 #endif /* NNTP_ABLE && !NNTP_ONLY */
 1401 
 1402 #ifndef NO_SHELL_ESCAPE
 1403     extern constext txt_shell_command[];
 1404     extern constext txt_shell_escape[];
 1405 #endif /* !NO_SHELL_ESCAPE */
 1406 
 1407 extern int *my_group;
 1408 extern int NOTESLINES;
 1409 extern int _hp_glitch;
 1410 extern int attrib_file_offset;
 1411 extern int cCOLS;
 1412 extern int cLINES;
 1413 extern int curr_line;
 1414 extern int filter_file_offset;
 1415 extern int input_context;
 1416 extern int iso2asc_supported;
 1417 extern int last_resp;
 1418 extern int mark_offset;
 1419 extern int max_active;
 1420 extern int max_art;
 1421 extern int max_base;
 1422 extern int max_newnews;
 1423 extern int max_save;
 1424 extern int max_scope;
 1425 extern int need_resize;
 1426 extern int num_active;
 1427 extern int num_newnews;
 1428 extern int num_of_tagged_arts;
 1429 extern int num_save;
 1430 extern int num_scope;
 1431 extern int signal_context;
 1432 extern int srch_lineno;
 1433 extern int system_status;
 1434 extern int this_resp;
 1435 extern int thread_basenote;
 1436 extern int tin_errno;
 1437 extern int top_art;
 1438 extern int xcol;
 1439 extern int xmouse;
 1440 extern int xrow;
 1441 
 1442 extern unsigned short debug;
 1443 
 1444 extern t_artnum *base;
 1445 
 1446 extern signed long int read_newsrc_lines;
 1447 
 1448 extern size_t tabwidth;
 1449 
 1450 extern pid_t process_id;
 1451 
 1452 #ifdef USE_HEAPSORT
 1453     extern int tin_sort(void *, size_t, size_t, t_compfunc);
 1454     extern constext *txt_sort_functions[];
 1455     extern struct opttxt txt_sort_function;
 1456 #endif /* USE_HEAPSORT */
 1457 
 1458 extern struct regex_cache strip_re_regex;
 1459 extern struct regex_cache strip_was_regex;
 1460 extern struct regex_cache uubegin_regex;
 1461 extern struct regex_cache uubody_regex;
 1462 extern struct regex_cache verbatim_begin_regex;
 1463 extern struct regex_cache verbatim_end_regex;
 1464 extern struct regex_cache url_regex;
 1465 extern struct regex_cache mail_regex;
 1466 extern struct regex_cache news_regex;
 1467 extern struct regex_cache shar_regex;
 1468 extern struct regex_cache slashes_regex;
 1469 extern struct regex_cache stars_regex;
 1470 extern struct regex_cache underscores_regex;
 1471 extern struct regex_cache strokes_regex;
 1472 #ifdef HAVE_COLOR
 1473     extern struct regex_cache extquote_regex;
 1474     extern struct regex_cache quote_regex;
 1475     extern struct regex_cache quote_regex2;
 1476     extern struct regex_cache quote_regex3;
 1477 #endif /* HAVE_COLOR */
 1478 
 1479 extern struct t_article *arts;
 1480 extern struct t_scope *scopes;
 1481 extern struct t_cmdlineopts cmdline;
 1482 extern struct t_config tinrc;
 1483 extern struct t_filters glob_filter;
 1484 extern struct t_group *active;
 1485 extern struct t_group *curr_group;
 1486 extern struct t_newnews *newnews;
 1487 extern struct t_option option_table[];
 1488 extern struct t_save *save;
 1489 extern struct t_capabilities nntp_caps;
 1490 
 1491 extern t_bool *OPT_ON_OFF_list[];
 1492 extern t_bool can_post;
 1493 extern t_bool check_for_new_newsgroups;
 1494 extern t_bool cmd_line;
 1495 extern t_bool created_rcdir;
 1496 extern t_bool dangerous_signal_exit; /* TRUE if SIGHUP, SIGTERM, SIGUSR1 */
 1497 #ifdef NNTP_ABLE
 1498     extern t_bool did_reconnect;
 1499     extern t_bool reconnected_in_last_get_server;
 1500 #endif /* NNTP_ABLE */
 1501 extern t_bool disable_gnksa_domain_check;
 1502 extern t_bool disable_sender;
 1503 extern t_bool force_no_post;
 1504 extern t_bool force_reread_active_file;
 1505 #if defined(NNTP_ABLE) && defined(INET6)
 1506     extern t_bool force_ipv4;
 1507     extern t_bool force_ipv6;
 1508 #endif /* NNTP_ABLE && INET6 */
 1509 extern t_bool have_linescroll;
 1510 extern t_bool list_active;
 1511 extern t_bool newsrc_active;
 1512 extern t_bool no_write;
 1513 extern t_bool post_article_and_exit;
 1514 extern t_bool post_postponed_and_exit;
 1515 extern t_bool range_active;
 1516 extern t_bool read_local_newsgroups_file;
 1517 extern t_bool read_news_via_nntp;
 1518 extern t_bool read_saved_news;
 1519 extern t_bool reread_active_for_posted_arts;
 1520 extern t_bool show_description;
 1521 extern t_bool show_subject;
 1522 extern t_bool batch_mode;
 1523 extern int verbose;
 1524 extern t_bool xref_supported;
 1525 extern t_bool expensive_over_parse;
 1526 
 1527 extern t_function last_search;
 1528 
 1529 extern t_menu selmenu;
 1530 extern t_menu grpmenu;
 1531 extern t_menu *currmenu;
 1532 
 1533 extern t_openartinfo pgart;
 1534 
 1535 extern struct t_overview_fmt *ofmt;
 1536 
 1537 enum {
 1538     HIST_OTHER = 0,
 1539     HIST_ART_SEARCH,
 1540     HIST_AUTHOR_SEARCH,
 1541     HIST_GOTO_GROUP,
 1542     HIST_GROUP_SEARCH,
 1543     HIST_MAIL_ADDRESS,
 1544     HIST_MESSAGE_ID,
 1545     HIST_MOVE_GROUP,
 1546     HIST_PIPE_COMMAND,
 1547     HIST_POST_NEWSGROUPS,
 1548     HIST_POST_SUBJECT,
 1549     HIST_REGEX_PATTERN,
 1550     HIST_REPOST_GROUP,
 1551     HIST_SAVE_FILE,
 1552     HIST_SELECT_PATTERN,
 1553     HIST_SHELL_COMMAND,
 1554     HIST_SUBJECT_SEARCH,
 1555     HIST_CONFIG_SEARCH,
 1556     HIST_HELP_SEARCH,
 1557     HIST_URL
 1558 };
 1559 /* must always be the same as the highest HIST_ value except HIST_NONE */
 1560 #define HIST_MAXNUM     HIST_URL
 1561 #define HIST_NONE       (HIST_MAXNUM + 1)
 1562 #define HIST_SIZE       15  /* # items in each history */
 1563 
 1564 extern int hist_last[HIST_MAXNUM + 1];
 1565 extern int hist_pos[HIST_MAXNUM + 1];
 1566 extern char *input_history[HIST_MAXNUM + 1][HIST_SIZE + 1];
 1567 
 1568 
 1569 /* defines for GNKSA checking */
 1570 /* success/undefined failure */
 1571 #define GNKSA_OK            0
 1572 #define GNKSA_INTERNAL_ERROR        1
 1573 /* general syntax */
 1574 #define GNKSA_LANGLE_MISSING        100
 1575 #define GNKSA_LPAREN_MISSING        101
 1576 #define GNKSA_RPAREN_MISSING        102
 1577 #define GNKSA_ATSIGN_MISSING        103
 1578 #define GNKSA_RANGLE_MISSING        104
 1579 /* FQDN checks */
 1580 #define GNKSA_SINGLE_DOMAIN     200
 1581 #define GNKSA_INVALID_DOMAIN        201
 1582 #define GNKSA_ILLEGAL_DOMAIN        202
 1583 #define GNKSA_UNKNOWN_DOMAIN        203
 1584 #define GNKSA_INVALID_FQDN_CHAR     204
 1585 #define GNKSA_ZERO_LENGTH_LABEL     205
 1586 #define GNKSA_ILLEGAL_LABEL_LENGTH  206
 1587 #define GNKSA_ILLEGAL_LABEL_HYPHEN  207
 1588 #define GNKSA_ILLEGAL_LABEL_BEGNUM  208
 1589 #define GNKSA_BAD_DOMAIN_LITERAL    209
 1590 #define GNKSA_LOCAL_DOMAIN_LITERAL  210
 1591 #define GNKSA_RBRACKET_MISSING      211
 1592 /* localpart checks */
 1593 #define GNKSA_LOCALPART_MISSING     300
 1594 #define GNKSA_INVALID_LOCALPART     301
 1595 #define GNKSA_ZERO_LENGTH_LOCAL_WORD    302
 1596 /* realname checks */
 1597 #define GNKSA_ILLEGAL_UNQUOTED_CHAR 400
 1598 #define GNKSA_ILLEGAL_QUOTED_CHAR   401
 1599 #define GNKSA_ILLEGAL_ENCODED_CHAR  402
 1600 #define GNKSA_BAD_ENCODE_SYNTAX     403
 1601 #define GNKSA_ILLEGAL_PAREN_CHAR        404
 1602 #define GNKSA_INVALID_REALNAME      405
 1603 #define GNKSA_MISSING_REALNAME      406
 1604 
 1605 /* address types */
 1606 #define GNKSA_ADDRTYPE_ROUTE    0
 1607 #define GNKSA_ADDRTYPE_OLDSTYLE 1
 1608 
 1609 #ifndef DONT_HAVE_PIPING
 1610     extern constext txt_pipe[];
 1611     extern constext txt_pipe_to_command[];
 1612     extern constext txt_piping[];
 1613 #else
 1614     extern constext txt_piping_not_enabled[];
 1615 #endif /* !DONT_HAVE_PIPING */
 1616 
 1617 #ifdef FORGERY
 1618     extern constext txt_warn_cancel_forgery[];
 1619 #else
 1620     extern constext txt_art_cannot_cancel[];
 1621     extern constext txt_error_sender_in_header_not_allowed[];
 1622 #   ifdef NNTP_INEWS
 1623     extern constext txt_invalid_sender[];
 1624 #   endif /* NNTP_INEWS */
 1625 #endif /* FORGERY */
 1626 
 1627 extern t_bool word_highlight;
 1628 #ifdef HAVE_COLOR
 1629     extern constext txt_tinrc_colors[];
 1630     extern int default_bcol;
 1631     extern int default_fcol;
 1632     extern t_bool use_color;
 1633 #   ifdef USE_CURSES
 1634         extern constext txt_no_colorterm[];
 1635 #   endif /* USE_CURSES */
 1636 #endif /* HAVE_COLOR */
 1637 
 1638 #ifdef HAVE_FASCIST_NEWSADMIN
 1639     extern constext txt_error_followup_to_several_groups[];
 1640     extern constext txt_error_grp_renamed[];
 1641     extern constext txt_error_missing_followup_to[];
 1642     extern constext txt_error_not_valid_newsgroup[];
 1643 #endif /* HAVE_FASCIST_NEWSADMIN */
 1644 
 1645 
 1646 #ifndef ALLOW_FWS_IN_NEWSGROUPLIST
 1647     extern constext txt_error_header_line_comma[];
 1648     extern constext txt_error_header_line_groups_contd[];
 1649 #endif /* !ALLOW_FWS_IN_NEWSGROUPLIST */
 1650 
 1651 #ifdef HAVE_PGP_GPG
 1652     extern constext txt_pgp_add[];
 1653     extern constext txt_pgp_mail[];
 1654     extern constext txt_pgp_news[];
 1655     extern constext txt_pgp_not_avail[];
 1656     extern constext txt_pgp_nothing[];
 1657 #endif /* HAVE_PGP_GPG */
 1658 
 1659 #ifdef HAVE_SYS_UTSNAME_H
 1660     extern struct utsname system_info;
 1661 #endif /* HAVE_SYS_UTSNAME_H */
 1662 
 1663 extern constext txt_art_deleted[];
 1664 extern constext txt_art_undeleted[];
 1665 extern constext txt_intro_page[];
 1666 extern constext txt_processing_mail_arts[];
 1667 extern constext txt_processing_saved_arts[];
 1668 
 1669 #ifdef HAVE_MH_MAIL_HANDLING
 1670     extern constext txt_reading_mail_active_file[];
 1671     extern constext txt_reading_mailgroups_file[];
 1672 #endif /* HAVE_MH_MAIL_HANDLING */
 1673 
 1674 #ifndef NO_ETIQUETTE
 1675     extern constext txt_warn_posting_etiquette[];
 1676 #endif /* NO_ETIQUETTE */
 1677 
 1678 #if !defined(USE_CURSES)
 1679     extern struct t_screen *screen;
 1680 #endif /* !USE_CURSES */
 1681 
 1682 #ifdef NNTP_ABLE
 1683     extern constext txt_nntp_ok_goodbye[];
 1684     extern unsigned short nntp_tcp_port;
 1685     extern t_bool force_auth_on_conn_open;
 1686 #endif /* NNTP_ABLE */
 1687 
 1688 extern struct opttxt txt_abbreviate_groupname;
 1689 extern struct opttxt txt_add_posted_to_filter;
 1690 extern struct opttxt txt_advertising;
 1691 extern struct opttxt txt_alternative_handling;
 1692 extern struct opttxt txt_art_marked_deleted;
 1693 extern struct opttxt txt_art_marked_inrange;
 1694 extern struct opttxt txt_art_marked_killed;
 1695 extern struct opttxt txt_art_marked_read;
 1696 extern struct opttxt txt_art_marked_read_selected;
 1697 extern struct opttxt txt_art_marked_recent;
 1698 extern struct opttxt txt_art_marked_return;
 1699 extern struct opttxt txt_art_marked_selected;
 1700 extern struct opttxt txt_art_marked_unread;
 1701 extern struct opttxt txt_ask_for_metamail;
 1702 extern struct opttxt txt_auto_cc_bcc;
 1703 extern struct opttxt txt_auto_list_thread;
 1704 extern struct opttxt txt_auto_reconnect;
 1705 extern struct opttxt txt_auto_save;
 1706 extern struct opttxt txt_auto_select;
 1707 extern struct opttxt txt_delete_tmp_files;
 1708 extern struct opttxt txt_batch_save;
 1709 extern struct opttxt txt_beginner_level;
 1710 extern struct opttxt txt_cache_overview_files;
 1711 #ifdef USE_CANLOCK
 1712     extern struct opttxt txt_cancel_lock_algo;
 1713 #endif /* USE_CANLOCK */
 1714 extern struct opttxt txt_catchup_read_groups;
 1715 #ifdef HAVE_COLOR
 1716     extern struct opttxt txt_color_options;
 1717 #else
 1718     extern struct opttxt txt_highlight_options;
 1719 #endif /* HAVE_COLOR */
 1720 extern struct opttxt txt_confirm_choice;
 1721 extern struct opttxt txt_date_format;
 1722 extern struct opttxt txt_display_options;
 1723 extern struct opttxt txt_draw_arrow;
 1724 extern struct opttxt txt_editor_format;
 1725 extern struct opttxt txt_expert_options;
 1726 extern struct opttxt txt_fcc;
 1727 extern struct opttxt txt_filter_days;
 1728 extern struct opttxt txt_filtering_options;
 1729 extern struct opttxt txt_followup_to;
 1730 extern struct opttxt txt_force_screen_redraw;
 1731 extern struct opttxt txt_from;
 1732 extern struct opttxt txt_getart_limit;
 1733 extern struct opttxt txt_getart_limit_options;
 1734 extern struct opttxt txt_goto_next_unread;
 1735 extern struct opttxt txt_group_catchup_on_exit;
 1736 extern struct opttxt txt_group_format;
 1737 extern struct opttxt txt_hide_uue;
 1738 extern struct opttxt txt_inews_prog;
 1739 extern struct opttxt txt_interactive_mailer;
 1740 extern struct opttxt txt_inverse_okay;
 1741 #ifdef HAVE_ISPELL
 1742     extern struct opttxt txt_ispell;
 1743 #endif /* HAVE_ISPELL */
 1744 extern struct opttxt txt_keep_dead_articles;
 1745 extern struct opttxt txt_kill_level;
 1746 extern struct opttxt txt_mail_8bit_header;
 1747 extern struct opttxt txt_mail_address;
 1748 extern struct opttxt txt_mail_mime_encoding;
 1749 extern struct opttxt txt_mail_quote_format;
 1750 extern struct opttxt txt_mailbox_format;
 1751 extern struct opttxt txt_maildir;
 1752 extern struct opttxt txt_mailing_list;
 1753 extern struct opttxt txt_mailer_format;
 1754 extern struct opttxt txt_mark_ignore_tags;
 1755 extern struct opttxt txt_mark_saved_read;
 1756 extern struct opttxt txt_mime_forward;
 1757 extern struct opttxt txt_mime_types_to_save;
 1758 extern struct opttxt txt_mono_markstar;
 1759 extern struct opttxt txt_mono_markdash;
 1760 extern struct opttxt txt_mono_markslash;
 1761 extern struct opttxt txt_mono_markstroke;
 1762 #ifndef CHARSET_CONVERSION
 1763     extern struct opttxt txt_mm_charset;
 1764 #else
 1765 #   ifdef NO_LOCALE
 1766         extern struct opttxt txt_mm_local_charset;
 1767 #   endif /* NO_LOCALE */
 1768 #endif /* CHARSET_CONVERSION */
 1769 extern struct opttxt txt_metamail_prog;
 1770 extern struct opttxt txt_news_headers_to_display;
 1771 extern struct opttxt txt_news_headers_to_not_display;
 1772 extern struct opttxt txt_news_quote_format;
 1773 #if defined(HAVE_ALARM) && defined(SIGALRM)
 1774     extern struct opttxt txt_nntp_read_timeout_secs;
 1775 #endif /* HAVE_ALARM && SIGALRM */
 1776 extern struct opttxt txt_organization;
 1777 extern struct opttxt txt_pos_first_unread;
 1778 extern struct opttxt txt_post_8bit_header;
 1779 extern struct opttxt txt_post_mime_encoding;
 1780 extern struct opttxt txt_post_process_type;
 1781 extern struct opttxt txt_post_process_view;
 1782 extern struct opttxt txt_posted_articles_file;
 1783 extern struct opttxt txt_posting_options;
 1784 #ifndef DISABLE_PRINTING
 1785     extern struct opttxt txt_print_header;
 1786     extern struct opttxt txt_printer;
 1787 #endif /* !DISABLE_PRINTING */
 1788 extern struct opttxt txt_process_only_unread;
 1789 extern struct opttxt txt_prompt_followupto;
 1790 extern struct opttxt txt_quick_select_scope;
 1791 extern struct opttxt txt_quick_select_header;
 1792 extern struct opttxt txt_quick_select_case;
 1793 extern struct opttxt txt_quick_select_expire;
 1794 extern struct opttxt txt_quick_kill_scope;
 1795 extern struct opttxt txt_quick_kill_header;
 1796 extern struct opttxt txt_quick_kill_case;
 1797 extern struct opttxt txt_quick_kill_expire;
 1798 extern struct opttxt txt_quote_chars;
 1799 extern struct opttxt txt_quote_style;
 1800 extern struct opttxt txt_recent_time;
 1801 extern struct opttxt txt_reread_active_file_secs;
 1802 extern struct opttxt txt_savedir;
 1803 extern struct opttxt txt_savefile;
 1804 extern struct opttxt txt_saving_options;
 1805 extern struct opttxt txt_score_limit_kill;
 1806 extern struct opttxt txt_score_limit_select;
 1807 extern struct opttxt txt_score_kill;
 1808 extern struct opttxt txt_score_select;
 1809 extern struct opttxt txt_scroll_lines;
 1810 extern struct opttxt txt_select_format;
 1811 extern struct opttxt txt_show_author;
 1812 extern struct opttxt txt_show_description;
 1813 extern struct opttxt txt_show_only_unread_arts;
 1814 extern struct opttxt txt_show_only_unread_groups;
 1815 extern struct opttxt txt_show_signatures;
 1816 extern struct opttxt txt_sigdashes;
 1817 extern struct opttxt txt_sigfile;
 1818 extern struct opttxt txt_signature_repost;
 1819 extern struct opttxt txt_slashes_regex;
 1820 extern struct opttxt txt_sort_article_type;
 1821 extern struct opttxt txt_sort_threads_type;
 1822 extern struct opttxt txt_spamtrap_warning_addresses;
 1823 extern struct opttxt txt_stars_regex;
 1824 extern struct opttxt txt_start_editor_offset;
 1825 #ifndef USE_CURSES
 1826     extern struct opttxt txt_strip_blanks;
 1827 #endif /* !USE_CURSES */
 1828 extern struct opttxt txt_strip_bogus;
 1829 extern struct opttxt txt_strip_newsrc;
 1830 extern struct opttxt txt_strip_re_regex;
 1831 extern struct opttxt txt_strip_was_regex;
 1832 extern struct opttxt txt_strokes_regex;
 1833 extern struct opttxt txt_tex2iso_conv;
 1834 extern struct opttxt txt_thread_articles;
 1835 extern struct opttxt txt_thread_perc;
 1836 extern struct opttxt txt_thread_catchup_on_exit;
 1837 extern struct opttxt txt_thread_format;
 1838 extern struct opttxt txt_thread_score;
 1839 extern struct opttxt txt_trim_article_body;
 1840 extern struct opttxt txt_underscores_regex;
 1841 extern struct opttxt txt_unlink_article;
 1842 extern struct opttxt txt_url_handler;
 1843 extern struct opttxt txt_url_highlight;
 1844 extern struct opttxt txt_use_mouse;
 1845 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 1846     extern struct opttxt txt_utf8_graphics;
 1847 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 1848 extern struct opttxt txt_verbatim_begin_regex;
 1849 extern struct opttxt txt_verbatim_end_regex;
 1850 extern struct opttxt txt_verbatim_handling;
 1851 extern struct opttxt txt_wildcard;
 1852 extern struct opttxt txt_word_highlight;
 1853 extern struct opttxt txt_word_h_display_marks;
 1854 extern struct opttxt txt_wrap_column;
 1855 extern struct opttxt txt_wrap_on_next_unread;
 1856 extern struct opttxt txt_x_body;
 1857 extern struct opttxt txt_x_comment_to;
 1858 extern struct opttxt txt_x_headers;
 1859 extern struct opttxt txt_xpost_quote_format;
 1860 #ifdef CHARSET_CONVERSION
 1861     extern struct opttxt txt_mm_network_charset;
 1862     extern struct opttxt txt_undeclared_charset;
 1863 #endif /* CHARSET_CONVERSION */
 1864 #ifdef HAVE_COLOR
 1865     extern struct opttxt txt_quote_regex;
 1866     extern struct opttxt txt_quote_regex2;
 1867     extern struct opttxt txt_quote_regex3;
 1868     extern struct opttxt txt_extquote_handling;
 1869     extern struct opttxt txt_extquote_regex;
 1870     extern struct opttxt txt_use_color;
 1871     extern struct opttxt txt_col_normal;
 1872     extern struct opttxt txt_col_back;
 1873     extern struct opttxt txt_col_invers_bg;
 1874     extern struct opttxt txt_col_invers_fg;
 1875     extern struct opttxt txt_col_text;
 1876     extern struct opttxt txt_col_minihelp;
 1877     extern struct opttxt txt_col_help;
 1878     extern struct opttxt txt_col_message;
 1879     extern struct opttxt txt_col_quote;
 1880     extern struct opttxt txt_col_quote2;
 1881     extern struct opttxt txt_col_quote3;
 1882     extern struct opttxt txt_col_extquote;
 1883     extern struct opttxt txt_col_head;
 1884     extern struct opttxt txt_col_newsheaders;
 1885     extern struct opttxt txt_col_subject;
 1886     extern struct opttxt txt_col_response;
 1887     extern struct opttxt txt_col_from;
 1888     extern struct opttxt txt_col_title;
 1889     extern struct opttxt txt_col_signature;
 1890     extern struct opttxt txt_col_urls;
 1891     extern struct opttxt txt_col_verbatim;
 1892     extern struct opttxt txt_col_markstar;
 1893     extern struct opttxt txt_col_markdash;
 1894     extern struct opttxt txt_col_markslash;
 1895     extern struct opttxt txt_col_markstroke;
 1896 #endif /* HAVE_COLOR */
 1897 #ifdef HAVE_ICONV_OPEN_TRANSLIT
 1898     extern struct opttxt txt_translit;
 1899 #endif /* HAVE_ICONV_OPEN_TRANSLIT */
 1900 #ifdef HAVE_KEYPAD
 1901     extern struct opttxt txt_use_keypad;
 1902 #endif /* HAVE_KEYPAD */
 1903 #ifdef XFACE_ABLE
 1904     extern struct opttxt txt_use_slrnface;
 1905 #endif /* XFACE_ABLE */
 1906 #ifdef HAVE_UNICODE_NORMALIZATION
 1907     extern struct opttxt txt_normalization_form;
 1908 #endif /* HAVE_UNICODE_NORMALIZATION */
 1909 #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE)
 1910     extern struct opttxt txt_render_bidi;
 1911 #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */
 1912 #endif /* !EXTERN_H */