"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.6.1/include/extern.h" (22 Dec 2021, 69348 Bytes) of package /linux/misc/tin-2.6.1.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.0_vs_2.6.1.

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