"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.6.2/include/extern.h" (9 Dec 2022, 70257 Bytes) of package /linux/misc/tin-2.6.2.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.6.1_vs_2.6.2.

    1 /*
    2  *  Project   : tin - a Usenet reader
    3  *  Module    : extern.h
    4  *  Author    : I. Lea
    5  *  Created   : 1991-04-01
    6  *  Updated   : 2022-11-03
    7  *  Notes     :
    8  *
    9  * Copyright (c) 1997-2023 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 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
  363     extern wchar_t *OPT_CHAR_list[];
  364 #else
  365     extern char *OPT_CHAR_list[];
  366 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
  367 extern char *OPT_STRING_list[];
  368 extern char *nntp_server;
  369 extern char *tin_progname;
  370 extern const char *tmpdir;
  371 extern char active_times_file[PATH_LEN];
  372 extern char article_name[PATH_LEN];
  373 extern char bug_addr[LEN];
  374 extern char bug_nntpserver1[PATH_LEN];
  375 extern char bug_nntpserver2[PATH_LEN];
  376 extern char cvers[LEN];
  377 extern char dead_article[PATH_LEN];
  378 extern char dead_articles[PATH_LEN];
  379 extern char default_organization[PATH_LEN];
  380 extern char default_signature[PATH_LEN];
  381 extern char global_attributes_file[PATH_LEN];
  382 extern char global_config_file[PATH_LEN];
  383 extern char homedir[PATH_LEN];
  384 extern char index_maildir[PATH_LEN];
  385 extern char index_newsdir[PATH_LEN];
  386 extern char index_savedir[PATH_LEN];
  387 extern char inewsdir[PATH_LEN];
  388 extern char local_attributes_file[PATH_LEN];
  389 extern char local_config_file[PATH_LEN];
  390 extern char filter_file[PATH_LEN];
  391 extern char local_input_history_file[PATH_LEN];
  392 extern char local_newsgroups_file[PATH_LEN];
  393 extern char local_newsrctable_file[PATH_LEN];
  394 extern char lock_file[PATH_LEN];
  395 extern char mail_news_user[LEN];
  396 extern char mailbox[PATH_LEN];
  397 extern char mailer[PATH_LEN];
  398 #ifdef HAVE_MH_MAIL_HANDLING
  399     extern char mail_active_file[PATH_LEN];
  400     extern char mailgroups_file[PATH_LEN];
  401 #endif /* HAVE_MH_MAIL_HANDLING */
  402 extern char newnewsrc[PATH_LEN];
  403 extern char news_active_file[PATH_LEN];
  404 extern char newsgroups_file[PATH_LEN];
  405 extern char newsrc[PATH_LEN];
  406 #ifndef NNTP_ONLY
  407     extern char novrootdir[PATH_LEN];
  408     extern char novfilename[NAME_LEN + 1];
  409 #endif /* !NNTP_ONLY */
  410 extern char page_header[LEN];
  411 extern char posted_info_file[PATH_LEN];
  412 extern char postponed_articles_file[PATH_LEN];
  413 extern char rcdir[PATH_LEN];
  414 extern char save_active_file[PATH_LEN];
  415 extern char spooldir[PATH_LEN];
  416 extern char subscriptions_file[PATH_LEN];
  417 extern char overviewfmt_file[PATH_LEN];
  418 extern char txt_help_bug_report[LEN];
  419 extern char userid[PATH_LEN];
  420 
  421 extern char domain_name[];
  422 
  423 extern const char base64_alphabet[64];
  424 
  425 #ifdef USE_CANLOCK
  426     extern constext *txt_cancel_lock_algos[];
  427 #endif /* USE_CANLOCK */
  428 extern constext *content_encodings[];
  429 extern constext *content_types[];
  430 extern constext *txt_attrs[];
  431 extern constext *txt_auto_cc_bcc_options[];
  432 #ifdef HAVE_COLOR
  433     extern constext *txt_colors[];
  434     extern constext *txt_backcolors[];
  435 #endif /* HAVE_COLOR */
  436 extern constext *txt_confirm_choices[];
  437 extern constext *txt_goto_next_unread_options[];
  438 extern constext *txt_hide_uue_type[];
  439 extern constext *txt_interactive_mailers[];
  440 extern constext *txt_kill_level_type[];
  441 #ifdef CHARSET_CONVERSION
  442     extern constext *txt_mime_charsets[];   /* supported charsets */
  443 #endif /* CHARSET_CONVERSION */
  444 extern constext *txt_mime_7bit_charsets[]; /* 7bit charsets */
  445 extern constext *txt_mailbox_formats[];
  446 extern constext *txt_marks[];
  447 extern constext *txt_mime_encodings[];
  448 #ifdef HAVE_UNICODE_NORMALIZATION
  449     extern constext *txt_normalization_forms[];
  450 #endif /* HAVE_UNICODE_NORMALIZATION */
  451 extern constext *txt_onoff[];
  452 extern constext *txt_post_process_types[];
  453 extern constext *txt_quick_ks_header_options[];
  454 extern constext *txt_quote_style_type[];
  455 extern constext *txt_show_from[];
  456 extern constext *txt_show_help_mail_sign_options[];
  457 extern constext *txt_sort_a_type[]; /* a=articles */
  458 extern constext *txt_sort_t_type[]; /* t=threads */
  459 extern constext *txt_strip_bogus_type[];
  460 extern constext *txt_threading[];
  461 extern constext *txt_thread_score_type[];
  462 extern constext *txt_trim_article_body_options[];
  463 extern constext *txt_wildcard_type[];
  464 extern constext txt_1_resp[];
  465 extern constext txt_7bit[];
  466 extern constext txt_8bit[];
  467 extern constext txt_active_file_is_empty[];
  468 extern constext txt_all[];
  469 extern constext txt_all_groups[];
  470 extern constext txt_append_overwrite_quit[];
  471 extern constext txt_art_cancel[];
  472 extern constext txt_art_mailgroups[];
  473 extern constext txt_art_newsgroups[];
  474 extern constext txt_art_not_posted[];
  475 extern constext txt_art_not_saved[];
  476 extern constext txt_art_pager_com[];
  477 extern constext txt_art_parent_killed[];
  478 extern constext txt_art_parent_none[];
  479 extern constext txt_art_parent_unavail[];
  480 extern constext txt_art_posted[];
  481 extern constext txt_art_rejected[];
  482 extern constext txt_art_thread_regex_tag[];
  483 extern constext txt_art_unavailable[];
  484 extern constext txt_art_x_of_n[];
  485 extern constext txt_article_cancelled[];
  486 extern constext txt_article_plural[];
  487 extern constext txt_article_reposted[];
  488 extern constext txt_article_singular[];
  489 extern constext txt_article_upper[];
  490 extern constext txt_articles_mailed[];
  491 #ifndef DISABLE_PRINTING
  492     extern constext txt_articles_printed[];
  493 #endif /* !DISABLE_PRINTING */
  494 #ifndef DONT_HAVE_PIPING
  495     extern constext txt_articles_piped[];
  496 #endif /* !DONT_HAVE_PIPING */
  497 extern constext txt_attach[];
  498 extern constext txt_attach_charset[];
  499 extern constext txt_attach_description[];
  500 extern constext txt_attachment_lines[];
  501 extern constext txt_attachment_menu[];
  502 extern constext txt_attachment_menu_com[];
  503 extern constext txt_attachment_no_name[];
  504 extern constext txt_attachment_saved[];
  505 extern constext txt_attachments_saved[];
  506 extern constext txt_attachment_select[];
  507 extern constext txt_attachment_tagged[];
  508 extern constext txt_attachments_tagged[];
  509 extern constext txt_attachment_untagged[];
  510 extern constext txt_attach_unsup_charset[];
  511 extern constext txt_attrib_menu_com[];
  512 extern constext txt_attrib_no_scope[];
  513 extern constext txt_uue[];
  514 extern constext txt_at_s[];
  515 #ifdef NNTP_ABLE
  516     extern constext txt_auth_failed[];
  517     extern constext txt_auth_failed_nopass[];
  518     extern constext txt_auth_pass[];
  519     extern constext txt_auth_user[];
  520     extern constext txt_auth_needed[];
  521     extern constext txt_authorization_fail[];
  522     extern constext txt_authorization_ok[];
  523 #endif /* NNTP_ABLE */
  524 extern constext txt_author_search_backwards[];
  525 extern constext txt_author_search_forwards[];
  526 extern constext txt_autoselecting_articles[];
  527 extern constext txt_autosubscribed[];
  528 extern constext txt_autosubscribing_groups[];
  529 extern constext txt_bad_article[];
  530 extern constext txt_bad_attrib[];
  531 extern constext txt_bad_command[];
  532 extern constext txt_base64[];
  533 extern constext txt_base_article[];
  534 extern constext txt_base_article_range[];
  535 extern constext txt_batch_update_unavail[];
  536 extern constext txt_begin_of_art[];
  537 extern constext txt_begin_of_page[];
  538 #ifdef NNTP_ABLE
  539     extern constext txt_caching_off[];
  540     extern constext txt_caching_on[];
  541 #endif /* NNTP_ABLE */
  542 extern constext txt_cancel_article[];
  543 extern constext txt_cancelling_art[];
  544 extern constext txt_cannot_create[];
  545 extern constext txt_cannot_create_uniq_name[];
  546 #ifdef DEBUG
  547     extern constext txt_cannot_find_base_art[];
  548 #endif /* DEBUG */
  549 extern constext txt_cannot_filter_on_path[];
  550 #ifdef NNTP_ABLE
  551     extern constext txt_cannot_get_nntp_server_name[];
  552 #endif /* NNTP_ABLE */
  553 #if !defined(USE_CURSES) && !defined(USE_TERMINFO)
  554     extern constext txt_cannot_get_term_entry[];
  555 #endif /* !USE_CURSES && !USE_TERMINFO */
  556 extern constext txt_cannot_open[];
  557 extern constext txt_cannot_open_for_saving[];
  558 extern constext txt_cannot_post[];
  559 extern constext txt_cannot_post_group[];
  560 #ifdef NNTP_ABLE
  561     extern constext txt_cannot_retrieve[];
  562 #endif /* NNTP_ABLE */
  563 extern constext txt_cannot_write_to_directory[];
  564 extern constext txt_catchup[];
  565 extern constext txt_catchup_group[];
  566 extern constext txt_catchup_all_read_groups[];
  567 extern constext txt_catchup_despite_tags[];
  568 extern constext txt_catchup_update_info[];
  569 extern constext txt_caughtup[];
  570 extern constext txt_check_article[];
  571 extern constext txt_checking_for_news[];
  572 extern constext txt_checking_new_groups[];
  573 #if !defined(HAVE_LIBUU) && defined(HAVE_SUM) && !defined(DONT_HAVE_PIPING)
  574     extern constext txt_checksum_of_file[];
  575 #endif /* !HAVE_LIBUU && && HAVE_SUM && !DONT_HAVE_PIPING */
  576 extern constext txt_choose_post_process_type[];
  577 #ifdef HAVE_COLOR
  578     extern constext txt_color_off[];
  579     extern constext txt_color_on[];
  580 #endif /* HAVE_COLOR */
  581 extern constext txt_command_failed[];
  582 extern constext txt_cook_article_failed_exiting[];
  583 extern constext txt_confirm_select_on_exit[];
  584 #ifdef NNTP_ABLE
  585     extern constext txt_connecting[];
  586     extern constext txt_connecting_port[];
  587 #endif /* NNTP_ABLE */
  588 #if defined(NNTP_ABLE) && !defined(INET6)
  589     extern constext txt_connection_to[];
  590 #endif /* NNTP_ABLE && !INET6 */
  591 extern constext txt_connection_info[];
  592 extern constext txt_copyright_notice[];
  593 extern constext txt_cr[];
  594 extern constext txt_creating_active[];
  595 extern constext txt_creating_newsrc[];
  596 extern constext txt_default[];
  597 extern constext txt_delete_processed_files[];
  598 extern constext txt_deleting[];
  599 #ifdef NNTP_ABLE
  600     extern constext txt_disconnecting[];
  601 #endif /* NNTP_ABLE */
  602 extern constext txt_end_of_art[];
  603 extern constext txt_end_of_arts[];
  604 extern constext txt_end_of_attachments[];
  605 extern constext txt_end_of_groups[];
  606 extern constext txt_end_of_page[];
  607 extern constext txt_end_of_posted[];
  608 extern constext txt_end_of_scopes[];
  609 extern constext txt_end_of_thread[];
  610 extern constext txt_end_of_urls[];
  611 extern constext txt_enter_getart_limit[];
  612 extern constext txt_enter_message_id[];
  613 extern constext txt_enter_next_thread[];
  614 extern constext txt_enter_next_unread_art[];
  615 extern constext txt_enter_next_unread_group[];
  616 extern constext txt_enter_option_num[];
  617 extern constext txt_enter_range[];
  618 extern constext txt_error_approved[];
  619 #ifndef NDEBUG
  620     extern constext txt_error_asfail[];
  621 #endif /* ! NDEBUG */
  622 extern constext txt_error_bad_approved[];
  623 extern constext txt_error_bad_from[];
  624 extern constext txt_error_bad_msgidfqdn[];
  625 extern constext txt_error_bad_replyto[];
  626 extern constext txt_error_bad_to[];
  627 #ifndef NO_LOCKING
  628     extern constext txt_error_cant_unlock[];
  629     extern constext txt_error_couldnt_dotlock[];
  630     extern constext txt_error_couldnt_lock[];
  631 #endif /* NO_LOCKING */
  632 extern constext txt_error_copy_fp[];
  633 extern constext txt_error_corrupted_file[];
  634 extern constext txt_error_fseek[];
  635 extern constext txt_error_followup_poster[];
  636 extern constext txt_error_format_string[];
  637 extern constext txt_error_gnksa_internal[];
  638 extern constext txt_error_gnksa_langle[];
  639 extern constext txt_error_gnksa_lparen[];
  640 extern constext txt_error_gnksa_rparen[];
  641 extern constext txt_error_gnksa_atsign[];
  642 extern constext txt_error_gnksa_sgl_domain[];
  643 extern constext txt_error_gnksa_inv_domain[];
  644 extern constext txt_error_gnksa_ill_domain[];
  645 extern constext txt_error_gnksa_unk_domain[];
  646 extern constext txt_error_gnksa_fqdn[];
  647 extern constext txt_error_gnksa_zero[];
  648 extern constext txt_error_gnksa_length[];
  649 extern constext txt_error_gnksa_hyphen[];
  650 extern constext txt_error_gnksa_begnum[];
  651 extern constext txt_error_gnksa_bad_lit[];
  652 extern constext txt_error_gnksa_local_lit[];
  653 extern constext txt_error_gnksa_rbracket[];
  654 extern constext txt_error_gnksa_lp_missing[];
  655 extern constext txt_error_gnksa_lp_invalid[];
  656 extern constext txt_error_gnksa_lp_zero[];
  657 extern constext txt_error_gnksa_rn_unq[];
  658 extern constext txt_error_gnksa_rn_qtd[];
  659 extern constext txt_error_gnksa_rn_enc[];
  660 extern constext txt_error_gnksa_rn_encsyn[];
  661 extern constext txt_error_gnksa_rn_paren[];
  662 extern constext txt_error_gnksa_rn_invalid[];
  663 extern constext txt_error_header_and_body_not_separate[];
  664 extern constext txt_error_header_duplicate[];
  665 extern constext txt_error_header_format[];
  666 extern constext txt_error_header_line_bad_charset[];
  667 extern constext txt_error_header_line_bad_encoding[];
  668 extern constext txt_error_header_line_blank[];
  669 extern constext txt_error_header_line_colon[];
  670 extern constext txt_error_header_line_empty[];
  671 extern constext txt_error_header_line_missing[];
  672 extern constext txt_error_header_line_not_7bit[];
  673 extern constext txt_error_header_line_space[];
  674 extern constext txt_error_insecure_permissions[];
  675 #if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE)
  676     extern constext txt_error_locale[];
  677 #endif /* HAVE_SETLOCALE && !NO_LOCALE */
  678 #ifdef DEBUG
  679     extern constext txt_error_mime_end[];
  680     extern constext txt_error_mime_start[];
  681 #endif /* DEBUG */
  682 extern constext txt_error_no_domain_name[];
  683 extern constext txt_error_no_enter_permission[];
  684 #ifdef NNTP_INEWS
  685     extern constext txt_error_no_from[];
  686 #endif /* NNTP_INEWS */
  687 extern constext txt_error_no_read_permission[];
  688 extern constext txt_error_no_such_file[];
  689 extern constext txt_error_no_write_permission[];
  690 extern constext txt_error_newsgroups_poster[];
  691 extern constext txt_error_passwd_missing[];
  692 extern constext txt_error_plural[];
  693 extern constext txt_error_server_has_no_listed_groups[];
  694 extern constext txt_error_singular[];
  695 #if defined(NNTP_ABLE) && defined(INET6)
  696     extern constext txt_error_socket_or_connect_problem[];
  697 #endif /* NNTP_ABLE && INET6 */
  698 #if defined(NNTP_ABLE) && defined(TLI) && !defined(INET6)
  699     extern constext txt_error_server_unavailable[];
  700     extern constext txt_error_topen[];
  701 #endif /* NNTP_ABLE && TLI && !INET6 */
  702 extern constext txt_error_unknown_dlevel[];
  703 #if defined(NNTP_ABLE) && defined(HAVE_GETSERVBYNAME) && !defined(INET6)
  704     extern constext txt_error_unknown_service[];
  705 #endif /* NNTP_ABLE && HAVE_GETSERVBYNAME && !INET6 */
  706 extern constext txt_esc[];
  707 extern constext txt_exiting[];
  708 extern constext txt_external_mail_done[];
  709 extern constext txt_extracting_shar[];
  710 #ifdef NNTP_ABLE
  711     extern constext txt_failed_to_connect_to_server[];
  712 #endif /* NNTP_ABLE */
  713 extern constext txt_feed_pattern[];
  714 extern constext txt_filesystem_full[];
  715 extern constext txt_filesystem_full_backup[];
  716 extern constext txt_filter_comment[];
  717 extern constext txt_filter_file[];
  718 extern constext txt_filter_global_rules[];
  719 extern constext txt_filter_rule_created[];
  720 extern constext txt_filter_score[];
  721 extern constext txt_filter_score_help[];
  722 extern constext txt_filter_text_type[];
  723 extern constext txt_followup_newsgroups[];
  724 extern constext txt_followup_poster[];
  725 extern constext txt_forwarded[];
  726 extern constext txt_forwarded_end[];
  727 extern constext txt_from_line_only[];
  728 extern constext txt_from_line_only_case[];
  729 extern constext txt_full[];
  730 #ifdef NNTP_ABLE
  731     extern constext txt_gethostbyname[];
  732 #endif /* NNTP_ABLE */
  733 #if defined(NNTP_ABLE) && !defined(INET6)
  734     extern constext txt_giving_up[];
  735 #endif /* NNTP_ABLE && !INET6 */
  736 extern constext txt_global[];
  737 extern constext txt_group[];
  738 extern constext txt_group_aliased[];
  739 extern constext txt_group_bogus[];
  740 extern constext txt_group_is_moderated[];
  741 extern constext txt_group_plural[];
  742 extern constext txt_group_rereading[];
  743 extern constext txt_group_select_com[];
  744 extern constext txt_group_selection[];
  745 extern constext txt_group_singular[];
  746 extern constext txt_grpdesc_disabled[];
  747 extern constext txt_help_article_autokill[];
  748 extern constext txt_help_article_autoselect[];
  749 extern constext txt_help_article_browse_urls[];
  750 extern constext txt_help_article_by_num[];
  751 #ifndef NO_POSTING
  752     extern constext txt_help_article_cancel[];
  753     extern constext txt_help_article_followup[];
  754     extern constext txt_help_article_followup_no_quote[];
  755     extern constext txt_help_article_followup_with_header[];
  756     extern constext txt_help_article_repost[];
  757 #endif /* !NO_POSTING */
  758 extern constext txt_help_article_edit[];
  759 extern constext txt_help_article_first_in_thread[];
  760 extern constext txt_help_article_first_page[];
  761 extern constext txt_help_article_last_in_thread[];
  762 extern constext txt_help_article_last_page[];
  763 extern constext txt_help_article_mark_thread_read[];
  764 extern constext txt_help_article_next[];
  765 extern constext txt_help_article_next_thread[];
  766 extern constext txt_help_article_next_unread[];
  767 extern constext txt_help_article_parent[];
  768 #ifdef HAVE_PGP_GPG
  769     extern constext txt_help_article_pgp[];
  770 #endif /* HAVE_PGP_GPG */
  771 extern constext txt_help_article_prev[];
  772 extern constext txt_help_article_prev_unread[];
  773 extern constext txt_help_article_quick_kill[];
  774 extern constext txt_help_article_quick_select[];
  775 extern constext txt_help_article_quit_to_select_level[];
  776 extern constext txt_help_article_reply[];
  777 extern constext txt_help_article_reply_no_quote[];
  778 extern constext txt_help_article_reply_with_header[];
  779 extern constext txt_help_article_search_backwards[];
  780 extern constext txt_help_article_search_forwards[];
  781 extern constext txt_help_article_show_raw[];
  782 extern constext txt_help_article_skip_quote[];
  783 extern constext txt_help_article_toggle_formfeed[];
  784 extern constext txt_help_article_toggle_headers[];
  785 extern constext txt_help_article_toggle_highlight[];
  786 extern constext txt_help_article_toggle_rot13[];
  787 extern constext txt_help_article_toggle_tabwidth[];
  788 extern constext txt_help_article_toggle_tex2iso[];
  789 extern constext txt_help_article_toggle_uue[];
  790 extern constext txt_help_article_view_attachments[];
  791 extern constext txt_help_attachment_first[];
  792 extern constext txt_help_attachment_goto[];
  793 extern constext txt_help_attachment_last[];
  794 #ifndef DONT_HAVE_PIPING
  795     extern constext txt_help_attachment_pipe[];
  796     extern constext txt_help_attachment_pipe_raw[];
  797 #endif /* !DONT_HAVE_PIPING */
  798 extern constext txt_help_attachment_save[];
  799 extern constext txt_help_attachment_search_forwards[];
  800 extern constext txt_help_attachment_search_backwards[];
  801 extern constext txt_help_attachment_select[];
  802 extern constext txt_help_attachment_tag[];
  803 extern constext txt_help_attachment_tag_pattern[];
  804 extern constext txt_help_attachment_toggle_tagged[];
  805 extern constext txt_help_attachment_untag[];
  806 extern constext txt_help_attachment_toggle_info_line[];
  807 extern constext txt_help_attrib_first_opt[];
  808 extern constext txt_help_attrib_goto_opt[];
  809 extern constext txt_help_attrib_last_opt[];
  810 extern constext txt_help_attrib_reset_attrib[];
  811 extern constext txt_help_attrib_search_opt_backwards[];
  812 extern constext txt_help_attrib_search_opt_forwards[];
  813 extern constext txt_help_attrib_select[];
  814 extern constext txt_help_attrib_toggle_attrib[];
  815 extern constext txt_help_bug[];
  816 extern constext txt_help_config_first_opt[];
  817 extern constext txt_help_config_goto_opt[];
  818 extern constext txt_help_config_last_opt[];
  819 extern constext txt_help_config_scope_menu[];
  820 extern constext txt_help_config_search_opt_backwards[];
  821 extern constext txt_help_config_search_opt_forwards[];
  822 extern constext txt_help_config_select[];
  823 extern constext txt_help_config_toggle_attrib[];
  824 extern constext txt_help_filter_comment[];
  825 extern constext txt_help_filter_from[];
  826 extern constext txt_help_filter_lines[];
  827 extern constext txt_help_filter_msgid[];
  828 extern constext txt_help_filter_subj[];
  829 extern constext txt_help_filter_text[];
  830 extern constext txt_help_filter_text_type[];
  831 extern constext txt_help_filter_time[];
  832 extern constext txt_help_global_article_range[];
  833 extern constext txt_help_global_edit_filter[];
  834 extern constext txt_help_global_esc[];
  835 extern constext txt_help_global_help[];
  836 extern constext txt_help_global_last_art[];
  837 extern constext txt_help_global_line_down[];
  838 extern constext txt_help_global_line_up[];
  839 extern constext txt_help_global_lookup_art[];
  840 extern constext txt_help_global_mail[];
  841 extern constext txt_help_global_option_menu[];
  842 extern constext txt_help_global_page_down[];
  843 extern constext txt_help_global_page_up[];
  844 #ifndef DONT_HAVE_PIPING
  845     extern constext txt_help_global_pipe[];
  846 #endif /* !DONT_HAVE_PIPING */
  847 #ifndef NO_POSTING
  848     extern constext txt_help_global_post[];
  849     extern constext txt_help_global_post_postponed[];
  850 #endif /* !NO_POSTING */
  851 extern constext txt_help_global_posting_history[];
  852 extern constext txt_help_global_previous_menu[];
  853 #ifndef DISABLE_PRINTING
  854     extern constext txt_help_global_print[];
  855 #endif /* !DISABLE_PRINTING */
  856 extern constext txt_help_global_quit_tin[];
  857 extern constext txt_help_global_redraw_screen[];
  858 extern constext txt_help_global_save[];
  859 extern constext txt_help_global_auto_save[];
  860 extern constext txt_help_global_scroll_down[];
  861 extern constext txt_help_global_scroll_up[];
  862 extern constext txt_help_global_search_auth_backwards[];
  863 extern constext txt_help_global_search_auth_forwards[];
  864 extern constext txt_help_global_search_body[];
  865 extern constext txt_help_global_search_body_comment[];
  866 extern constext txt_help_global_search_repeat[];
  867 extern constext txt_help_global_search_subj_backwards[];
  868 extern constext txt_help_global_search_subj_forwards[];
  869 #ifndef NO_SHELL_ESCAPE
  870     extern constext txt_help_global_shell_escape[];
  871 #endif /* !NO_SHELL_ESCAPE */
  872 extern constext txt_help_global_tag[];
  873 #ifdef HAVE_COLOR
  874     extern constext txt_help_global_toggle_color[];
  875 #endif /* HAVE_COLOR */
  876 extern constext txt_help_global_toggle_info_line[];
  877 extern constext txt_help_global_toggle_inverse_video[];
  878 extern constext txt_help_global_toggle_mini_help[];
  879 extern constext txt_help_global_toggle_subj_display[];
  880 extern constext txt_help_global_version[];
  881 extern constext txt_help_group_catchup[];
  882 extern constext txt_help_group_catchup_next[];
  883 extern constext txt_help_group_first_thread[];
  884 extern constext txt_help_group_last_thread[];
  885 extern constext txt_help_group_list_thread[];
  886 extern constext txt_help_group_mark_article_unread[];
  887 extern constext txt_help_group_mark_thread_read[];
  888 extern constext txt_help_group_mark_thread_unread[];
  889 extern constext txt_help_mark_feed_read[];
  890 extern constext txt_help_mark_feed_unread[];
  891 extern constext txt_help_group_mark_unsel_art_read[];
  892 extern constext txt_help_group_next[];
  893 extern constext txt_help_group_prev[];
  894 extern constext txt_help_group_reverse_thread_selection[];
  895 extern constext txt_help_group_select_all[];
  896 extern constext txt_help_group_select_thread[];
  897 extern constext txt_help_group_select_thread_if_unread_selected[];
  898 extern constext txt_help_group_select_thread_pattern[];
  899 extern constext txt_help_group_thread_by_num[];
  900 extern constext txt_help_group_toggle_getart_limit[];
  901 extern constext txt_help_group_toggle_read_articles[];
  902 extern constext txt_help_group_toggle_thread_selection[];
  903 extern constext txt_help_group_toggle_threading[];
  904 extern constext txt_help_group_undo_thread_selection[];
  905 extern constext txt_help_group_untag_thread[];
  906 extern constext txt_help_kill_scope[];
  907 extern constext txt_help_post_hist_search_forwards[];
  908 extern constext txt_help_post_hist_search_backwards[];
  909 extern constext txt_help_post_hist_toggle_info_line[];
  910 extern constext txt_help_post_hist_select[];
  911 extern constext txt_help_scope_add[];
  912 extern constext txt_help_scope_del[];
  913 extern constext txt_help_scope_edit_attrib_file[];
  914 extern constext txt_help_scope_first_scope[];
  915 extern constext txt_help_scope_goto_scope[];
  916 extern constext txt_help_scope_last_scope[];
  917 extern constext txt_help_scope_move[];
  918 extern constext txt_help_scope_rename[];
  919 extern constext txt_help_scope_select[];
  920 extern constext txt_help_select_catchup[];
  921 extern constext txt_help_select_catchup_next_unread[];
  922 extern constext txt_help_select_first_group[];
  923 extern constext txt_help_select_goto_group[];
  924 extern constext txt_help_select_group_by_num[];
  925 extern constext txt_help_select_group_range[];
  926 extern constext txt_help_select_last_group[];
  927 #ifdef NNTP_ABLE
  928     extern constext txt_help_select_lookup_group[];
  929     extern constext txt_help_select_lookup_group_comment[];
  930 #endif /* NNTP_ABLE */
  931 extern constext txt_help_select_mark_group_unread[];
  932 extern constext txt_help_select_move_group[];
  933 extern constext txt_help_select_next_unread_group[];
  934 extern constext txt_help_select_quit[];
  935 extern constext txt_help_select_quit_no_write[];
  936 extern constext txt_help_select_read_group[];
  937 extern constext txt_help_select_reset_newsrc[];
  938 extern constext txt_help_select_scope[];
  939 extern constext txt_help_select_search_group_backwards[];
  940 extern constext txt_help_select_search_group_comment[];
  941 extern constext txt_help_select_search_group_forwards[];
  942 extern constext txt_help_select_subscribe[];
  943 extern constext txt_help_select_subscribe_pattern[];
  944 extern constext txt_help_select_sync_with_active[];
  945 extern constext txt_help_global_connection_info[];
  946 extern constext txt_help_select_toggle_descriptions[];
  947 extern constext txt_help_select_toggle_read_groups[];
  948 extern constext txt_help_select_unsubscribe[];
  949 extern constext txt_help_select_unsubscribe_pattern[];
  950 extern constext txt_help_select_sort_active[];
  951 extern constext txt_help_select_yank_active[];
  952 extern constext txt_help_tag_parts[];
  953 extern constext txt_help_thread_article_by_num[];
  954 extern constext txt_help_thread_catchup[];
  955 extern constext txt_help_thread_catchup_next_unread[];
  956 extern constext txt_help_thread_first_article[];
  957 extern constext txt_help_thread_last_article[];
  958 extern constext txt_help_thread_mark_article_read[];
  959 extern constext txt_help_thread_mark_article_unread[];
  960 extern constext txt_help_thread_mark_thread_unread[];
  961 extern constext txt_help_thread_read_article[];
  962 extern constext txt_help_title_disp[];
  963 extern constext txt_help_title_misc[];
  964 extern constext txt_help_title_navi[];
  965 extern constext txt_help_title_ops[];
  966 extern constext txt_help_title_attachment_ops[];
  967 extern constext txt_help_title_attrib_ops[];
  968 extern constext txt_help_title_config_ops[];
  969 extern constext txt_help_title_post_hist_ops[];
  970 extern constext txt_help_title_scope_ops[];
  971 extern constext txt_help_title_url_ops[];
  972 extern constext txt_help_url_first_url[];
  973 extern constext txt_help_url_goto_url[];
  974 extern constext txt_help_url_last_url[];
  975 extern constext txt_help_url_search_forwards[];
  976 extern constext txt_help_url_search_backwards[];
  977 extern constext txt_help_url_select[];
  978 extern constext txt_help_url_toggle_info_line[];
  979 extern constext txt_incomplete[];
  980 extern constext txt_index_page_com[];
  981 extern constext txt_info_add_kill[];
  982 extern constext txt_info_add_select[];
  983 extern constext txt_info_all_parts_tagged[];
  984 extern constext txt_info_all_parts_untagged[];
  985 extern constext txt_info_do_postpone[];
  986 extern constext txt_info_enter_valid_character[];
  987 extern constext txt_info_missing_part[];
  988 extern constext txt_info_nopostponed[];
  989 extern constext txt_info_not_multipart_message[];
  990 extern constext txt_info_not_subscribed[];
  991 extern constext txt_info_no_write[];
  992 extern constext txt_info_no_previous_expression[];
  993 extern constext txt_info_postponed[];
  994 extern constext txt_info_x_conversion_note[];
  995 extern constext txt_invalid_from[];
  996 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
  997     extern constext txt_invalid_multibyte_sequence[];
  998 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
  999 extern constext txt_inverse_off[];
 1000 extern constext txt_inverse_on[];
 1001 extern constext txt_is_mailbox[];
 1002 extern constext txt_is_tex_encoded[];
 1003 extern constext txt_keymap_missing_key[];
 1004 extern constext txt_keymap_invalid_key[];
 1005 extern constext txt_keymap_invalid_name[];
 1006 extern constext txt_keymap_upgraded[];
 1007 extern constext txt_kill_from[];
 1008 extern constext txt_kill_lines[];
 1009 extern constext txt_kill_menu[];
 1010 extern constext txt_kill_msgid[];
 1011 extern constext txt_kill_scope[];
 1012 extern constext txt_kill_subj[];
 1013 extern constext txt_kill_text[];
 1014 extern constext txt_kill_time[];
 1015 extern constext txt_last[];
 1016 extern constext txt_last_resp[];
 1017 extern constext txt_lines[];
 1018 extern constext txt_lookup_func_not_available[];
 1019 extern constext txt_lookup_func_not_nntp[];
 1020 #ifdef NNTP_ABLE
 1021     extern constext txt_lookup_show_group[];
 1022     extern constext txt_lookup_show_groups[];
 1023 #endif /* NNTP_ABLE */
 1024 extern constext txt_mail[];
 1025 extern constext txt_mailbox[];
 1026 extern constext txt_mail_art_to[];
 1027 extern constext txt_mail_log_to[];
 1028 extern constext txt_mail_bug_report[];
 1029 extern constext txt_mail_bug_report_confirm[];
 1030 extern constext txt_mailed[];
 1031 extern constext txt_mailing_to[];
 1032 extern constext txt_mail_save_active_head[];
 1033 extern constext txt_mark[];
 1034 extern constext txt_mark_arts_read[];
 1035 extern constext txt_mark_art_read[];
 1036 extern constext txt_mark_group_read[];
 1037 extern constext txt_mark_thread_read[];
 1038 extern constext txt_marked_as_read[];
 1039 extern constext txt_marked_as_unread[];
 1040 extern constext txt_marked_arts_as_read[];
 1041 extern constext txt_marked_arts_as_unread[];
 1042 extern constext txt_matching_cmd_line_groups[];
 1043 extern constext txt_mini_attachment_1[];
 1044 extern constext txt_mini_attachment_2[];
 1045 extern constext txt_mini_attachment_3[];
 1046 extern constext txt_mini_group_1[];
 1047 extern constext txt_mini_group_2[];
 1048 extern constext txt_mini_group_3[];
 1049 extern constext txt_mini_info_1[];
 1050 extern constext txt_mini_info_2[];
 1051 extern constext txt_mini_page_1[];
 1052 extern constext txt_mini_page_2[];
 1053 extern constext txt_mini_page_3[];
 1054 extern constext txt_mini_post_hist_1[];
 1055 extern constext txt_mini_post_hist_2[];
 1056 extern constext txt_mini_scope_1[];
 1057 extern constext txt_mini_scope_2[];
 1058 extern constext txt_mini_select_1[];
 1059 extern constext txt_mini_select_2[];
 1060 extern constext txt_mini_select_3[];
 1061 extern constext txt_mini_thread_1[];
 1062 extern constext txt_mini_thread_2[];
 1063 extern constext txt_mini_url_1[];
 1064 extern constext txt_mini_url_2[];
 1065 extern constext txt_more[];
 1066 extern constext txt_moving[];
 1067 extern constext txt_msgid_line_last[];
 1068 extern constext txt_msgid_line_only[];
 1069 extern constext txt_msgid_refs_line[];
 1070 extern constext txt_name[];
 1071 extern constext txt_newsgroup[];
 1072 extern constext txt_newsgroup_plural[];
 1073 extern constext txt_newsgroup_position[];
 1074 extern constext txt_newsgroup_singular[];
 1075 extern constext txt_newsrc_again[];
 1076 extern constext txt_newsrc_nogroups[];
 1077 extern constext txt_newsrc_saved[];
 1078 extern constext txt_next_resp[];
 1079 extern constext txt_no[];
 1080 extern constext txt_no_arts[];
 1081 extern constext txt_no_arts_posted[];
 1082 extern constext txt_no_attachments[];
 1083 extern constext txt_no_description[];
 1084 extern constext txt_no_filename[];
 1085 extern constext txt_no_group[];
 1086 extern constext txt_no_groups[];
 1087 extern constext txt_no_groups_to_read[];
 1088 extern constext txt_no_last_message[];
 1089 extern constext txt_no_mail_address[];
 1090 extern constext txt_no_marked_arts[];
 1091 extern constext txt_no_match[];
 1092 extern constext txt_no_more_groups[];
 1093 extern constext txt_no_newsgroups[];
 1094 extern constext txt_no_next_unread_art[];
 1095 extern constext txt_no_prev_group[];
 1096 extern constext txt_no_prev_search[];
 1097 extern constext txt_no_prev_unread_art[];
 1098 extern constext txt_no_responses[];
 1099 extern constext txt_no_resps_in_thread[];
 1100 extern constext txt_no_scopes[];
 1101 extern constext txt_no_search_string[];
 1102 extern constext txt_no_subject[];
 1103 #ifndef USE_CURSES
 1104     extern constext txt_no_term_clear_eol[];
 1105     extern constext txt_no_term_clear_eos[];
 1106     extern constext txt_no_term_clearscreen[];
 1107     extern constext txt_no_term_cursor_motion[];
 1108     extern constext txt_no_term_set[];
 1109 #endif /* !USE_CURSES */
 1110 extern constext txt_no_viewer_found[];
 1111 #ifdef NNTP_ABLE
 1112     extern constext txt_no_xover_support[];
 1113 #endif /* NNTP_ABLE */
 1114 extern constext txt_not_exist[];
 1115 extern constext txt_not_in_active_file[];
 1116 extern constext txt_nrctbl_create[];
 1117 extern constext txt_nrctbl_default[];
 1118 extern constext txt_nrctbl_info[];
 1119 extern constext txt_only[];
 1120 extern constext txt_option_not_enabled[];
 1121 extern constext txt_options_menu[];
 1122 extern constext txt_options_menu_com[];
 1123 extern constext txt_out_of_memory[];
 1124 extern constext txt_pcre_error_at[];
 1125 extern constext txt_pcre_error_num[];
 1126 #ifndef HAVE_LIB_PCRE2
 1127     extern constext txt_pcre_error_text[];
 1128 #endif /* !HAVE_LIB_PCRE2 */
 1129 extern constext txt_post_a_followup[];
 1130 extern constext txt_post_error_ask_postpone[];
 1131 extern constext txt_post_history_menu[];
 1132 extern constext txt_post_history_menu_com[];
 1133 extern constext txt_post_history_lookup_failed[];
 1134 extern constext txt_post_history_op_unavail_for_reply[];
 1135 extern constext txt_post_history_recursion[];
 1136 extern constext txt_post_newsgroups[];
 1137 extern constext txt_post_processing[];
 1138 extern constext txt_post_processing_finished[];
 1139 extern constext txt_post_subject[];
 1140 #ifdef NNTP_INEWS
 1141     extern constext txt_post_via_builtin_inews[];
 1142     extern constext txt_post_via_builtin_inews_only[];
 1143 #endif /* NNTP_INEWS */
 1144 extern constext txt_posted_info_file[];
 1145 extern constext txt_posting[];
 1146 extern constext txt_postpone_repost[];
 1147 extern constext txt_prefix_hot[];
 1148 extern constext txt_prefix_tagged[];
 1149 extern constext txt_prefix_untagged[];
 1150 #ifdef NNTP_ABLE
 1151     extern constext txt_prep_for_filter_on_path[];
 1152 #endif /* NNTP_ABLE */
 1153 extern constext txt_prompt_fup_ignore[];
 1154 extern constext txt_prompt_unchanged_mail[];
 1155 extern constext txt_prompt_see_postponed[];
 1156 extern constext txt_quick_filter_kill[];
 1157 extern constext txt_quick_filter_select[];
 1158 extern constext txt_quit[];
 1159 extern constext txt_quit_cancel[];
 1160 extern constext txt_quit_despite_tags[];
 1161 extern constext txt_quit_edit_post[];
 1162 extern constext txt_quit_edit_postpone[];
 1163 extern constext txt_quit_edit_save_kill[];
 1164 extern constext txt_quit_edit_save_select[];
 1165 extern constext txt_quit_edit_send[];
 1166 extern constext txt_quit_edit_xpost[];
 1167 extern constext txt_quit_no_write[];
 1168 extern constext txt_quoted_printable[];
 1169 extern constext txt_range_invalid[];
 1170 extern constext txt_read_abort[];
 1171 extern constext txt_read_exit[];
 1172 extern constext txt_reading_article[];
 1173 extern constext txt_reading_arts[];
 1174 extern constext txt_reading_attributes_file[];
 1175 extern constext txt_reading_config_file[];
 1176 extern constext txt_reading_filter_file[];
 1177 extern constext txt_reading_groups[];
 1178 extern constext txt_reading_input_history_file[];
 1179 extern constext txt_reading_keymap_file[];
 1180 extern constext txt_reading_news_active_file[];
 1181 extern constext txt_reading_news_newsrc_file[];
 1182 extern constext txt_reading_newsgroups_file[];
 1183 extern constext txt_reading_newsrc[];
 1184 #ifdef NNTP_ABLE
 1185     extern constext txt_reconnect_to_news_server[];
 1186 #endif /* NNTP_ABLE */
 1187 extern constext txt_refs_line_only[];
 1188 #ifdef HAVE_GETTIMEOFDAY
 1189     extern constext txt_remaining[];
 1190 #endif /* HAVE_GETTIMEOFDAY */
 1191 extern constext txt_remove_bogus[];
 1192 extern constext txt_removed_rule[];
 1193 extern constext txt_rename_error[];
 1194 extern constext txt_reply_to_author[];
 1195 extern constext txt_repost[];
 1196 extern constext txt_repost_an_article[];
 1197 extern constext txt_repost_group[];
 1198 extern constext txt_reset_newsrc[];
 1199 extern constext txt_resp_redirect[];
 1200 extern constext txt_resp_to_poster[];
 1201 extern constext txt_return_key[];
 1202 extern constext txt_save[];
 1203 extern constext txt_save_attachment[];
 1204 extern constext txt_save_config[];
 1205 extern constext txt_save_filename[];
 1206 extern constext txt_saved[];
 1207 extern constext txt_saved_group[];
 1208 extern constext txt_saved_groupname[];
 1209 extern constext txt_saved_nothing[];
 1210 extern constext txt_saved_summary[];
 1211 extern constext txt_saved_to[];
 1212 extern constext txt_saved_to_range[];
 1213 extern constext txt_saving[];
 1214 extern constext txt_screen_init_failed[];
 1215 #ifndef USE_CURSES
 1216     extern constext txt_screen_too_small[];
 1217 #endif /* !USE_CURSES */
 1218 extern constext txt_screen_too_small_exiting[];
 1219 extern constext txt_scope_delete[];
 1220 extern constext txt_scope_enter[];
 1221 extern constext txt_scope_new_position[];
 1222 extern constext txt_scope_new_position_is_global[];
 1223 extern constext txt_scope_operation_not_allowed[];
 1224 extern constext txt_scope_rename[];
 1225 extern constext txt_scope_select[];
 1226 extern constext txt_scopes_menu[];
 1227 extern constext txt_scopes_menu_com[];
 1228 extern constext txt_search_backwards[];
 1229 extern constext txt_search_body[];
 1230 extern constext txt_search_forwards[];
 1231 extern constext txt_searching[];
 1232 extern constext txt_searching_body[];
 1233 extern constext txt_select_art[];
 1234 extern constext txt_select_config_file_option[];
 1235 extern constext txt_select_from[];
 1236 extern constext txt_select_group[];
 1237 extern constext txt_select_lines[];
 1238 extern constext txt_select_menu[];
 1239 extern constext txt_select_msgid[];
 1240 extern constext txt_select_pattern[];
 1241 extern constext txt_select_scope[];
 1242 extern constext txt_select_subj[];
 1243 extern constext txt_select_text[];
 1244 extern constext txt_select_thread[];
 1245 extern constext txt_select_time[];
 1246 extern constext txt_send_bugreport[];
 1247 #ifdef NNTP_ABLE
 1248     extern constext txt_server_name_in_file_env_var[];
 1249 #endif /* NNTP_ABLE */
 1250 extern constext txt_serverconfig_header[];
 1251 extern constext txt_servers_active[];
 1252 extern constext txt_skipping_newgroups[];
 1253 extern constext txt_space[];
 1254 extern constext txt_starting_command[];
 1255 extern constext txt_stp_list_thread[];
 1256 extern constext txt_stp_thread[];
 1257 extern constext txt_subj_line_only[];
 1258 extern constext txt_subj_line_only_case[];
 1259 extern constext txt_subscribe_pattern[];
 1260 extern constext txt_subscribed_num_groups[];
 1261 extern constext txt_subscribed_to[];
 1262 extern constext txt_subscribing[];
 1263 extern constext txt_supersede_article[];
 1264 extern constext txt_supersede_group[];
 1265 extern constext txt_superseding_art[];
 1266 extern constext txt_suspended_message[];
 1267 extern constext txt_tab[];
 1268 extern constext txt_tex[];
 1269 extern constext txt_there_is_no_news[];
 1270 extern constext txt_thread_upper[];
 1271 extern constext txt_thread_com[];
 1272 extern constext txt_thread_marked_as_deselected[];
 1273 extern constext txt_thread_marked_as_selected[];
 1274 extern constext txt_thread_singular[];
 1275 extern constext txt_thread_x_of_n[];
 1276 extern constext txt_threading_arts[];
 1277 extern constext txt_time_default_days[];
 1278 extern constext txt_tinrc_defaults[];
 1279 extern constext txt_tinrc_filter[];
 1280 extern constext txt_tinrc_header[];
 1281 extern constext txt_tinrc_info_in_last_line[];
 1282 extern constext txt_tinrc_newnews[];
 1283 extern constext txt_toggled_high[];
 1284 extern constext txt_toggled_rot13[];
 1285 extern constext txt_toggled_tex2iso[];
 1286 extern constext txt_toggled_tabwidth[];
 1287 #if defined(NNTP_ABLE) && defined(HAVE_INET_NTOA) && !defined(INET6)
 1288     extern constext txt_trying[];
 1289 #endif /* NNTP_ABLE && HAVE_INET_NTOA && !INET6 */
 1290 #ifndef NO_LOCKING
 1291     extern constext txt_trying_dotlock[];
 1292     extern constext txt_trying_lock[];
 1293 #endif /* NO_LOCKING */
 1294 extern constext txt_type_h_for_help[];
 1295 extern constext txt_unlimited_time[];
 1296 extern constext txt_unread[];
 1297 extern constext txt_unsubscribe_pattern[];
 1298 extern constext txt_unsubscribed_num_groups[];
 1299 extern constext txt_unsubscribed_to[];
 1300 extern constext txt_unsubscribing[];
 1301 extern constext txt_unthreading_arts[];
 1302 extern constext txt_updated[];
 1303 extern constext txt_updating[];
 1304 extern constext txt_url_menu[];
 1305 extern constext txt_url_menu_com[];
 1306 extern constext txt_url_open[];
 1307 extern constext txt_url_select[];
 1308 extern constext txt_url_done[];
 1309 extern constext txt_usage_catchup[];
 1310 extern constext txt_usage_check_for_unread_news[];
 1311 #ifdef DEBUG
 1312     extern constext txt_usage_debug[];
 1313 #endif /* DEBUG */
 1314 extern constext txt_usage_dont_check_new_newsgroups[];
 1315 extern constext txt_usage_dont_save_files_on_quit[];
 1316 extern constext txt_usage_dont_show_descriptions[];
 1317 #ifdef NNTP_ABLE
 1318     extern constext txt_usage_force_authentication[];
 1319 #   ifdef INET6
 1320     extern constext txt_usage_force_ipv4[];
 1321     extern constext txt_usage_force_ipv6[];
 1322 #   endif /* INET6 */
 1323     extern constext txt_usage_newsserver[];
 1324     extern constext txt_usage_port[];
 1325     extern constext txt_usage_read_news_remotely[];
 1326 #   ifdef NNTPS_ABLE
 1327     extern constext txt_usage_use_insecure_nntps[];
 1328     extern constext txt_usage_use_nntps[];
 1329 #   endif /* NNTPS_ABLE */
 1330 #endif /* NNTP_ABLE */
 1331 extern constext txt_usage_getart_limit[];
 1332 extern constext txt_usage_help_information[];
 1333 extern constext txt_usage_help_message[];
 1334 extern constext txt_usage_index_newsdir[];
 1335 extern constext txt_usage_update_index_files[];
 1336 extern constext txt_usage_maildir[];
 1337 extern constext txt_usage_mail_bugreport[];
 1338 extern constext txt_usage_mail_new_news[];
 1339 extern constext txt_usage_mail_new_news_to_user[];
 1340 extern constext txt_usage_newsrc_file[];
 1341 extern constext txt_usage_no_posting[];
 1342 extern constext txt_usage_post_article[];
 1343 extern constext txt_usage_post_postponed_arts[];
 1344 extern constext txt_usage_read_saved_news[];
 1345 extern constext txt_usage_savedir[];
 1346 extern constext txt_usage_save_new_news[];
 1347 extern constext txt_usage_start_if_unread_news[];
 1348 extern constext txt_usage_tin[];
 1349 #ifdef HAVE_COLOR
 1350     extern constext txt_usage_toggle_color[];
 1351 #endif /* HAVE_COLOR */
 1352 extern constext txt_usage_quickstart[];
 1353 extern constext txt_usage_read_only_subscribed[];
 1354 extern constext txt_usage_read_only_active[];
 1355 extern constext txt_usage_verbose[];
 1356 extern constext txt_usage_version[];
 1357 extern constext txt_useful_without_batch_mode[];
 1358 extern constext txt_useful_with_batch_mode[];
 1359 extern constext txt_useful_with_batch_or_debug_mode[];
 1360 extern constext txt_useless_combination[];
 1361 extern constext txt_use_mime[];
 1362 #ifdef NNTPS_ABLE
 1363     extern constext txt_valid_not_after[];
 1364     extern constext txt_valid_not_before[];
 1365 #endif /* NNTPS_ABLE */
 1366 extern constext txt_value_out_of_range[];
 1367 extern constext txt_view_attachment[];
 1368 extern constext txt_warn_art_line_too_long[];
 1369 extern constext txt_warn_article_unchanged[];
 1370 extern constext txt_warn_blank_subject[];
 1371 extern constext txt_warn_cancel[];
 1372 #ifdef CHARSET_CONVERSION
 1373     extern constext txt_warn_charset_conversion[];
 1374 #endif /* CHARSET_CONVERSION */
 1375 extern constext txt_warn_downgrade[];
 1376 extern constext txt_warn_encoding_and_external_inews[];
 1377 #ifdef ALLOW_FWS_IN_NEWSGROUPLIST
 1378     extern constext txt_warn_header_line_comma[];
 1379     extern constext txt_warn_header_line_groups_contd[];
 1380 #endif /* ALLOW_FWS_IN_NEWSGROUPLIST */
 1381 extern constext txt_warn_example_hierarchy[];
 1382 extern constext txt_warn_multiple_sigs[];
 1383 extern constext txt_warn_newsrc[];
 1384 extern constext txt_warn_not_all_arts_saved[];
 1385 extern constext txt_warn_re_but_no_references[];
 1386 extern constext txt_warn_references_but_no_re[];
 1387 extern constext txt_warn_sig_too_long[];
 1388 extern constext txt_warn_suspicious_mail[];
 1389 extern constext txt_warn_update[];
 1390 extern constext txt_warn_unrecognized_version[];
 1391 extern constext txt_warn_wrong_sig_format[];
 1392 extern constext txt_warn_xref_not_supported[];
 1393 extern constext txt_writing_attributes_file[];
 1394 extern constext txt_x_resp[];
 1395 extern constext txt_yanked_groups[];
 1396 extern constext txt_yanked_none[];
 1397 extern constext txt_yanked_sub_groups[];
 1398 extern constext txt_show_unread[];
 1399 extern constext txt_yes[];
 1400 extern constext txt_you_have_mail[];
 1401 
 1402 #ifndef DISABLE_PRINTING
 1403     extern constext txt_print[];
 1404     extern constext txt_printing[];
 1405 #endif /* !DISABLE_PRINTING */
 1406 
 1407 #ifndef DONT_HAVE_PIPING
 1408     extern constext txt_no_command[];
 1409 #endif /* !DONT_HAVE_PIPING */
 1410 
 1411 #ifndef HAVE_FASCIST_NEWSADMIN
 1412     extern constext txt_warn_followup_to_several_groups[];
 1413     extern constext txt_warn_grp_renamed[];
 1414     extern constext txt_warn_missing_followup_to[];
 1415     extern constext txt_warn_not_in_newsrc[];
 1416     extern constext txt_warn_not_valid_newsgroup[];
 1417 #endif /* !HAVE_FASCIST_NEWSADMIN */
 1418 
 1419 #ifdef HAVE_LIBUU
 1420     extern constext txt_libuu_saved[];
 1421     extern constext txt_libuu_error_missing[];
 1422     extern constext txt_libuu_error_no_begin[];
 1423     extern constext txt_libuu_error_no_data[];
 1424     extern constext txt_libuu_error_unknown[];
 1425 #endif /* HAVE_LIBUU */
 1426 extern constext txt_uu_error_decode[];
 1427 extern constext txt_uu_error_no_end[];
 1428 extern constext txt_uu_success[];
 1429 
 1430 #if defined(NNTP_ABLE) && !defined(NNTP_ONLY)
 1431     extern constext txt_cannot_open_active_file[];
 1432 #endif /* NNTP_ABLE && !NNTP_ONLY */
 1433 
 1434 #ifndef NO_SHELL_ESCAPE
 1435     extern constext txt_shell_command[];
 1436     extern constext txt_shell_escape[];
 1437 #endif /* !NO_SHELL_ESCAPE */
 1438 
 1439 extern int *my_group;
 1440 extern int NOTESLINES;
 1441 extern int _hp_glitch;
 1442 extern int art_mark_width;
 1443 extern int attrib_file_offset;
 1444 extern int cCOLS;
 1445 extern int cLINES;
 1446 extern int curr_line;
 1447 extern int filter_file_offset;
 1448 extern int input_context;
 1449 extern int iso2asc_supported;
 1450 extern int last_resp;
 1451 extern int mark_offset;
 1452 extern int max_active;
 1453 extern int max_art;
 1454 extern int max_base;
 1455 extern int max_newnews;
 1456 extern int max_save;
 1457 extern int max_scope;
 1458 extern int need_resize;
 1459 extern int num_active;
 1460 extern int num_newnews;
 1461 extern int num_of_tagged_arts;
 1462 extern int num_save;
 1463 extern int num_scope;
 1464 extern int signal_context;
 1465 extern int srch_lineno;
 1466 extern int system_status;
 1467 extern int this_resp;
 1468 extern int thread_basenote;
 1469 extern int tin_errno;
 1470 extern int top_art;
 1471 extern int xcol;
 1472 extern int xmouse;
 1473 extern int xrow;
 1474 
 1475 extern unsigned short debug;
 1476 
 1477 extern t_artnum *base;
 1478 
 1479 extern signed long int read_newsrc_lines;
 1480 
 1481 extern size_t tabwidth;
 1482 
 1483 extern pid_t process_id;
 1484 
 1485 #ifdef USE_HEAPSORT
 1486     extern int tin_sort(void *, size_t, size_t, t_compfunc);
 1487     extern constext *txt_sort_functions[];
 1488     extern struct opttxt txt_sort_function;
 1489 #endif /* USE_HEAPSORT */
 1490 
 1491 extern struct regex_cache strip_re_regex;
 1492 extern struct regex_cache strip_was_regex;
 1493 extern struct regex_cache uubegin_regex;
 1494 extern struct regex_cache uubody_regex;
 1495 extern struct regex_cache verbatim_begin_regex;
 1496 extern struct regex_cache verbatim_end_regex;
 1497 extern struct regex_cache url_regex;
 1498 extern struct regex_cache mail_regex;
 1499 extern struct regex_cache news_regex;
 1500 extern struct regex_cache shar_regex;
 1501 extern struct regex_cache slashes_regex;
 1502 extern struct regex_cache stars_regex;
 1503 extern struct regex_cache underscores_regex;
 1504 extern struct regex_cache strokes_regex;
 1505 #ifdef HAVE_COLOR
 1506     extern struct regex_cache extquote_regex;
 1507     extern struct regex_cache quote_regex;
 1508     extern struct regex_cache quote_regex2;
 1509     extern struct regex_cache quote_regex3;
 1510 #endif /* HAVE_COLOR */
 1511 
 1512 extern struct t_article *arts;
 1513 extern struct t_scope *scopes;
 1514 extern struct t_cmdlineopts cmdline;
 1515 extern struct t_config tinrc;
 1516 extern struct t_filters glob_filter;
 1517 extern struct t_group *active;
 1518 extern struct t_group *curr_group;
 1519 extern struct t_newnews *newnews;
 1520 extern struct t_option option_table[];
 1521 extern struct t_save *save;
 1522 extern struct t_capabilities nntp_caps;
 1523 
 1524 extern t_bool *OPT_ON_OFF_list[];
 1525 extern t_bool can_post;
 1526 extern t_bool check_for_new_newsgroups;
 1527 extern t_bool cmd_line;
 1528 extern t_bool created_rcdir;
 1529 extern t_bool dangerous_signal_exit; /* TRUE if SIGHUP, SIGTERM, SIGUSR1 */
 1530 #ifdef NNTP_ABLE
 1531     extern t_bool did_reconnect;
 1532     extern t_bool reconnected_in_last_get_server;
 1533 #endif /* NNTP_ABLE */
 1534 extern t_bool disable_gnksa_domain_check;
 1535 extern t_bool disable_sender;
 1536 extern t_bool force_no_post;
 1537 extern t_bool force_reread_active_file;
 1538 #if defined(NNTP_ABLE) && defined(INET6)
 1539     extern t_bool force_ipv4;
 1540     extern t_bool force_ipv6;
 1541 #endif /* NNTP_ABLE && INET6 */
 1542 extern t_bool have_linescroll;
 1543 extern t_bool list_active;
 1544 extern t_bool newsrc_active;
 1545 extern t_bool no_write;
 1546 extern t_bool post_article_and_exit;
 1547 extern t_bool post_postponed_and_exit;
 1548 extern t_bool range_active;
 1549 extern t_bool read_local_newsgroups_file;
 1550 extern t_bool read_news_via_nntp;
 1551 extern t_bool read_saved_news;
 1552 extern t_bool reread_active_for_posted_arts;
 1553 extern t_bool show_description;
 1554 extern t_bool show_subject;
 1555 extern t_bool use_nntps;
 1556 extern t_bool insecure_nntps;
 1557 extern t_bool batch_mode;
 1558 extern int verbose;
 1559 extern t_bool xref_supported;
 1560 extern t_bool expensive_over_parse;
 1561 
 1562 extern t_function last_search;
 1563 
 1564 extern t_menu selmenu;
 1565 extern t_menu grpmenu;
 1566 extern t_menu *currmenu;
 1567 
 1568 extern t_openartinfo pgart;
 1569 
 1570 extern struct t_overview_fmt *ofmt;
 1571 
 1572 enum {
 1573     HIST_OTHER = 0,
 1574     HIST_ART_SEARCH,
 1575     HIST_AUTHOR_SEARCH,
 1576     HIST_GOTO_GROUP,
 1577     HIST_GROUP_SEARCH,
 1578     HIST_MAIL_ADDRESS,
 1579     HIST_MESSAGE_ID,
 1580     HIST_MOVE_GROUP,
 1581     HIST_PIPE_COMMAND,
 1582     HIST_POST_NEWSGROUPS,
 1583     HIST_POST_SUBJECT,
 1584     HIST_REGEX_PATTERN,
 1585     HIST_REPOST_GROUP,
 1586     HIST_SAVE_FILE,
 1587     HIST_SELECT_PATTERN,
 1588     HIST_SHELL_COMMAND,
 1589     HIST_SUBJECT_SEARCH,
 1590     HIST_CONFIG_SEARCH,
 1591     HIST_URL
 1592 };
 1593 /* must always be the same as the highest HIST_ value except HIST_NONE */
 1594 #define HIST_MAXNUM     HIST_URL
 1595 #define HIST_NONE       (HIST_MAXNUM + 1)
 1596 #define HIST_SIZE       15  /* # items in each history */
 1597 
 1598 extern int hist_last[HIST_MAXNUM + 1];
 1599 extern int hist_pos[HIST_MAXNUM + 1];
 1600 extern char *input_history[HIST_MAXNUM + 1][HIST_SIZE + 1];
 1601 
 1602 
 1603 /* defines for GNKSA checking */
 1604 /* success/undefined failure */
 1605 #define GNKSA_OK            0
 1606 #define GNKSA_INTERNAL_ERROR        1
 1607 /* general syntax */
 1608 #define GNKSA_LANGLE_MISSING        100
 1609 #define GNKSA_LPAREN_MISSING        101
 1610 #define GNKSA_RPAREN_MISSING        102
 1611 #define GNKSA_ATSIGN_MISSING        103
 1612 #define GNKSA_RANGLE_MISSING        104
 1613 /* FQDN checks */
 1614 #define GNKSA_SINGLE_DOMAIN     200
 1615 #define GNKSA_INVALID_DOMAIN        201
 1616 #define GNKSA_ILLEGAL_DOMAIN        202
 1617 #define GNKSA_UNKNOWN_DOMAIN        203
 1618 #define GNKSA_INVALID_FQDN_CHAR     204
 1619 #define GNKSA_ZERO_LENGTH_LABEL     205
 1620 #define GNKSA_ILLEGAL_LABEL_LENGTH  206
 1621 #define GNKSA_ILLEGAL_LABEL_HYPHEN  207
 1622 #define GNKSA_ILLEGAL_LABEL_BEGNUM  208
 1623 #define GNKSA_BAD_DOMAIN_LITERAL    209
 1624 #define GNKSA_LOCAL_DOMAIN_LITERAL  210
 1625 #define GNKSA_RBRACKET_MISSING      211
 1626 /* localpart checks */
 1627 #define GNKSA_LOCALPART_MISSING     300
 1628 #define GNKSA_INVALID_LOCALPART     301
 1629 #define GNKSA_ZERO_LENGTH_LOCAL_WORD    302
 1630 /* realname checks */
 1631 #define GNKSA_ILLEGAL_UNQUOTED_CHAR 400
 1632 #define GNKSA_ILLEGAL_QUOTED_CHAR   401
 1633 #define GNKSA_ILLEGAL_ENCODED_CHAR  402
 1634 #define GNKSA_BAD_ENCODE_SYNTAX     403
 1635 #define GNKSA_ILLEGAL_PAREN_CHAR        404
 1636 #define GNKSA_INVALID_REALNAME      405
 1637 #define GNKSA_MISSING_REALNAME      406
 1638 
 1639 /* address types */
 1640 #define GNKSA_ADDRTYPE_ROUTE    0
 1641 #define GNKSA_ADDRTYPE_OLDSTYLE 1
 1642 
 1643 #ifndef DONT_HAVE_PIPING
 1644     extern constext txt_pipe[];
 1645     extern constext txt_pipe_to_command[];
 1646     extern constext txt_piping[];
 1647 #else
 1648     extern constext txt_piping_not_enabled[];
 1649 #endif /* !DONT_HAVE_PIPING */
 1650 
 1651 #ifdef FORGERY
 1652     extern constext txt_warn_cancel_forgery[];
 1653 #else
 1654     extern constext txt_art_cannot_cancel[];
 1655     extern constext txt_error_sender_in_header_not_allowed[];
 1656 #   ifdef NNTP_INEWS
 1657     extern constext txt_invalid_sender[];
 1658 #   endif /* NNTP_INEWS */
 1659 #endif /* FORGERY */
 1660 
 1661 extern t_bool word_highlight;
 1662 #ifdef HAVE_COLOR
 1663     extern constext txt_tinrc_colors[];
 1664     extern int default_bcol;
 1665     extern int default_fcol;
 1666     extern t_bool use_color;
 1667 #   ifdef USE_CURSES
 1668         extern constext txt_no_colorterm[];
 1669 #   endif /* USE_CURSES */
 1670 #endif /* HAVE_COLOR */
 1671 
 1672 #ifdef HAVE_FASCIST_NEWSADMIN
 1673     extern constext txt_error_followup_to_several_groups[];
 1674     extern constext txt_error_grp_renamed[];
 1675     extern constext txt_error_missing_followup_to[];
 1676     extern constext txt_error_not_valid_newsgroup[];
 1677 #endif /* HAVE_FASCIST_NEWSADMIN */
 1678 
 1679 
 1680 #ifndef ALLOW_FWS_IN_NEWSGROUPLIST
 1681     extern constext txt_error_header_line_comma[];
 1682     extern constext txt_error_header_line_groups_contd[];
 1683 #endif /* !ALLOW_FWS_IN_NEWSGROUPLIST */
 1684 
 1685 #ifdef HAVE_PGP_GPG
 1686     extern constext txt_pgp_add[];
 1687     extern constext txt_pgp_mail[];
 1688     extern constext txt_pgp_news[];
 1689     extern constext txt_pgp_not_avail[];
 1690     extern constext txt_pgp_nothing[];
 1691 #endif /* HAVE_PGP_GPG */
 1692 
 1693 #ifdef HAVE_SYS_UTSNAME_H
 1694     extern struct utsname system_info;
 1695 #endif /* HAVE_SYS_UTSNAME_H */
 1696 
 1697 extern constext txt_art_deleted[];
 1698 extern constext txt_art_undeleted[];
 1699 extern constext txt_intro_page[];
 1700 extern constext txt_processing_mail_arts[];
 1701 extern constext txt_processing_saved_arts[];
 1702 
 1703 #ifdef HAVE_MH_MAIL_HANDLING
 1704     extern constext txt_reading_mail_active_file[];
 1705     extern constext txt_reading_mailgroups_file[];
 1706 #endif /* HAVE_MH_MAIL_HANDLING */
 1707 
 1708 #ifndef NO_ETIQUETTE
 1709     extern constext txt_warn_posting_etiquette[];
 1710 #endif /* NO_ETIQUETTE */
 1711 
 1712 #if !defined(USE_CURSES)
 1713     extern struct t_screen *screen;
 1714 #endif /* !USE_CURSES */
 1715 
 1716 #ifdef NNTP_ABLE
 1717     extern constext txt_nntp_ok_goodbye[];
 1718     extern unsigned short nntp_tcp_port;
 1719     extern unsigned short nntp_tcp_default_port;
 1720 #ifdef NNTPS_ABLE
 1721     extern unsigned short nntps_tcp_default_port;
 1722 #endif /* NNTPS_ABLE */
 1723     extern t_bool force_auth_on_conn_open;
 1724 #endif /* NNTP_ABLE */
 1725 
 1726 extern struct opttxt txt_abbreviate_groupname;
 1727 extern struct opttxt txt_add_posted_to_filter;
 1728 extern struct opttxt txt_advertising;
 1729 extern struct opttxt txt_alternative_handling;
 1730 extern struct opttxt txt_art_marked_deleted;
 1731 extern struct opttxt txt_art_marked_inrange;
 1732 extern struct opttxt txt_art_marked_killed;
 1733 extern struct opttxt txt_art_marked_read;
 1734 extern struct opttxt txt_art_marked_read_selected;
 1735 extern struct opttxt txt_art_marked_recent;
 1736 extern struct opttxt txt_art_marked_return;
 1737 extern struct opttxt txt_art_marked_selected;
 1738 extern struct opttxt txt_art_marked_unread;
 1739 extern struct opttxt txt_ask_for_metamail;
 1740 extern struct opttxt txt_auto_cc_bcc;
 1741 extern struct opttxt txt_auto_list_thread;
 1742 extern struct opttxt txt_auto_reconnect;
 1743 extern struct opttxt txt_auto_select;
 1744 extern struct opttxt txt_delete_tmp_files;
 1745 extern struct opttxt txt_batch_save;
 1746 extern struct opttxt txt_beginner_level;
 1747 extern struct opttxt txt_cache_overview_files;
 1748 #ifdef USE_CANLOCK
 1749     extern struct opttxt txt_cancel_lock_algo;
 1750 #endif /* USE_CANLOCK */
 1751 extern struct opttxt txt_catchup_read_groups;
 1752 #ifdef HAVE_COLOR
 1753     extern struct opttxt txt_color_options;
 1754 #else
 1755     extern struct opttxt txt_highlight_options;
 1756 #endif /* HAVE_COLOR */
 1757 extern struct opttxt txt_confirm_choice;
 1758 extern struct opttxt txt_date_format;
 1759 extern struct opttxt txt_display_options;
 1760 extern struct opttxt txt_draw_arrow;
 1761 extern struct opttxt txt_editor_format;
 1762 extern struct opttxt txt_expert_options;
 1763 extern struct opttxt txt_fcc;
 1764 extern struct opttxt txt_filter_days;
 1765 extern struct opttxt txt_filtering_options;
 1766 extern struct opttxt txt_followup_to;
 1767 extern struct opttxt txt_force_screen_redraw;
 1768 extern struct opttxt txt_from;
 1769 extern struct opttxt txt_getart_limit;
 1770 extern struct opttxt txt_getart_limit_options;
 1771 extern struct opttxt txt_goto_next_unread;
 1772 extern struct opttxt txt_group_catchup_on_exit;
 1773 extern struct opttxt txt_group_format;
 1774 extern struct opttxt txt_hide_uue;
 1775 extern struct opttxt txt_inews_prog;
 1776 extern struct opttxt txt_interactive_mailer;
 1777 extern struct opttxt txt_inverse_okay;
 1778 #ifdef HAVE_ISPELL
 1779     extern struct opttxt txt_ispell;
 1780 #endif /* HAVE_ISPELL */
 1781 extern struct opttxt txt_keep_dead_articles;
 1782 extern struct opttxt txt_kill_level;
 1783 extern struct opttxt txt_mail_8bit_header;
 1784 extern struct opttxt txt_mail_address;
 1785 extern struct opttxt txt_mail_mime_encoding;
 1786 extern struct opttxt txt_mail_quote_format;
 1787 extern struct opttxt txt_mailbox_format;
 1788 extern struct opttxt txt_maildir;
 1789 extern struct opttxt txt_mailing_list;
 1790 extern struct opttxt txt_mailer_format;
 1791 extern struct opttxt txt_mark_ignore_tags;
 1792 extern struct opttxt txt_mark_saved_read;
 1793 extern struct opttxt txt_mime_forward;
 1794 extern struct opttxt txt_mime_types_to_save;
 1795 extern struct opttxt txt_mono_markstar;
 1796 extern struct opttxt txt_mono_markdash;
 1797 extern struct opttxt txt_mono_markslash;
 1798 extern struct opttxt txt_mono_markstroke;
 1799 #ifndef CHARSET_CONVERSION
 1800     extern struct opttxt txt_mm_charset;
 1801 #else
 1802 #   ifdef NO_LOCALE
 1803         extern struct opttxt txt_mm_local_charset;
 1804 #   endif /* NO_LOCALE */
 1805 #endif /* CHARSET_CONVERSION */
 1806 extern struct opttxt txt_metamail_prog;
 1807 extern struct opttxt txt_news_headers_to_display;
 1808 extern struct opttxt txt_news_headers_to_not_display;
 1809 extern struct opttxt txt_news_quote_format;
 1810 #if defined(HAVE_ALARM) && defined(SIGALRM)
 1811     extern struct opttxt txt_nntp_read_timeout_secs;
 1812 #endif /* HAVE_ALARM && SIGALRM */
 1813 extern struct opttxt txt_organization;
 1814 extern struct opttxt txt_pos_first_unread;
 1815 extern struct opttxt txt_post_8bit_header;
 1816 extern struct opttxt txt_post_mime_encoding;
 1817 extern struct opttxt txt_post_process_type;
 1818 extern struct opttxt txt_post_process_view;
 1819 extern struct opttxt txt_posted_articles_file;
 1820 extern struct opttxt txt_posting_options;
 1821 #ifndef DISABLE_PRINTING
 1822     extern struct opttxt txt_print_header;
 1823     extern struct opttxt txt_printer;
 1824 #endif /* !DISABLE_PRINTING */
 1825 extern struct opttxt txt_process_only_unread;
 1826 extern struct opttxt txt_prompt_followupto;
 1827 extern struct opttxt txt_quick_select_scope;
 1828 extern struct opttxt txt_quick_select_header;
 1829 extern struct opttxt txt_quick_select_case;
 1830 extern struct opttxt txt_quick_select_expire;
 1831 extern struct opttxt txt_quick_kill_scope;
 1832 extern struct opttxt txt_quick_kill_header;
 1833 extern struct opttxt txt_quick_kill_case;
 1834 extern struct opttxt txt_quick_kill_expire;
 1835 extern struct opttxt txt_quote_chars;
 1836 extern struct opttxt txt_quote_style;
 1837 extern struct opttxt txt_recent_time;
 1838 extern struct opttxt txt_reread_active_file_secs;
 1839 extern struct opttxt txt_savedir;
 1840 extern struct opttxt txt_savefile;
 1841 extern struct opttxt txt_saving_options;
 1842 extern struct opttxt txt_score_limit_kill;
 1843 extern struct opttxt txt_score_limit_select;
 1844 extern struct opttxt txt_score_kill;
 1845 extern struct opttxt txt_score_select;
 1846 extern struct opttxt txt_scroll_lines;
 1847 extern struct opttxt txt_select_format;
 1848 extern struct opttxt txt_show_author;
 1849 extern struct opttxt txt_show_description;
 1850 extern struct opttxt txt_show_help_mail_sign;
 1851 extern struct opttxt txt_show_only_unread_arts;
 1852 extern struct opttxt txt_show_only_unread_groups;
 1853 extern struct opttxt txt_show_signatures;
 1854 extern struct opttxt txt_sigdashes;
 1855 extern struct opttxt txt_sigfile;
 1856 extern struct opttxt txt_signature_repost;
 1857 extern struct opttxt txt_slashes_regex;
 1858 extern struct opttxt txt_sort_article_type;
 1859 extern struct opttxt txt_sort_threads_type;
 1860 extern struct opttxt txt_spamtrap_warning_addresses;
 1861 extern struct opttxt txt_stars_regex;
 1862 #ifndef USE_CURSES
 1863     extern struct opttxt txt_strip_blanks;
 1864 #endif /* !USE_CURSES */
 1865 extern struct opttxt txt_strip_bogus;
 1866 extern struct opttxt txt_strip_newsrc;
 1867 extern struct opttxt txt_strip_re_regex;
 1868 extern struct opttxt txt_strip_was_regex;
 1869 extern struct opttxt txt_strokes_regex;
 1870 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 1871     extern struct opttxt txt_suppress_soft_hyphens;
 1872 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 1873 extern struct opttxt txt_tex2iso_conv;
 1874 extern struct opttxt txt_thread_articles;
 1875 extern struct opttxt txt_thread_perc;
 1876 extern struct opttxt txt_thread_catchup_on_exit;
 1877 extern struct opttxt txt_thread_format;
 1878 extern struct opttxt txt_thread_score;
 1879 extern struct opttxt txt_trim_article_body;
 1880 #ifdef NNTPS_ABLE
 1881 extern struct opttxt txt_tls_ca_cert_file;
 1882 #endif /* NNTPS_ABLE */
 1883 extern struct opttxt txt_underscores_regex;
 1884 extern struct opttxt txt_unlink_article;
 1885 extern struct opttxt txt_url_handler;
 1886 extern struct opttxt txt_url_highlight;
 1887 extern struct opttxt txt_use_mouse;
 1888 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 1889     extern struct opttxt txt_utf8_graphics;
 1890 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 1891 extern struct opttxt txt_verbatim_begin_regex;
 1892 extern struct opttxt txt_verbatim_end_regex;
 1893 extern struct opttxt txt_verbatim_handling;
 1894 extern struct opttxt txt_wildcard;
 1895 extern struct opttxt txt_word_highlight;
 1896 extern struct opttxt txt_word_h_display_marks;
 1897 extern struct opttxt txt_wrap_column;
 1898 extern struct opttxt txt_wrap_on_next_unread;
 1899 extern struct opttxt txt_x_body;
 1900 extern struct opttxt txt_x_comment_to;
 1901 extern struct opttxt txt_x_headers;
 1902 extern struct opttxt txt_xpost_quote_format;
 1903 #ifdef CHARSET_CONVERSION
 1904     extern struct opttxt txt_mm_network_charset;
 1905     extern struct opttxt txt_undeclared_charset;
 1906 #endif /* CHARSET_CONVERSION */
 1907 #ifdef HAVE_COLOR
 1908     extern struct opttxt txt_quote_regex;
 1909     extern struct opttxt txt_quote_regex2;
 1910     extern struct opttxt txt_quote_regex3;
 1911     extern struct opttxt txt_extquote_handling;
 1912     extern struct opttxt txt_extquote_regex;
 1913     extern struct opttxt txt_use_color;
 1914     extern struct opttxt txt_col_normal;
 1915     extern struct opttxt txt_col_back;
 1916     extern struct opttxt txt_col_invers_bg;
 1917     extern struct opttxt txt_col_invers_fg;
 1918     extern struct opttxt txt_col_text;
 1919     extern struct opttxt txt_col_minihelp;
 1920     extern struct opttxt txt_col_help;
 1921     extern struct opttxt txt_col_message;
 1922     extern struct opttxt txt_col_quote;
 1923     extern struct opttxt txt_col_quote2;
 1924     extern struct opttxt txt_col_quote3;
 1925     extern struct opttxt txt_col_extquote;
 1926     extern struct opttxt txt_col_head;
 1927     extern struct opttxt txt_col_newsheaders;
 1928     extern struct opttxt txt_col_subject;
 1929     extern struct opttxt txt_col_response;
 1930     extern struct opttxt txt_col_from;
 1931     extern struct opttxt txt_col_title;
 1932     extern struct opttxt txt_col_signature;
 1933     extern struct opttxt txt_col_urls;
 1934     extern struct opttxt txt_col_verbatim;
 1935     extern struct opttxt txt_col_markstar;
 1936     extern struct opttxt txt_col_markdash;
 1937     extern struct opttxt txt_col_markslash;
 1938     extern struct opttxt txt_col_markstroke;
 1939 #endif /* HAVE_COLOR */
 1940 #ifdef HAVE_ICONV_OPEN_TRANSLIT
 1941     extern struct opttxt txt_translit;
 1942 #endif /* HAVE_ICONV_OPEN_TRANSLIT */
 1943 #ifdef HAVE_KEYPAD
 1944     extern struct opttxt txt_use_keypad;
 1945 #endif /* HAVE_KEYPAD */
 1946 #ifdef XFACE_ABLE
 1947     extern struct opttxt txt_use_slrnface;
 1948 #endif /* XFACE_ABLE */
 1949 #ifdef HAVE_UNICODE_NORMALIZATION
 1950     extern struct opttxt txt_normalization_form;
 1951 #endif /* HAVE_UNICODE_NORMALIZATION */
 1952 #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE)
 1953     extern struct opttxt txt_render_bidi;
 1954 #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */
 1955 #endif /* !EXTERN_H */