"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.1/include/extern.h" (12 Oct 2016, 68418 Bytes) of archive /linux/misc/tin-2.4.1.tar.gz:


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.0_vs_2.4.1.

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