1 /* 2 * $LynxId: LYGlobalDefs.h,v 1.153 2020/02/23 23:10:16 Keith.Bowes Exp $ 3 * 4 * global variable definitions 5 */ 6 7 #ifndef LYGLOBALDEFS_H 8 #define LYGLOBALDEFS_H 9 10 #ifndef HTUTILS_H 11 #include <HTUtils.h> 12 #endif /* HTUTILS_H */ 13 14 #ifndef LYSTRUCTS_H 15 #include <LYStructs.h> 16 #endif /* LYSTRUCTS_H */ 17 18 /* Of the following definitions, currently unused are and could 19 be removed (at least): 20 CURRENT_KEYMAP_HELP 21 */ 22 #if defined(HAVE_CONFIG_H) && defined(HAVE_LYHELP_H) 23 #include <LYHelp.h> 24 #else 25 #define ALT_EDIT_HELP "keystrokes/alt_edit_help.html" 26 #define BASHLIKE_EDIT_HELP "keystrokes/bashlike_edit_help.html" 27 #define COOKIE_JAR_HELP "Lynx_users_guide.html#Cookies" 28 #define CACHE_JAR_HELP "Lynx_users_guide.html#Cache" 29 #define CURRENT_KEYMAP_HELP "keystrokes/keystroke_help.html" 30 #define DIRED_MENU_HELP "keystrokes/dired_help.html" 31 #define DOWNLOAD_OPTIONS_HELP "Lynx_users_guide.html#RemoteSource" 32 #define EDIT_HELP "keystrokes/edit_help.html" 33 #define HISTORY_PAGE_HELP "keystrokes/history_help.html" 34 #define LIST_PAGE_HELP "keystrokes/follow_help.html" 35 #define LYNXCFG_HELP "lynx.cfg" 36 #define OPTIONS_HELP "keystrokes/option_help.html" 37 #define PRINT_OPTIONS_HELP "keystrokes/print_help.html" 38 #define UPLOAD_OPTIONS_HELP "Lynx_users_guide.html#DirEd" 39 #define VISITED_LINKS_HELP "keystrokes/visited_help.html" 40 #endif /* LYHELP_H */ 41 42 #ifdef USE_SOURCE_CACHE 43 #include <HTChunk.h> 44 #endif 45 46 #include <LYMail.h> /* to get ifdef's for mail-variables */ 47 48 #ifdef __cplusplus 49 extern "C" { 50 #endif 51 #ifdef SOCKS 52 extern BOOLEAN socks_flag; 53 extern unsigned long socks_bind_remoteAddr; 54 #endif /* SOCKS */ 55 56 #ifdef IGNORE_CTRL_C 57 extern BOOLEAN sigint; 58 #endif /* IGNORE_CTRL_C */ 59 60 #if USE_VMS_MAILER 61 extern char *mail_adrs; 62 extern BOOLEAN UseFixedRecords; /* convert binary files to FIXED 512 records */ 63 #endif /* VMS */ 64 65 #ifndef VMS 66 extern char *list_format; 67 #endif /* !VMS */ 68 extern char *ftp_format; 69 70 typedef enum { 71 BAD_HTML_IGNORE = 0 72 ,BAD_HTML_TRACE 73 ,BAD_HTML_MESSAGE 74 ,BAD_HTML_WARN 75 } enumBadHtml; 76 77 extern int cfg_bad_html; /* enumBadHtml */ 78 79 #ifdef DIRED_SUPPORT 80 81 typedef enum { 82 DIRS_FIRST = 0 83 ,FILES_FIRST 84 ,MIXED_STYLE 85 } enumDirListStyle; 86 87 typedef enum { 88 ORDER_BY_NAME 89 ,ORDER_BY_SIZE 90 ,ORDER_BY_DATE 91 ,ORDER_BY_MODE 92 ,ORDER_BY_TYPE 93 ,ORDER_BY_USER 94 ,ORDER_BY_GROUP 95 } enumDirListOrder; 96 97 extern BOOLEAN lynx_edit_mode; 98 extern BOOLEAN no_dired_support; 99 extern HTList *tagged; 100 extern int LYAutoUncacheDirLists; 101 extern int dir_list_style; /* enumDirListStyle */ 102 extern int dir_list_order; /* enumDirListOrder */ 103 104 #ifdef OK_OVERRIDE 105 extern BOOLEAN prev_lynx_edit_mode; 106 #endif /* OK_OVERRIDE */ 107 108 #ifdef OK_PERMIT 109 extern BOOLEAN no_change_exec_perms; 110 #endif /* OK_PERMIT */ 111 112 #endif /* DIRED_SUPPORT */ 113 114 extern int HTCacheSize; /* the number of documents cached in memory */ 115 116 #if defined(VMS) && defined(VAXC) && !defined(__DECC) 117 extern int HTVirtualMemorySize; /* bytes allocated and not yet freed */ 118 #endif /* VMS && VAXC && !__DECC */ 119 120 #if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS) 121 extern BOOLEAN local_exec; /* TRUE to enable local program execution */ 122 extern BOOLEAN local_exec_on_local_files; /* TRUE to enable local program * 123 124 * execution in local files only */ 125 #endif /* defined(EXEC_LINKS) || defined(EXEC_SCRIPTS) */ 126 127 #if defined(LYNXCGI_LINKS) && !defined(VMS) /* WebSter Mods -jkt */ 128 extern char *LYCgiDocumentRoot; /* DOCUMENT_ROOT in the lynxcgi env */ 129 #endif /* LYNXCGI_LINKS */ 130 131 /* Values to which keypad_mode can be set */ 132 #define NUMBERS_AS_ARROWS 0 133 #define LINKS_ARE_NUMBERED 1 134 #define LINKS_AND_FIELDS_ARE_NUMBERED 2 135 #define FIELDS_ARE_NUMBERED 3 136 137 #define links_are_numbered() \ 138 (keypad_mode == LINKS_ARE_NUMBERED || \ 139 keypad_mode == LINKS_AND_FIELDS_ARE_NUMBERED) 140 141 #define fields_are_numbered() \ 142 (keypad_mode == FIELDS_ARE_NUMBERED || \ 143 keypad_mode == LINKS_AND_FIELDS_ARE_NUMBERED) 144 #define fields_are_named() \ 145 (user_mode == ADVANCED_MODE) 146 147 #define HIDDENLINKS_MERGE 0 148 #define HIDDENLINKS_SEPARATE 1 149 #define HIDDENLINKS_IGNORE 2 150 151 #define NOVICE_MODE 0 152 #define INTERMEDIATE_MODE 1 153 #define ADVANCED_MODE 2 154 extern BOOLEAN LYUseNoviceLineTwo; /* True if TOGGLE_HELP is not mapped */ 155 156 #define MAX_LINE 1024 /* No window can be wider than this */ 157 #define MAX_COLS (MAX_LINE-10) /* we don't expect wider than this */ 158 #define DFT_COLS 80 /* ...and normally only this */ 159 #define DFT_ROWS 24 /* ...corresponding nominal height */ 160 161 extern char star_string[MAX_LINE + 1]; /* from GridText.c */ 162 163 #define STARS(n) \ 164 ((n) >= MAX_LINE ? star_string : &star_string[(MAX_LINE-1)] - (n)) 165 166 typedef enum { 167 SHOW_COLOR_UNKNOWN = -1 168 ,SHOW_COLOR_NEVER = 0 /* positive numbers are index in LYOptions.c */ 169 ,SHOW_COLOR_OFF 170 ,SHOW_COLOR_ON 171 ,SHOW_COLOR_ALWAYS 172 } enumShowColor; 173 174 extern int LYShowColor; /* Show color or monochrome? */ 175 extern int LYrcShowColor; /* ... as read or last written */ 176 177 typedef enum { 178 MBM_OFF = 0 179 ,MBM_STANDARD 180 ,MBM_ADVANCED 181 } enumMultiBookmarks; 182 183 #if !defined(NO_OPTION_FORMS) && !defined(NO_OPTION_MENU) 184 extern BOOLEAN LYUseFormsOptions; /* use Forms-based options menu */ 185 186 #else 187 #define LYUseFormsOptions FALSE /* simplify ifdef'ing in LYMainLoop.c */ 188 #endif 189 190 typedef enum { 191 rateOFF = 0 192 ,rateBYTES = 1 193 ,rateKB 194 #ifdef USE_READPROGRESS 195 ,rateEtaBYTES 196 ,rateEtaKB 197 ,rateEtaBYTES2 198 ,rateEtaKB2 199 #endif 200 #ifdef USE_PROGRESSBAR 201 ,rateBAR 202 #endif 203 } TransferRate; 204 205 #ifdef USE_READPROGRESS 206 # define isRateInKB(n) ((n) == rateKB || (n) == rateEtaKB || (n) == rateEtaKB2) 207 #else 208 # define isRateInKB(n) ((n) == rateKB) 209 #endif 210 211 #define TITLE_LINES 1 212 213 extern BOOLEAN LYCursesON; /* start_curses()->TRUE, stop_curses()->FALSE */ 214 extern BOOLEAN LYJumpFileURL; /* URL from the jump file shortcuts? */ 215 extern BOOLEAN LYNewsPosting; /* News posting supported if TRUE */ 216 extern BOOLEAN LYAutoSession; /* Auto restore/save session? */ 217 extern BOOLEAN LYShowCursor; /* Show the cursor or hide it? */ 218 extern BOOLEAN LYShowTransferRate; 219 extern BOOLEAN LYUnderlineLinks; /* Show the links underlined vs bold */ 220 extern BOOLEAN LYUseDefShoCur; /* Command line -show_cursor toggle */ 221 extern BOOLEAN LYUserSpecifiedURL; /* URL from a goto or document? */ 222 extern BOOLEAN LYfind_leaks; 223 extern BOOLEAN LYforce_HTML_mode; 224 extern BOOLEAN LYforce_no_cache; 225 extern BOOLEAN LYinternal_flag; /* don't need fresh copy, was internal link */ 226 extern BOOLEAN LYoverride_no_cache; /* don't need fresh copy, from history */ 227 extern BOOLEAN LYresubmit_posts; 228 extern BOOLEAN LYtrimBlankLines; 229 extern BOOLEAN LYtrimInputFields; 230 extern BOOLEAN LYxhtml_parsing; 231 extern BOOLEAN bold_H1; 232 extern BOOLEAN bold_headers; 233 extern BOOLEAN bold_name_anchors; 234 extern BOOLEAN LYcase_sensitive; /* TRUE to turn on case sensitive search */ 235 extern BOOLEAN check_mail; /* TRUE to report unread/new mail messages */ 236 extern BOOLEAN child_lynx; /* TRUE to exit with an arrow */ 237 extern BOOLEAN dump_links_decoded; 238 extern BOOLEAN dump_links_inline; 239 extern BOOLEAN dump_links_only; 240 extern BOOLEAN dump_output_immediately; 241 extern BOOLEAN dump_to_stderr; 242 extern BOOLEAN emacs_keys; /* TRUE to turn on emacs-like key movement */ 243 extern BOOLEAN error_logging; /* TRUE to mail error messages */ 244 extern BOOLEAN ftp_ok; 245 extern BOOLEAN goto_buffer; /* TRUE if offering default goto URL */ 246 extern BOOLEAN is_www_index; 247 extern BOOLEAN jump_buffer; /* TRUE if offering default shortcut */ 248 extern BOOLEAN long_url_ok; 249 extern BOOLEAN lynx_mode; 250 extern BOOLEAN more_text; /* is there more document to display? */ 251 extern BOOLEAN news_ok; 252 extern BOOLEAN number_fields_on_left; 253 extern BOOLEAN number_links_on_left; 254 extern BOOLEAN recent_sizechange; 255 extern BOOLEAN rlogin_ok; 256 extern BOOLEAN syslog_requested_urls; 257 extern BOOLEAN system_editor; /* True if locked-down editor */ 258 extern BOOLEAN telnet_ok; 259 extern BOOLEAN verbose_img; /* display filenames of images? */ 260 extern BOOLEAN vi_keys; /* TRUE to turn on vi-like key movement */ 261 262 extern HTList *Goto_URLs; 263 extern HTList *positionable_editor; 264 265 extern char *LYRequestReferer; /* Referer, may be set in getfile() */ 266 extern char *LYRequestTitle; /* newdoc.title in calls to getfile() */ 267 extern char *LYTransferName; /* abbreviation for Kilobytes */ 268 extern char *LynxHome; 269 #ifdef USE_SESSIONS 270 extern char *LYSessionFile; /* file for auto-session */ 271 extern char *session_file; /* file for -session= */ 272 extern char *sessionin_file; /* file for -sessionin= */ 273 extern char *sessionout_file; /* file for -sessionout= */ 274 #endif 275 extern char *LynxSigFile; /* Signature file, in or off home */ 276 extern char *helpfile; 277 extern char *helpfilepath; 278 extern char *jumpprompt; /* The default jump statusline prompt */ 279 extern char *language; 280 extern char *lynx_cfg_file; /* location of active lynx.cfg file */ 281 extern char *lynx_cmd_logfile; /* file to write keystroke commands, if any */ 282 extern char *lynx_cmd_script; /* file to read keystroke commands, if any */ 283 extern char *lynx_save_space; 284 extern char *lynx_temp_space; 285 extern char *lynxjumpfile; 286 extern char *lynxlinksfile; 287 extern char *lynxlistfile; 288 extern char *original_dir; 289 extern char *pref_charset; /* Lynx's preferred character set - MM */ 290 extern char *startfile; 291 extern char *syslog_txt; /* syslog arb text for session */ 292 extern char *system_mail; 293 extern char *system_mail_flags; 294 extern char *x_display; 295 extern char empty_string[]; 296 297 extern const char *checked_box; /* form boxes */ 298 extern const char *checked_radio; /* form radio buttons */ 299 extern const char *unchecked_box; /* form boxes */ 300 extern const char *unchecked_radio; /* form radio buttons */ 301 302 extern int LYAcceptEncoding; 303 extern int LYAcceptMedia; 304 extern int LYContentType; 305 extern const char *ContentTypes[]; 306 extern int LYTransferRate; /* see enum TransferRate */ 307 extern int display_lines; /* number of lines in the display */ 308 extern int dump_output_width; 309 extern int dump_server_status; 310 extern int keypad_mode; /* NUMBERS_AS_ARROWS or LINKS_ARE_NUMBERED */ 311 extern int lynx_temp_subspace; 312 extern int max_cookies_buffer; 313 extern int max_cookies_domain; 314 extern int max_cookies_global; 315 extern int max_uri_size; 316 #ifdef USE_SESSIONS 317 extern short session_limit; /* maximal entries saved/restored 318 in session file */ 319 #endif 320 extern int user_mode; /* novice or advanced */ 321 extern int www_search_result; 322 323 extern BOOLEAN exec_frozen; 324 extern BOOLEAN had_restrictions_all; /* parsed these restriction options */ 325 extern BOOLEAN had_restrictions_default; /* flags to note whether we have... */ 326 extern BOOLEAN no_bookmark; 327 extern BOOLEAN no_bookmark_exec; 328 extern BOOLEAN no_chdir; 329 extern BOOLEAN no_compileopts_info; 330 extern BOOLEAN no_disk_save; 331 extern BOOLEAN no_dotfiles; 332 extern BOOLEAN no_download; 333 extern BOOLEAN no_editor; 334 extern BOOLEAN no_exec; 335 extern BOOLEAN no_file_url; 336 extern BOOLEAN no_goto; 337 extern BOOLEAN no_goto_configinfo; 338 extern BOOLEAN no_goto_cso; 339 extern BOOLEAN no_goto_file; 340 extern BOOLEAN no_goto_finger; 341 extern BOOLEAN no_goto_ftp; 342 extern BOOLEAN no_goto_gopher; 343 extern BOOLEAN no_goto_http; 344 extern BOOLEAN no_goto_https; 345 extern BOOLEAN no_goto_lynxcgi; 346 extern BOOLEAN no_goto_lynxexec; 347 extern BOOLEAN no_goto_lynxprog; 348 extern BOOLEAN no_goto_mailto; 349 extern BOOLEAN no_goto_news; 350 extern BOOLEAN no_goto_nntp; 351 extern BOOLEAN no_goto_rlogin; 352 extern BOOLEAN no_goto_snews; 353 extern BOOLEAN no_goto_telnet; 354 extern BOOLEAN no_goto_tn3270; 355 extern BOOLEAN no_goto_wais; 356 extern BOOLEAN no_inside_ftp; 357 extern BOOLEAN no_inside_news; 358 extern BOOLEAN no_inside_rlogin; 359 extern BOOLEAN no_inside_telnet; /* this and following are restrictions */ 360 extern BOOLEAN no_jump; 361 extern BOOLEAN no_lynxcfg_info; 362 extern BOOLEAN no_lynxcfg_xinfo; 363 extern BOOLEAN no_lynxcgi; 364 extern BOOLEAN no_mail; 365 extern BOOLEAN no_multibook; 366 extern BOOLEAN no_newspost; 367 extern BOOLEAN no_option_save; 368 extern BOOLEAN no_outside_ftp; 369 extern BOOLEAN no_outside_news; 370 extern BOOLEAN no_outside_rlogin; 371 extern BOOLEAN no_outside_telnet; 372 extern BOOLEAN no_print; /* TRUE to disable printing */ 373 extern BOOLEAN no_shell; 374 extern BOOLEAN no_suspend; 375 extern BOOLEAN no_telnet_port; 376 extern BOOLEAN no_useragent; 377 378 extern BOOLEAN no_statusline; 379 extern BOOLEAN no_filereferer; 380 extern char LYRefererWithQuery; /* 'S', 'P', or 'D' */ 381 extern BOOLEAN local_host_only; 382 extern BOOLEAN override_no_download; 383 extern BOOLEAN show_dotfiles; /* From rcfile if no_dotfiles is false */ 384 extern char *indexfile; 385 extern char *anonftp_password; 386 extern char *personal_mail_address; 387 extern char *personal_mail_name; 388 extern char *homepage; /* startfile or command line argument */ 389 extern char *editor; /* if non empty it enables edit mode with 390 391 * the editor that is named */ 392 extern char *jumpfile; 393 extern char *bookmark_page; 394 extern char *BookmarkPage; 395 extern char *personal_type_map; 396 extern char *global_type_map; 397 extern char *global_extension_map; 398 extern char *personal_extension_map; 399 extern char *LYHostName; 400 extern char *LYLocalDomain; 401 extern BOOLEAN LYGuessScheme; 402 extern BOOLEAN unique_urls; 403 extern BOOLEAN use_underscore; 404 extern BOOLEAN no_list; 405 extern BOOLEAN no_margins; 406 extern BOOLEAN no_pause; 407 extern BOOLEAN no_title; 408 extern BOOLEAN update_term_title; 409 extern BOOLEAN historical_comments; 410 extern BOOLEAN html5_charsets; 411 extern BOOLEAN minimal_comments; 412 extern BOOLEAN soft_dquotes; 413 414 #ifdef USE_SOURCE_CACHE 415 extern BOOLEAN source_cache_file_error; 416 extern int LYCacheSource; 417 418 #define SOURCE_CACHE_NONE 0 419 #define SOURCE_CACHE_FILE 1 420 #define SOURCE_CACHE_MEMORY 2 421 422 extern int LYCacheSourceForAborted; 423 424 #define SOURCE_CACHE_FOR_ABORTED_KEEP 1 425 #define SOURCE_CACHE_FOR_ABORTED_DROP 0 426 #endif 427 428 extern BOOLEAN LYCancelDownload; 429 extern BOOLEAN LYRestricted; /* whether we had -anonymous option */ 430 extern BOOLEAN LYValidate; 431 extern BOOLEAN LYPermitURL; 432 extern BOOLEAN track_internal_links; 433 extern BOOLEAN enable_scrollback; /* Clear screen before displaying new page */ 434 extern BOOLEAN keep_mime_headers; /* Include mime headers and * 435 436 * force source dump */ 437 extern BOOLEAN no_url_redirection; /* Don't follow URL redirections */ 438 439 #ifdef DISP_PARTIAL 440 extern BOOLEAN display_partial; /* Display document while loading */ 441 extern int NumOfLines_partial; /* -//- "current" number of lines */ 442 extern int partial_threshold; 443 extern BOOLEAN debug_display_partial; /* show with MessageSecs delay */ 444 extern BOOLEAN display_partial_flag; /* permanent flag, not mutable */ 445 #endif 446 extern char *socks5_proxy; 447 extern char *form_post_data; /* User data for post form */ 448 extern char *form_get_data; /* User data for get form */ 449 extern char *http_error_file; /* Place HTTP status code in this file */ 450 extern char *authentication_info[2]; /* Id:Password for protected documents */ 451 extern char *proxyauth_info[2]; /* Id:Password for protected proxy server */ 452 extern BOOLEAN HEAD_request; /* Do a HEAD request */ 453 extern BOOLEAN scan_for_buried_news_references; 454 extern BOOLEAN bookmark_start; /* Use bookmarks as startfile */ 455 extern BOOLEAN clickable_images; 456 extern BOOLEAN nested_tables; 457 extern BOOLEAN pseudo_inline_alts; 458 extern BOOLEAN crawl; 459 extern BOOLEAN traversal; 460 extern BOOLEAN check_realm; 461 extern char *startrealm; 462 extern BOOLEAN more_links; 463 extern int crawl_count; 464 extern BOOLEAN LYCancelledFetch; 465 extern const char *LYToolbarName; 466 467 extern BOOLEAN nomore; 468 extern int AlertSecs; 469 extern int InfoSecs; 470 extern int MessageSecs; 471 extern int DelaySecs; 472 extern int ReplaySecs; 473 474 extern char *LYUserAgent; /* Lynx User-Agent header */ 475 extern char *LYUserAgentDefault; /* Lynx default User-Agent header */ 476 extern BOOLEAN LYNoRefererHeader; /* Never send Referer header? */ 477 extern BOOLEAN LYNoRefererForThis; /* No Referer header for this URL? */ 478 extern BOOLEAN LYNoFromHeader; /* Never send From header? */ 479 extern BOOLEAN LYSendUserAgent; /* send Lynx User-Agent header? */ 480 extern BOOLEAN LYListNewsNumbers; 481 extern BOOLEAN LYUseMouse; 482 extern BOOLEAN LYListNewsDates; 483 484 extern BOOLEAN LYRawMode; 485 extern BOOLEAN LYDefaultRawMode; 486 extern BOOLEAN LYUseDefaultRawMode; 487 extern char *UCAssume_MIMEcharset; 488 extern BOOLEAN UCSaveBookmarksInUnicode; /* in titles, chars >127 save as &#xUUUU */ 489 extern BOOLEAN UCForce8bitTOUPPER; /* disable locale case-conversion for >127 */ 490 extern int outgoing_mail_charset; /* translate outgoing mail to this charset */ 491 492 extern BOOLEAN LYisConfiguredForX; 493 extern char *URLDomainPrefixes; 494 extern char *URLDomainSuffixes; 495 extern BOOLEAN startfile_ok; 496 extern BOOLEAN LYSelectPopups; /* Cast popups to radio buttons? */ 497 extern BOOLEAN LYUseDefSelPop; /* Command line -popup toggle */ 498 extern int LYMultiBookmarks; /* Multi bookmark support on? */ 499 extern BOOLEAN LYMBMBlocked; /* Force MBM support off? */ 500 extern int LYStatusLine; /* Line for statusline() or -1 */ 501 extern BOOLEAN LYCollapseBRs; /* Collapse serial BRs? */ 502 extern BOOLEAN LYSetCookies; /* Process Set-Cookie headers? */ 503 extern BOOLEAN LYAcceptAllCookies; /* accept ALL cookies? */ 504 505 extern char *LYCookieAcceptDomains; /* domains to accept all cookies */ 506 extern char *LYCookieRejectDomains; /* domains to reject all cookies */ 507 extern char *LYCookieStrictCheckDomains; /* domains to check strictly */ 508 extern char *LYCookieLooseCheckDomains; /* domains to check loosely */ 509 extern char *LYCookieQueryCheckDomains; /* domains to check w/a query */ 510 extern char *LYCookieSAcceptDomains; /* domains to accept all cookies */ 511 extern char *LYCookieSRejectDomains; /* domains to reject all cookies */ 512 extern char *LYCookieSStrictCheckDomains; /* domains to check strictly */ 513 extern char *LYCookieSLooseCheckDomains; /* domains to check loosely */ 514 extern char *LYCookieSQueryCheckDomains; /* domains to check w/a query */ 515 516 #ifndef DISABLE_BIBP 517 extern BOOLEAN no_goto_bibp; 518 extern char *BibP_globalserver; /* global server for bibp: links */ 519 extern char *BibP_bibhost; /* local server for bibp: links */ 520 extern BOOLEAN BibP_bibhost_checked; /* bibhost has been checked */ 521 extern BOOLEAN BibP_bibhost_available; /* bibhost is responding */ 522 #endif 523 524 #ifndef DISABLE_FTP 525 extern BOOLEAN ftp_local_passive; 526 extern BOOLEAN ftp_passive; /* TRUE if we want to use passive mode ftp */ 527 extern HTList *broken_ftp_epsv; 528 extern HTList *broken_ftp_retr; 529 extern char *ftp_lasthost; 530 #endif 531 532 #ifdef USE_PERSISTENT_COOKIES 533 extern BOOLEAN persistent_cookies; 534 extern char *LYCookieFile; /* cookie read file */ 535 extern char *LYCookieSaveFile; /* cookie save file */ 536 #endif /* USE_PERSISTENT_COOKIES */ 537 538 extern char *XLoadImageCommand; /* Default image viewer for X */ 539 540 #ifdef USE_EXTERNALS 541 extern BOOLEAN no_externals; /* don't allow the use of externals */ 542 #endif 543 544 extern BOOLEAN LYNoISMAPifUSEMAP; /* Omit ISMAP link if MAP present? */ 545 extern int LYHiddenLinks; 546 547 extern char *SSL_cert_file; /* Default CA CERT file */ 548 extern char *SSL_client_cert_file; /* Default client CERT file */ 549 extern char *SSL_client_key_file; /* Default client key file */ 550 551 typedef enum { 552 HTTP_1_0 553 ,HTTP_1_1 554 } HTTP_LEVEL; 555 556 extern int HTprotocolLevel; 557 558 extern int Old_DTD; 559 560 #define MBM_V_MAXFILES 25 /* Max number of sub-bookmark files */ 561 562 /* 563 * Arrays that holds the names of sub-bookmark files 564 * and their descriptions. 565 */ 566 extern char *MBM_A_subbookmark[MBM_V_MAXFILES + 1]; 567 extern char *MBM_A_subdescript[MBM_V_MAXFILES + 1]; 568 569 extern BOOLEAN LYForceSSLCookiesSecure; 570 extern BOOLEAN LYNoCc; 571 extern BOOLEAN LYNonRestartingSIGWINCH; 572 extern BOOLEAN LYPreparsedSource; /* Show source as preparsed? */ 573 extern BOOLEAN LYPrependBaseToSource; 574 extern BOOLEAN LYPrependCharsetToSource; 575 extern BOOLEAN LYQuitDefaultYes; 576 extern BOOLEAN LYReuseTempfiles; 577 extern BOOLEAN LYSeekFragAREAinCur; 578 extern BOOLEAN LYSeekFragMAPinCur; 579 extern BOOLEAN LYStripDotDotURLs; /* Try to fix ../ in some URLs? */ 580 extern BOOLEAN LYUseBuiltinSuffixes; 581 extern BOOLEAN dont_wrap_pre; 582 583 extern int cookie_noprompt; 584 585 typedef enum { 586 FORCE_PROMPT_DFT /* force a prompt, use the result */ 587 ,FORCE_PROMPT_YES /* assume "yes" where a prompt would be used */ 588 ,FORCE_PROMPT_NO /* assume "no" where a prompt would be used */ 589 } FORCE_PROMPT; 590 591 extern int cookie_version; 592 593 typedef enum { 594 COOKIES_RFC_2109 595 ,COOKIES_RFC_2965 596 ,COOKIES_RFC_6265 597 } COOKIES_VERSION; 598 599 #define USE_RFC_2109 (cookie_version == (COOKIES_RFC_2109)) 600 #define USE_RFC_2965 (cookie_version == (COOKIES_RFC_2965)) 601 #define USE_RFC_6265 (cookie_version == (COOKIES_RFC_6265)) 602 603 #ifdef USE_SSL 604 extern int ssl_noprompt; 605 #endif 606 607 extern int LYNoZapKey; /* 0: off (do 'z' checking), 1: full, 2: initially */ 608 609 #ifdef USE_JUSTIFY_ELTS 610 extern BOOLEAN ok_justify; 611 extern int justify_max_void_percent; 612 #endif 613 614 #ifdef USE_LOCALE_CHARSET 615 extern BOOLEAN LYLocaleCharset; 616 #endif 617 extern BOOLEAN assumed_charset; 618 619 #ifndef NO_DUMP_WITH_BACKSPACES 620 extern BOOLEAN with_backspaces; 621 #endif 622 623 #if defined(PDCURSES) && defined(PDC_BUILD) && PDC_BUILD >= 2401 624 extern int scrsize_x; 625 extern int scrsize_y; 626 #endif 627 628 extern BOOLEAN conv_jisx0201kana; 629 extern BOOLEAN wait_viewer_termination; 630 631 #ifndef NO_LYNX_TRACE 632 extern FILE *LYTraceLogFP; /* Pointer for TRACE log */ 633 extern char *LYTraceLogPath; /* Path for TRACE log */ 634 #endif 635 extern BOOLEAN LYUseTraceLog; /* Use a TRACE log? */ 636 637 extern BOOLEAN force_empty_hrefless_a; 638 extern int connect_timeout; 639 extern int reading_timeout; 640 641 #ifdef TEXTFIELDS_MAY_NEED_ACTIVATION 642 extern BOOL textfields_need_activation; 643 extern BOOLEAN textfields_activation_option; 644 645 #ifdef INACTIVE_INPUT_STYLE_VH 646 extern BOOL textinput_redrawn; 647 #endif 648 #else 649 #define textfields_need_activation FALSE 650 #endif /* TEXTFIELDS_MAY_NEED_ACTIVATION */ 651 652 extern BOOLEAN textfield_prompt_at_left_edge; 653 654 #ifndef VMS 655 extern BOOLEAN LYNoCore; 656 extern BOOLEAN restore_sigpipe_for_children; 657 #endif /* !VMS */ 658 659 #if defined(USE_COLOR_STYLE) 660 extern int LYuse_color_style; /* color-style vs oldlynx */ 661 extern char *lynx_lss_file; 662 #endif 663 664 #ifdef USE_DEFAULT_COLORS 665 extern BOOLEAN LYuse_default_colors; 666 #endif 667 668 extern int HTNoDataOK; /* HT_NO_DATA-is-ok hack */ 669 extern BOOLEAN FileInitAlreadyDone; 670 671 #ifdef USE_PROGRAM_DIR 672 extern char *program_dir; 673 #endif 674 675 #ifdef __DJGPP__ 676 extern BOOLEAN watt_debug; 677 extern BOOLEAN dj_is_bash; 678 #endif /* __DJGPP__ */ 679 680 #ifdef WIN_EX 681 /* LYMain.c */ 682 extern BOOLEAN focus_window; 683 extern BOOLEAN system_is_NT; 684 extern char windows_drive[4]; 685 extern int lynx_timeout; 686 extern CRITICAL_SECTION critSec_READ; 687 #endif /* _WINDOWS */ 688 689 extern BOOLEAN show_cfg; 690 extern BOOLEAN no_table_center; 691 692 #if USE_BLAT_MAILER 693 extern BOOLEAN mail_is_altblat; 694 extern BOOLEAN mail_is_blat; 695 #endif 696 697 #if defined(__CYGWIN__) 698 #include <io.h> 699 #endif 700 701 #if !defined(__CYGWIN__) && defined(__CYGWIN32__) 702 #define __CYGWIN__ 703 704 #define cygwin_conv_to_full_win32_path(p, q) \ 705 cygwin32_conv_to_full_win32_path(p, q) 706 707 #define cygwin_conv_to_full_posix_path(p, q) \ 708 cygwin32_conv_to_full_posix_path(p, q) 709 #endif 710 711 #ifdef __CYGWIN__ 712 #define ConvertToWin32Path(p, q) \ 713 cygwin_conv_to_full_win32_path(p, q); 714 #else 715 #define ConvertToWin32Path(p, q) \ 716 q = p 717 #endif 718 719 #ifdef USE_SCROLLBAR 720 /* GridText.c */ 721 extern BOOLEAN LYShowScrollbar; 722 extern BOOLEAN LYsb_arrow; 723 extern int LYsb_begin; 724 extern int LYsb_end; 725 #endif 726 727 #ifdef MARK_HIDDEN_LINKS 728 extern char *hidden_link_marker; 729 #endif 730 731 #ifdef USE_BLINK 732 extern BOOLEAN term_blink_is_boldbg; 733 #endif 734 735 #ifdef __cplusplus 736 } 737 #endif 738 #endif /* LYGLOBALDEFS_H */ 739