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