"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.2/include/extern.h" (8 Dec 2017, 68597 Bytes) of package /linux/misc/tin-2.4.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.4.1_vs_2.4.2.

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