Blame src/LYGlobalDefs.h

Packit f574b8
/*
Packit f574b8
 * $LynxId: LYGlobalDefs.h,v 1.146 2018/03/27 23:05:13 tom Exp $
Packit f574b8
 *
Packit f574b8
 * global variable definitions
Packit f574b8
 */
Packit f574b8
Packit f574b8
#ifndef LYGLOBALDEFS_H
Packit f574b8
#define LYGLOBALDEFS_H
Packit f574b8
Packit f574b8
#ifndef HTUTILS_H
Packit f574b8
#include <HTUtils.h>
Packit f574b8
#endif /* HTUTILS_H */
Packit f574b8
Packit f574b8
#ifndef LYSTRUCTS_H
Packit f574b8
#include <LYStructs.h>
Packit f574b8
#endif /* LYSTRUCTS_H */
Packit f574b8
Packit f574b8
/* Of the following definitions, currently unused are and could
Packit f574b8
   be removed (at least):
Packit f574b8
   CURRENT_KEYMAP_HELP
Packit f574b8
*/
Packit f574b8
#if defined(HAVE_CONFIG_H) && defined(HAVE_LYHELP_H)
Packit f574b8
#include <LYHelp.h>
Packit f574b8
#else
Packit f574b8
#define ALT_EDIT_HELP		"keystrokes/alt_edit_help.html"
Packit f574b8
#define BASHLIKE_EDIT_HELP	"keystrokes/bashlike_edit_help.html"
Packit f574b8
#define COOKIE_JAR_HELP		"Lynx_users_guide.html#Cookies"
Packit f574b8
#define CACHE_JAR_HELP		"Lynx_users_guide.html#Cache"
Packit f574b8
#define CURRENT_KEYMAP_HELP	"keystrokes/keystroke_help.html"
Packit f574b8
#define DIRED_MENU_HELP		"keystrokes/dired_help.html"
Packit f574b8
#define DOWNLOAD_OPTIONS_HELP	"Lynx_users_guide.html#RemoteSource"
Packit f574b8
#define EDIT_HELP		"keystrokes/edit_help.html"
Packit f574b8
#define HISTORY_PAGE_HELP	"keystrokes/history_help.html"
Packit f574b8
#define LIST_PAGE_HELP		"keystrokes/follow_help.html"
Packit f574b8
#define LYNXCFG_HELP		"lynx.cfg"
Packit f574b8
#define OPTIONS_HELP		"keystrokes/option_help.html"
Packit f574b8
#define PRINT_OPTIONS_HELP	"keystrokes/print_help.html"
Packit f574b8
#define UPLOAD_OPTIONS_HELP	"Lynx_users_guide.html#DirEd"
Packit f574b8
#define VISITED_LINKS_HELP	"keystrokes/visited_help.html"
Packit f574b8
#endif /* LYHELP_H */
Packit f574b8
Packit f574b8
#ifdef USE_SOURCE_CACHE
Packit f574b8
#include <HTChunk.h>
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#include <LYMail.h>		/* to get ifdef's for mail-variables */
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
extern "C" {
Packit f574b8
#endif
Packit f574b8
#ifdef SOCKS
Packit f574b8
    extern BOOLEAN socks_flag;
Packit f574b8
    extern unsigned long socks_bind_remoteAddr;
Packit f574b8
#endif				/* SOCKS */
Packit f574b8
Packit f574b8
#ifdef IGNORE_CTRL_C
Packit f574b8
    extern BOOLEAN sigint;
Packit f574b8
#endif				/* IGNORE_CTRL_C */
Packit f574b8
Packit f574b8
#if USE_VMS_MAILER
Packit f574b8
    extern char *mail_adrs;
Packit f574b8
    extern BOOLEAN UseFixedRecords;	/* convert binary files to FIXED 512 records */
Packit f574b8
#endif				/* VMS */
Packit f574b8
Packit f574b8
#ifndef VMS
Packit f574b8
    extern char *list_format;
Packit f574b8
#endif				/* !VMS */
Packit f574b8
    extern char *ftp_format;
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	BAD_HTML_IGNORE = 0
Packit f574b8
	,BAD_HTML_TRACE
Packit f574b8
	,BAD_HTML_MESSAGE
Packit f574b8
	,BAD_HTML_WARN
Packit f574b8
    } enumBadHtml;
Packit f574b8
Packit f574b8
    extern int cfg_bad_html;	/* enumBadHtml */
Packit f574b8
Packit f574b8
#ifdef DIRED_SUPPORT
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	DIRS_FIRST = 0
Packit f574b8
	,FILES_FIRST
Packit f574b8
	,MIXED_STYLE
Packit f574b8
    } enumDirListStyle;
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	ORDER_BY_NAME
Packit f574b8
	,ORDER_BY_SIZE
Packit f574b8
	,ORDER_BY_DATE
Packit f574b8
	,ORDER_BY_MODE
Packit f574b8
	,ORDER_BY_TYPE
Packit f574b8
	,ORDER_BY_USER
Packit f574b8
	,ORDER_BY_GROUP
Packit f574b8
    } enumDirListOrder;
Packit f574b8
Packit f574b8
    extern BOOLEAN lynx_edit_mode;
Packit f574b8
    extern BOOLEAN no_dired_support;
Packit f574b8
    extern HTList *tagged;
Packit f574b8
    extern int LYAutoUncacheDirLists;
Packit f574b8
    extern int dir_list_style;	/* enumDirListStyle */
Packit f574b8
    extern int dir_list_order;	/* enumDirListOrder */
Packit f574b8
Packit f574b8
#ifdef OK_OVERRIDE
Packit f574b8
    extern BOOLEAN prev_lynx_edit_mode;
Packit f574b8
#endif				/* OK_OVERRIDE */
Packit f574b8
Packit f574b8
#ifdef OK_PERMIT
Packit f574b8
    extern BOOLEAN no_change_exec_perms;
Packit f574b8
#endif				/* OK_PERMIT */
Packit f574b8
Packit f574b8
#endif				/* DIRED_SUPPORT */
Packit f574b8
Packit f574b8
    extern int HTCacheSize;	/* the number of documents cached in memory */
Packit f574b8
Packit f574b8
#if defined(VMS) && defined(VAXC) && !defined(__DECC)
Packit f574b8
    extern int HTVirtualMemorySize;	/* bytes allocated and not yet freed  */
Packit f574b8
#endif				/* VMS && VAXC && !__DECC */
Packit f574b8
Packit f574b8
#if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
Packit f574b8
    extern BOOLEAN local_exec;	/* TRUE to enable local program execution */
Packit f574b8
    extern BOOLEAN local_exec_on_local_files;	/* TRUE to enable local program  *
Packit f574b8
Packit f574b8
						 * execution in local files only */
Packit f574b8
#endif				/* defined(EXEC_LINKS) || defined(EXEC_SCRIPTS) */
Packit f574b8
Packit f574b8
#if defined(LYNXCGI_LINKS) && !defined(VMS)	/* WebSter Mods -jkt */
Packit f574b8
    extern char *LYCgiDocumentRoot;	/* DOCUMENT_ROOT in the lynxcgi env */
Packit f574b8
#endif				/* LYNXCGI_LINKS */
Packit f574b8
Packit f574b8
/* Values to which keypad_mode can be set */
Packit f574b8
#define NUMBERS_AS_ARROWS 0
Packit f574b8
#define LINKS_ARE_NUMBERED 1
Packit f574b8
#define LINKS_AND_FIELDS_ARE_NUMBERED 2
Packit f574b8
#define FIELDS_ARE_NUMBERED 3
Packit f574b8
Packit f574b8
#define links_are_numbered() \
Packit f574b8
	    (keypad_mode == LINKS_ARE_NUMBERED || \
Packit f574b8
	     keypad_mode == LINKS_AND_FIELDS_ARE_NUMBERED)
Packit f574b8
Packit f574b8
#define fields_are_numbered() \
Packit f574b8
	    (keypad_mode == FIELDS_ARE_NUMBERED || \
Packit f574b8
	     keypad_mode == LINKS_AND_FIELDS_ARE_NUMBERED)
Packit f574b8
#define fields_are_named() \
Packit f574b8
	    (user_mode == ADVANCED_MODE)
Packit f574b8
Packit f574b8
#define HIDDENLINKS_MERGE	0
Packit f574b8
#define HIDDENLINKS_SEPARATE	1
Packit f574b8
#define HIDDENLINKS_IGNORE	2
Packit f574b8
Packit f574b8
#define NOVICE_MODE 	  0
Packit f574b8
#define INTERMEDIATE_MODE 1
Packit f574b8
#define ADVANCED_MODE 	  2
Packit f574b8
    extern BOOLEAN LYUseNoviceLineTwo;	/* True if TOGGLE_HELP is not mapped */
Packit f574b8
Packit f574b8
#define MAX_LINE 1024		/* No window can be wider than this */
Packit f574b8
#define MAX_COLS (MAX_LINE-10)	/* we don't expect wider than this */
Packit f574b8
#define DFT_COLS 80		/* ...and normally only this */
Packit f574b8
#define DFT_ROWS 24		/* ...corresponding nominal height */
Packit f574b8
Packit f574b8
    extern char star_string[MAX_LINE + 1];	/* from GridText.c */
Packit f574b8
Packit f574b8
#define STARS(n) \
Packit f574b8
 ((n) >= MAX_LINE ? star_string : &star_string[(MAX_LINE-1)] - (n))
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	SHOW_COLOR_UNKNOWN = -1
Packit f574b8
	,SHOW_COLOR_NEVER = 0	/* positive numbers are index in LYOptions.c */
Packit f574b8
	,SHOW_COLOR_OFF
Packit f574b8
	,SHOW_COLOR_ON
Packit f574b8
	,SHOW_COLOR_ALWAYS
Packit f574b8
    } enumShowColor;
Packit f574b8
Packit f574b8
    extern int LYShowColor;	/* Show color or monochrome?        */
Packit f574b8
    extern int LYrcShowColor;	/* ... as read or last written      */
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	MBM_OFF = 0
Packit f574b8
	,MBM_STANDARD
Packit f574b8
	,MBM_ADVANCED
Packit f574b8
    } enumMultiBookmarks;
Packit f574b8
Packit f574b8
#if !defined(NO_OPTION_FORMS) && !defined(NO_OPTION_MENU)
Packit f574b8
    extern BOOLEAN LYUseFormsOptions;	/* use Forms-based options menu */
Packit f574b8
Packit f574b8
#else
Packit f574b8
#define LYUseFormsOptions FALSE	/* simplify ifdef'ing in LYMainLoop.c */
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	rateOFF = 0
Packit f574b8
	,rateBYTES = 1
Packit f574b8
	,rateKB
Packit f574b8
#ifdef USE_READPROGRESS
Packit f574b8
	,rateEtaBYTES
Packit f574b8
	,rateEtaKB
Packit f574b8
	,rateEtaBYTES2
Packit f574b8
	,rateEtaKB2
Packit f574b8
#endif
Packit f574b8
#ifdef USE_PROGRESSBAR
Packit f574b8
	,rateBAR
Packit f574b8
#endif
Packit f574b8
    } TransferRate;
Packit f574b8
Packit f574b8
#ifdef USE_READPROGRESS
Packit f574b8
#  define isRateInKB(n) ((n) == rateKB || (n) == rateEtaKB || (n) == rateEtaKB2)
Packit f574b8
#else
Packit f574b8
#  define isRateInKB(n) ((n) == rateKB)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#define TITLE_LINES  1
Packit f574b8
Packit f574b8
    extern BOOLEAN LYCursesON;	/* start_curses()->TRUE, stop_curses()->FALSE */
Packit f574b8
    extern BOOLEAN LYJumpFileURL;	/* URL from the jump file shortcuts? */
Packit f574b8
    extern BOOLEAN LYNewsPosting;	/* News posting supported if TRUE */
Packit f574b8
    extern BOOLEAN LYAutoSession;	/* Auto restore/save session? */
Packit f574b8
    extern BOOLEAN LYShowCursor;	/* Show the cursor or hide it?      */
Packit f574b8
    extern BOOLEAN LYShowTransferRate;
Packit f574b8
    extern BOOLEAN LYUnderlineLinks;	/* Show the links underlined vs bold */
Packit f574b8
    extern BOOLEAN LYUseDefShoCur;	/* Command line -show_cursor toggle */
Packit f574b8
    extern BOOLEAN LYUserSpecifiedURL;	/* URL from a goto or document? */
Packit f574b8
    extern BOOLEAN LYfind_leaks;
Packit f574b8
    extern BOOLEAN LYforce_HTML_mode;
Packit f574b8
    extern BOOLEAN LYforce_no_cache;
Packit f574b8
    extern BOOLEAN LYinternal_flag;	/* don't need fresh copy, was internal link */
Packit f574b8
    extern BOOLEAN LYoverride_no_cache;		/* don't need fresh copy, from history */
Packit f574b8
    extern BOOLEAN LYresubmit_posts;
Packit f574b8
    extern BOOLEAN LYtrimBlankLines;
Packit f574b8
    extern BOOLEAN LYtrimInputFields;
Packit f574b8
    extern BOOLEAN LYxhtml_parsing;
Packit f574b8
    extern BOOLEAN bold_H1;
Packit f574b8
    extern BOOLEAN bold_headers;
Packit f574b8
    extern BOOLEAN bold_name_anchors;
Packit f574b8
    extern BOOLEAN LYcase_sensitive;	/* TRUE to turn on case sensitive search */
Packit f574b8
    extern BOOLEAN check_mail;	/* TRUE to report unread/new mail messages */
Packit f574b8
    extern BOOLEAN child_lynx;	/* TRUE to exit with an arrow */
Packit f574b8
    extern BOOLEAN dump_links_inline;
Packit f574b8
    extern BOOLEAN dump_links_only;
Packit f574b8
    extern BOOLEAN dump_output_immediately;
Packit f574b8
    extern BOOLEAN dump_to_stderr;
Packit f574b8
    extern BOOLEAN emacs_keys;	/* TRUE to turn on emacs-like key movement */
Packit f574b8
    extern BOOLEAN error_logging;	/* TRUE to mail error messages */
Packit f574b8
    extern BOOLEAN ftp_ok;
Packit f574b8
    extern BOOLEAN goto_buffer;	/* TRUE if offering default goto URL */
Packit f574b8
    extern BOOLEAN is_www_index;
Packit f574b8
    extern BOOLEAN jump_buffer;	/* TRUE if offering default shortcut */
Packit f574b8
    extern BOOLEAN long_url_ok;
Packit f574b8
    extern BOOLEAN lynx_mode;
Packit f574b8
    extern BOOLEAN more_text;	/* is there more document to display? */
Packit f574b8
    extern BOOLEAN news_ok;
Packit f574b8
    extern BOOLEAN number_fields_on_left;
Packit f574b8
    extern BOOLEAN number_links_on_left;
Packit f574b8
    extern BOOLEAN recent_sizechange;
Packit f574b8
    extern BOOLEAN rlogin_ok;
Packit f574b8
    extern BOOLEAN syslog_requested_urls;
Packit f574b8
    extern BOOLEAN system_editor;	/* True if locked-down editor */
Packit f574b8
    extern BOOLEAN telnet_ok;
Packit f574b8
    extern BOOLEAN verbose_img;	/* display filenames of images?     */
Packit f574b8
    extern BOOLEAN vi_keys;	/* TRUE to turn on vi-like key movement */
Packit f574b8
Packit f574b8
    extern HTList *Goto_URLs;
Packit f574b8
    extern HTList *positionable_editor;
Packit f574b8
Packit f574b8
    extern char *LYRequestReferer;	/* Referer, may be set in getfile() */
Packit f574b8
    extern char *LYRequestTitle;	/* newdoc.title in calls to getfile() */
Packit f574b8
    extern char *LYTransferName;	/* abbreviation for Kilobytes */
Packit f574b8
    extern char *LynxHome;
Packit f574b8
#ifdef USE_SESSIONS
Packit f574b8
    extern char *LYSessionFile;	/* file for auto-session */
Packit f574b8
    extern char *session_file;	/* file for -session= */
Packit f574b8
    extern char *sessionin_file;	/* file for -sessionin= */
Packit f574b8
    extern char *sessionout_file;	/* file for -sessionout= */
Packit f574b8
#endif
Packit f574b8
    extern char *LynxSigFile;	/* Signature file, in or off home */
Packit f574b8
    extern char *helpfile;
Packit f574b8
    extern char *helpfilepath;
Packit f574b8
    extern char *jumpprompt;	/* The default jump statusline prompt */
Packit f574b8
    extern char *language;
Packit f574b8
    extern char *lynx_cfg_file;	/* location of active lynx.cfg file */
Packit f574b8
    extern char *lynx_cmd_logfile;	/* file to write keystroke commands, if any */
Packit f574b8
    extern char *lynx_cmd_script;	/* file to read keystroke commands, if any */
Packit f574b8
    extern char *lynx_save_space;
Packit f574b8
    extern char *lynx_temp_space;
Packit f574b8
    extern char *lynxjumpfile;
Packit f574b8
    extern char *lynxlinksfile;
Packit f574b8
    extern char *lynxlistfile;
Packit f574b8
    extern char *original_dir;
Packit f574b8
    extern char *pref_charset;	/* Lynx's preferred character set - MM */
Packit f574b8
    extern char *startfile;
Packit f574b8
    extern char *syslog_txt;	/* syslog arb text for session */
Packit f574b8
    extern char *system_mail;
Packit f574b8
    extern char *system_mail_flags;
Packit f574b8
    extern char *x_display;
Packit f574b8
    extern char empty_string[];
Packit f574b8
Packit f574b8
    extern const char *checked_box;	/* form boxes */
Packit f574b8
    extern const char *checked_radio;	/* form radio buttons */
Packit f574b8
    extern const char *unchecked_box;	/* form boxes */
Packit f574b8
    extern const char *unchecked_radio;		/* form radio buttons */
Packit f574b8
Packit f574b8
    extern int LYAcceptEncoding;
Packit f574b8
    extern int LYAcceptMedia;
Packit f574b8
    extern int LYContentType;
Packit f574b8
    extern const char *ContentTypes[];
Packit f574b8
    extern int LYTransferRate;	/* see enum TransferRate */
Packit f574b8
    extern int display_lines;	/* number of lines in the display */
Packit f574b8
    extern int dump_output_width;
Packit f574b8
    extern int dump_server_status;
Packit f574b8
    extern int keypad_mode;	/* NUMBERS_AS_ARROWS or LINKS_ARE_NUMBERED */
Packit f574b8
    extern int lynx_temp_subspace;
Packit f574b8
    extern int max_cookies_buffer;
Packit f574b8
    extern int max_cookies_domain;
Packit f574b8
    extern int max_cookies_global;
Packit f574b8
    extern int max_uri_size;
Packit f574b8
#ifdef USE_SESSIONS
Packit f574b8
    extern short session_limit;	/* maximal entries saved/restored
Packit f574b8
				   in session file */
Packit f574b8
#endif
Packit f574b8
    extern int user_mode;	/* novice or advanced */
Packit f574b8
    extern int www_search_result;
Packit f574b8
Packit f574b8
    extern BOOLEAN exec_frozen;
Packit f574b8
    extern BOOLEAN had_restrictions_all;	/* parsed these restriction options */
Packit f574b8
    extern BOOLEAN had_restrictions_default;	/* flags to note whether we have... */
Packit f574b8
    extern BOOLEAN no_bookmark;
Packit f574b8
    extern BOOLEAN no_bookmark_exec;
Packit f574b8
    extern BOOLEAN no_chdir;
Packit f574b8
    extern BOOLEAN no_compileopts_info;
Packit f574b8
    extern BOOLEAN no_disk_save;
Packit f574b8
    extern BOOLEAN no_dotfiles;
Packit f574b8
    extern BOOLEAN no_download;
Packit f574b8
    extern BOOLEAN no_editor;
Packit f574b8
    extern BOOLEAN no_exec;
Packit f574b8
    extern BOOLEAN no_file_url;
Packit f574b8
    extern BOOLEAN no_goto;
Packit f574b8
    extern BOOLEAN no_goto_configinfo;
Packit f574b8
    extern BOOLEAN no_goto_cso;
Packit f574b8
    extern BOOLEAN no_goto_file;
Packit f574b8
    extern BOOLEAN no_goto_finger;
Packit f574b8
    extern BOOLEAN no_goto_ftp;
Packit f574b8
    extern BOOLEAN no_goto_gopher;
Packit f574b8
    extern BOOLEAN no_goto_http;
Packit f574b8
    extern BOOLEAN no_goto_https;
Packit f574b8
    extern BOOLEAN no_goto_lynxcgi;
Packit f574b8
    extern BOOLEAN no_goto_lynxexec;
Packit f574b8
    extern BOOLEAN no_goto_lynxprog;
Packit f574b8
    extern BOOLEAN no_goto_mailto;
Packit f574b8
    extern BOOLEAN no_goto_news;
Packit f574b8
    extern BOOLEAN no_goto_nntp;
Packit f574b8
    extern BOOLEAN no_goto_rlogin;
Packit f574b8
    extern BOOLEAN no_goto_snews;
Packit f574b8
    extern BOOLEAN no_goto_telnet;
Packit f574b8
    extern BOOLEAN no_goto_tn3270;
Packit f574b8
    extern BOOLEAN no_goto_wais;
Packit f574b8
    extern BOOLEAN no_inside_ftp;
Packit f574b8
    extern BOOLEAN no_inside_news;
Packit f574b8
    extern BOOLEAN no_inside_rlogin;
Packit f574b8
    extern BOOLEAN no_inside_telnet;	/* this and following are restrictions */
Packit f574b8
    extern BOOLEAN no_jump;
Packit f574b8
    extern BOOLEAN no_lynxcfg_info;
Packit f574b8
    extern BOOLEAN no_lynxcfg_xinfo;
Packit f574b8
    extern BOOLEAN no_lynxcgi;
Packit f574b8
    extern BOOLEAN no_mail;
Packit f574b8
    extern BOOLEAN no_multibook;
Packit f574b8
    extern BOOLEAN no_newspost;
Packit f574b8
    extern BOOLEAN no_option_save;
Packit f574b8
    extern BOOLEAN no_outside_ftp;
Packit f574b8
    extern BOOLEAN no_outside_news;
Packit f574b8
    extern BOOLEAN no_outside_rlogin;
Packit f574b8
    extern BOOLEAN no_outside_telnet;
Packit f574b8
    extern BOOLEAN no_print;	/* TRUE to disable printing */
Packit f574b8
    extern BOOLEAN no_shell;
Packit f574b8
    extern BOOLEAN no_suspend;
Packit f574b8
    extern BOOLEAN no_telnet_port;
Packit f574b8
    extern BOOLEAN no_useragent;
Packit f574b8
Packit f574b8
    extern BOOLEAN no_statusline;
Packit f574b8
    extern BOOLEAN no_filereferer;
Packit f574b8
    extern char LYRefererWithQuery;	/* 'S', 'P', or 'D' */
Packit f574b8
    extern BOOLEAN local_host_only;
Packit f574b8
    extern BOOLEAN override_no_download;
Packit f574b8
    extern BOOLEAN show_dotfiles;	/* From rcfile if no_dotfiles is false */
Packit f574b8
    extern char *indexfile;
Packit f574b8
    extern char *anonftp_password;
Packit f574b8
    extern char *personal_mail_address;
Packit f574b8
    extern char *personal_mail_name;
Packit f574b8
    extern char *homepage;	/* startfile or command line argument */
Packit f574b8
    extern char *editor;	/* if non empty it enables edit mode with
Packit f574b8
Packit f574b8
				 * the editor that is named */
Packit f574b8
    extern char *jumpfile;
Packit f574b8
    extern char *bookmark_page;
Packit f574b8
    extern char *BookmarkPage;
Packit f574b8
    extern char *personal_type_map;
Packit f574b8
    extern char *global_type_map;
Packit f574b8
    extern char *global_extension_map;
Packit f574b8
    extern char *personal_extension_map;
Packit f574b8
    extern char *LYHostName;
Packit f574b8
    extern char *LYLocalDomain;
Packit f574b8
    extern BOOLEAN LYGuessScheme;
Packit f574b8
    extern BOOLEAN unique_urls;
Packit f574b8
    extern BOOLEAN use_underscore;
Packit f574b8
    extern BOOLEAN no_list;
Packit f574b8
    extern BOOLEAN no_margins;
Packit f574b8
    extern BOOLEAN no_pause;
Packit f574b8
    extern BOOLEAN no_title;
Packit f574b8
    extern BOOLEAN historical_comments;
Packit f574b8
    extern BOOLEAN html5_charsets;
Packit f574b8
    extern BOOLEAN minimal_comments;
Packit f574b8
    extern BOOLEAN soft_dquotes;
Packit f574b8
Packit f574b8
#ifdef USE_SOURCE_CACHE
Packit f574b8
    extern BOOLEAN source_cache_file_error;
Packit f574b8
    extern int LYCacheSource;
Packit f574b8
Packit f574b8
#define SOURCE_CACHE_NONE	0
Packit f574b8
#define SOURCE_CACHE_FILE	1
Packit f574b8
#define SOURCE_CACHE_MEMORY	2
Packit f574b8
Packit f574b8
    extern int LYCacheSourceForAborted;
Packit f574b8
Packit f574b8
#define SOURCE_CACHE_FOR_ABORTED_KEEP 1
Packit f574b8
#define SOURCE_CACHE_FOR_ABORTED_DROP 0
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern BOOLEAN LYCancelDownload;
Packit f574b8
    extern BOOLEAN LYRestricted;	/* whether we had -anonymous option */
Packit f574b8
    extern BOOLEAN LYValidate;
Packit f574b8
    extern BOOLEAN LYPermitURL;
Packit f574b8
    extern BOOLEAN track_internal_links;
Packit f574b8
    extern BOOLEAN enable_scrollback;	/* Clear screen before displaying new page */
Packit f574b8
    extern BOOLEAN keep_mime_headers;	/* Include mime headers and *
Packit f574b8
Packit f574b8
					 * force source dump              */
Packit f574b8
    extern BOOLEAN no_url_redirection;	/* Don't follow URL redirections */
Packit f574b8
Packit f574b8
#ifdef DISP_PARTIAL
Packit f574b8
    extern BOOLEAN display_partial;	/* Display document while loading */
Packit f574b8
    extern int NumOfLines_partial;	/* -//- "current" number of lines */
Packit f574b8
    extern int partial_threshold;
Packit f574b8
    extern BOOLEAN debug_display_partial;	/* show with MessageSecs delay */
Packit f574b8
    extern BOOLEAN display_partial_flag;	/* permanent flag, not mutable */
Packit f574b8
#endif
Packit f574b8
    extern char *form_post_data;	/* User data for post form */
Packit f574b8
    extern char *form_get_data;	/* User data for get form */
Packit f574b8
    extern char *http_error_file;	/* Place HTTP status code in this file */
Packit f574b8
    extern char *authentication_info[2];	/* Id:Password for protected documents */
Packit f574b8
    extern char *proxyauth_info[2];	/* Id:Password for protected proxy server */
Packit f574b8
    extern BOOLEAN HEAD_request;	/* Do a HEAD request */
Packit f574b8
    extern BOOLEAN scan_for_buried_news_references;
Packit f574b8
    extern BOOLEAN bookmark_start;	/* Use bookmarks as startfile */
Packit f574b8
    extern BOOLEAN clickable_images;
Packit f574b8
    extern BOOLEAN nested_tables;
Packit f574b8
    extern BOOLEAN pseudo_inline_alts;
Packit f574b8
    extern BOOLEAN crawl;
Packit f574b8
    extern BOOLEAN traversal;
Packit f574b8
    extern BOOLEAN check_realm;
Packit f574b8
    extern char *startrealm;
Packit f574b8
    extern BOOLEAN more_links;
Packit f574b8
    extern int crawl_count;
Packit f574b8
    extern BOOLEAN LYCancelledFetch;
Packit f574b8
    extern const char *LYToolbarName;
Packit f574b8
Packit f574b8
    extern BOOLEAN nomore;
Packit f574b8
    extern int AlertSecs;
Packit f574b8
    extern int InfoSecs;
Packit f574b8
    extern int MessageSecs;
Packit f574b8
    extern int DelaySecs;
Packit f574b8
    extern int ReplaySecs;
Packit f574b8
Packit f574b8
    extern char *LYUserAgent;	/* Lynx User-Agent header */
Packit f574b8
    extern char *LYUserAgentDefault;	/* Lynx default User-Agent header */
Packit f574b8
    extern BOOLEAN LYNoRefererHeader;	/* Never send Referer header? */
Packit f574b8
    extern BOOLEAN LYNoRefererForThis;	/* No Referer header for this URL? */
Packit f574b8
    extern BOOLEAN LYNoFromHeader;	/* Never send From header?    */
Packit f574b8
    extern BOOLEAN LYSendUserAgent;	/* send Lynx User-Agent header? */
Packit f574b8
    extern BOOLEAN LYListNewsNumbers;
Packit f574b8
    extern BOOLEAN LYUseMouse;
Packit f574b8
    extern BOOLEAN LYListNewsDates;
Packit f574b8
Packit f574b8
    extern BOOLEAN LYRawMode;
Packit f574b8
    extern BOOLEAN LYDefaultRawMode;
Packit f574b8
    extern BOOLEAN LYUseDefaultRawMode;
Packit f574b8
    extern char *UCAssume_MIMEcharset;
Packit f574b8
    extern BOOLEAN UCSaveBookmarksInUnicode;	/* in titles,  chars >127 save as &#xUUUU */
Packit f574b8
    extern BOOLEAN UCForce8bitTOUPPER;	/* disable locale case-conversion for >127 */
Packit f574b8
    extern int outgoing_mail_charset;	/* translate outgoing mail to this charset */
Packit f574b8
Packit f574b8
    extern BOOLEAN LYisConfiguredForX;
Packit f574b8
    extern char *URLDomainPrefixes;
Packit f574b8
    extern char *URLDomainSuffixes;
Packit f574b8
    extern BOOLEAN startfile_ok;
Packit f574b8
    extern BOOLEAN LYSelectPopups;	/* Cast popups to radio buttons? */
Packit f574b8
    extern BOOLEAN LYUseDefSelPop;	/* Command line -popup toggle    */
Packit f574b8
    extern int LYMultiBookmarks;	/* Multi bookmark support on?    */
Packit f574b8
    extern BOOLEAN LYMBMBlocked;	/* Force MBM support off?        */
Packit f574b8
    extern int LYStatusLine;	/* Line for statusline() or -1   */
Packit f574b8
    extern BOOLEAN LYCollapseBRs;	/* Collapse serial BRs?          */
Packit f574b8
    extern BOOLEAN LYSetCookies;	/* Process Set-Cookie headers?   */
Packit f574b8
    extern BOOLEAN LYAcceptAllCookies;	/* accept ALL cookies?           */
Packit f574b8
Packit f574b8
    extern char *LYCookieAcceptDomains;		/* domains to accept all cookies */
Packit f574b8
    extern char *LYCookieRejectDomains;		/* domains to reject all cookies */
Packit f574b8
    extern char *LYCookieStrictCheckDomains;	/* domains to check strictly    */
Packit f574b8
    extern char *LYCookieLooseCheckDomains;	/* domains to check loosely      */
Packit f574b8
    extern char *LYCookieQueryCheckDomains;	/* domains to check w/a query    */
Packit f574b8
    extern char *LYCookieSAcceptDomains;	/* domains to accept all cookies */
Packit f574b8
    extern char *LYCookieSRejectDomains;	/* domains to reject all cookies */
Packit f574b8
    extern char *LYCookieSStrictCheckDomains;	/* domains to check strictly    */
Packit f574b8
    extern char *LYCookieSLooseCheckDomains;	/* domains to check loosely      */
Packit f574b8
    extern char *LYCookieSQueryCheckDomains;	/* domains to check w/a query    */
Packit f574b8
Packit f574b8
#ifndef DISABLE_BIBP
Packit f574b8
    extern BOOLEAN no_goto_bibp;
Packit f574b8
    extern char *BibP_globalserver;	/* global server for bibp: links */
Packit f574b8
    extern char *BibP_bibhost;	/* local server for bibp: links  */
Packit f574b8
    extern BOOLEAN BibP_bibhost_checked;	/* bibhost has been checked      */
Packit f574b8
    extern BOOLEAN BibP_bibhost_available;	/* bibhost is responding         */
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifndef DISABLE_FTP
Packit f574b8
    extern BOOLEAN ftp_local_passive;
Packit f574b8
    extern BOOLEAN ftp_passive;	/* TRUE if we want to use passive mode ftp */
Packit f574b8
    extern HTList *broken_ftp_epsv;
Packit f574b8
    extern HTList *broken_ftp_retr;
Packit f574b8
    extern char *ftp_lasthost;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef USE_PERSISTENT_COOKIES
Packit f574b8
    extern BOOLEAN persistent_cookies;
Packit f574b8
    extern char *LYCookieFile;	/* cookie read file              */
Packit f574b8
    extern char *LYCookieSaveFile;	/* cookie save file              */
Packit f574b8
#endif				/* USE_PERSISTENT_COOKIES */
Packit f574b8
Packit f574b8
    extern char *XLoadImageCommand;	/* Default image viewer for X    */
Packit f574b8
Packit f574b8
#ifdef USE_EXTERNALS
Packit f574b8
    extern BOOLEAN no_externals;	/* don't allow the use of externals */
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern BOOLEAN LYNoISMAPifUSEMAP;	/* Omit ISMAP link if MAP present? */
Packit f574b8
    extern int LYHiddenLinks;
Packit f574b8
Packit f574b8
    extern char *SSL_cert_file;	/* Default CA CERT file */
Packit f574b8
    extern char *SSL_client_cert_file;	/* Default client CERT file */
Packit f574b8
    extern char *SSL_client_key_file;	/* Default client key file */
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	HTTP_1_0
Packit f574b8
	,HTTP_1_1
Packit f574b8
    } HTTP_LEVEL;
Packit f574b8
Packit f574b8
    extern int HTprotocolLevel;
Packit f574b8
Packit f574b8
    extern int Old_DTD;
Packit f574b8
Packit f574b8
#define MBM_V_MAXFILES  25	/* Max number of sub-bookmark files */
Packit f574b8
Packit f574b8
/*
Packit f574b8
 *  Arrays that holds the names of sub-bookmark files
Packit f574b8
 *  and their descriptions.
Packit f574b8
 */
Packit f574b8
    extern char *MBM_A_subbookmark[MBM_V_MAXFILES + 1];
Packit f574b8
    extern char *MBM_A_subdescript[MBM_V_MAXFILES + 1];
Packit f574b8
Packit f574b8
    extern BOOLEAN LYForceSSLCookiesSecure;
Packit f574b8
    extern BOOLEAN LYNoCc;
Packit f574b8
    extern BOOLEAN LYNonRestartingSIGWINCH;
Packit f574b8
    extern BOOLEAN LYPreparsedSource;	/* Show source as preparsed?     */
Packit f574b8
    extern BOOLEAN LYPrependBaseToSource;
Packit f574b8
    extern BOOLEAN LYPrependCharsetToSource;
Packit f574b8
    extern BOOLEAN LYQuitDefaultYes;
Packit f574b8
    extern BOOLEAN LYReuseTempfiles;
Packit f574b8
    extern BOOLEAN LYSeekFragAREAinCur;
Packit f574b8
    extern BOOLEAN LYSeekFragMAPinCur;
Packit f574b8
    extern BOOLEAN LYStripDotDotURLs;	/* Try to fix ../ in some URLs?  */
Packit f574b8
    extern BOOLEAN LYUseBuiltinSuffixes;
Packit f574b8
    extern BOOLEAN dont_wrap_pre;
Packit f574b8
Packit f574b8
    extern int cookie_noprompt;
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	FORCE_PROMPT_DFT	/* force a prompt, use the result */
Packit f574b8
	,FORCE_PROMPT_YES	/* assume "yes" where a prompt would be used */
Packit f574b8
	,FORCE_PROMPT_NO	/* assume "no" where a prompt would be used */
Packit f574b8
    } FORCE_PROMPT;
Packit f574b8
Packit f574b8
#ifdef USE_SSL
Packit f574b8
    extern int ssl_noprompt;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern int LYNoZapKey;	/* 0: off (do 'z' checking), 1: full, 2: initially */
Packit f574b8
Packit f574b8
#ifdef USE_JUSTIFY_ELTS
Packit f574b8
    extern BOOLEAN ok_justify;
Packit f574b8
    extern int justify_max_void_percent;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef USE_LOCALE_CHARSET
Packit f574b8
    extern BOOLEAN LYLocaleCharset;
Packit f574b8
#endif
Packit f574b8
    extern BOOLEAN assumed_charset;
Packit f574b8
Packit f574b8
#ifndef NO_DUMP_WITH_BACKSPACES
Packit f574b8
    extern BOOLEAN with_backspaces;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if defined(PDCURSES) && defined(PDC_BUILD) && PDC_BUILD >= 2401
Packit f574b8
    extern int scrsize_x;
Packit f574b8
    extern int scrsize_y;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern BOOLEAN conv_jisx0201kana;
Packit f574b8
    extern BOOLEAN wait_viewer_termination;
Packit f574b8
Packit f574b8
#ifndef NO_LYNX_TRACE
Packit f574b8
    extern FILE *LYTraceLogFP;	/* Pointer for TRACE log         */
Packit f574b8
    extern char *LYTraceLogPath;	/* Path for TRACE log            */
Packit f574b8
#endif
Packit f574b8
    extern BOOLEAN LYUseTraceLog;	/* Use a TRACE log?              */
Packit f574b8
Packit f574b8
    extern BOOLEAN force_empty_hrefless_a;
Packit f574b8
    extern int connect_timeout;
Packit f574b8
    extern int reading_timeout;
Packit f574b8
Packit f574b8
#ifdef TEXTFIELDS_MAY_NEED_ACTIVATION
Packit f574b8
    extern BOOL textfields_need_activation;
Packit f574b8
    extern BOOLEAN textfields_activation_option;
Packit f574b8
Packit f574b8
#ifdef INACTIVE_INPUT_STYLE_VH
Packit f574b8
    extern BOOL textinput_redrawn;
Packit f574b8
#endif
Packit f574b8
#else
Packit f574b8
#define textfields_need_activation FALSE
Packit f574b8
#endif				/* TEXTFIELDS_MAY_NEED_ACTIVATION */
Packit f574b8
Packit f574b8
    extern BOOLEAN textfield_prompt_at_left_edge;
Packit f574b8
Packit f574b8
#ifndef VMS
Packit f574b8
    extern BOOLEAN LYNoCore;
Packit f574b8
    extern BOOLEAN restore_sigpipe_for_children;
Packit f574b8
#endif				/* !VMS */
Packit f574b8
Packit f574b8
#if defined(USE_COLOR_STYLE)
Packit f574b8
    extern int LYuse_color_style;	/* color-style vs oldlynx */
Packit f574b8
    extern char *lynx_lss_file;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef USE_DEFAULT_COLORS
Packit f574b8
    extern BOOLEAN LYuse_default_colors;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern int HTNoDataOK;	/* HT_NO_DATA-is-ok hack */
Packit f574b8
    extern BOOLEAN FileInitAlreadyDone;
Packit f574b8
Packit f574b8
#ifdef USE_PROGRAM_DIR
Packit f574b8
    extern char *program_dir;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef __DJGPP__
Packit f574b8
    extern BOOLEAN watt_debug;
Packit f574b8
    extern BOOLEAN dj_is_bash;
Packit f574b8
#endif				/* __DJGPP__ */
Packit f574b8
Packit f574b8
#ifdef WIN_EX
Packit f574b8
/* LYMain.c */
Packit f574b8
    extern BOOLEAN focus_window;
Packit f574b8
    extern BOOLEAN system_is_NT;
Packit f574b8
    extern char windows_drive[4];
Packit f574b8
    extern int lynx_timeout;
Packit f574b8
    extern CRITICAL_SECTION critSec_READ;
Packit f574b8
#endif				/* _WINDOWS */
Packit f574b8
Packit f574b8
    extern BOOLEAN show_cfg;
Packit f574b8
    extern BOOLEAN no_table_center;
Packit f574b8
Packit f574b8
#if USE_BLAT_MAILER
Packit f574b8
    extern BOOLEAN mail_is_altblat;
Packit f574b8
    extern BOOLEAN mail_is_blat;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if defined(__CYGWIN__)
Packit f574b8
#include <io.h>
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if !defined(__CYGWIN__) && defined(__CYGWIN32__)
Packit f574b8
#define __CYGWIN__
Packit f574b8
Packit f574b8
#define	cygwin_conv_to_full_win32_path(p, q) \
Packit f574b8
	cygwin32_conv_to_full_win32_path(p, q)
Packit f574b8
Packit f574b8
#define	cygwin_conv_to_full_posix_path(p, q) \
Packit f574b8
	cygwin32_conv_to_full_posix_path(p, q)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef __CYGWIN__
Packit f574b8
#define ConvertToWin32Path(p, q) \
Packit f574b8
	cygwin_conv_to_full_win32_path(p, q);
Packit f574b8
#else
Packit f574b8
#define ConvertToWin32Path(p, q) \
Packit f574b8
	q = p
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef USE_SCROLLBAR
Packit f574b8
/* GridText.c */
Packit f574b8
    extern BOOLEAN LYShowScrollbar;
Packit f574b8
    extern BOOLEAN LYsb_arrow;
Packit f574b8
    extern int LYsb_begin;
Packit f574b8
    extern int LYsb_end;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef MARK_HIDDEN_LINKS
Packit f574b8
    extern char *hidden_link_marker;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef USE_BLINK
Packit f574b8
    extern BOOLEAN term_blink_is_boldbg;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
}
Packit f574b8
#endif
Packit f574b8
#endif				/* LYGLOBALDEFS_H */