home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Spezial / SPEZIAL2_97.zip / SPEZIAL2_97.iso / ANWEND / ONLINE / OS2LYN_1 / OS2LYN_1.ZIP / userdefs.h < prev   
C/C++ Source or Header  |  1997-05-20  |  52KB  |  1,239 lines

  1. /*
  2.  * Lynx - Hypertext navigation system
  3.  *
  4.  *   (c) Copyright 1992, 1993, 1994 University of Kansas
  5.  *     1995, 1996: GNU General Public License
  6.  */
  7.  
  8. /*******************************************************************
  9.  * There are three sections to this document
  10.  *  Section 1.  Things you MUST change or verify
  11.  *    Section 1a)  VMS specific things
  12.  *    Section 1b)  UNIX specific things
  13.  *    Section 1c)  ALL Platforms
  14.  *
  15.  *  Section 2.  Things you should probably check!
  16.  *
  17.  *  Section 3.  Things you should only change after you have a good
  18.  *              understanding of the program!
  19.  *
  20.  */
  21.  
  22. #ifndef USERDEFS_H
  23. #define USERDEFS_H
  24.  
  25. /*******************************************************************
  26.  * Things you must change
  27.  *  Section 1. 
  28.  */
  29.  
  30. /*******************************************************************
  31.  * Things you must change  VMS specific
  32.  *  Section 1a). 
  33.  */
  34. #ifdef VMS
  35. /**************************
  36.  * TEMP_SPACE is where Lynx temporary cache files will be placed.
  37.  * Temporary files are removed automatically as long as nothing
  38.  * goes terribly wrong :)
  39.  * This definition can be overridden at run time by defining a
  40.  * "LYNX_TEMP_SPACE" VMS logical.
  41.  */
  42. #define TEMP_SPACE "sys$scratch:"
  43.  
  44. /**************************
  45.  * LYNX_CFG_FILE is the location and name of the default lynx
  46.  * global configuration file.  It is sought and processed at
  47.  * startup of Lynx, followed by a seek and processing of a
  48.  * personal RC file (.lynxrc in the user's HOME directory,
  49.  * created if the user saves values in the 'o'ptions menu).
  50.  * You also can define the location and name of the global
  51.  * configuration file via a VMS logical, "LYNX_CFG", which
  52.  * will override the "LYNX_CFG_FILE" definition here.  SYS$LOGIN:
  53.  * can be used as the device in either or both definitions if
  54.  * you want lynx.cfg treated as a personal configuration file.
  55.  * You also can use Unix syntax with a '~' for a subdirectory
  56.  * of the login directory, (e.g., ~/lynx/lynx.cfg).
  57.  * The -cfg command line switch will override these definitions.
  58.  * You can pass the compilation default via build.com or descrip.mms.
  59.  *
  60.  * Note that some implementations of telnet allow passing of
  61.  * environment variables, which might be used by unscrupulous
  62.  * people to modify the environment in anonymous accounts.  When
  63.  * making Lynx and Web access publically available via anonymous
  64.  * accounts intended to run Lynx captively, be sure the wrapper
  65.  * uses the -cfg switch and specifies the startfile, rather than
  66.  * relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables.
  67.  *
  68.  * Note that any SUFFIX or VIEWER mappings in the configuration
  69.  * file will be overidden by any suffix or viewer mappings
  70.  * that are established as defaults in src/HTInit.c.  You can
  71.  * override the src/HTInit.c defaults via the mime.types and
  72.  * mailcap files (see the examples in the samples directory).
  73.  */
  74. #ifndef LYNX_CFG_FILE
  75. #define LYNX_CFG_FILE "Lynx_Dir:lynx.cfg"
  76. #endif /* LYNX_CFG_FILE */
  77.  
  78. /**************************
  79.  * The EXTENSION_MAP file allows you to map file suffix's to 
  80.  * mime types.
  81.  * These global and personal files override anything in
  82.  * lynx.cfg or src/HTInit.c
  83.  */
  84. #define GLOBAL_EXTENSION_MAP "Lynx_Dir:mime.types"
  85. #define PERSONAL_EXTENSION_MAP "mime.types"
  86.  
  87. /**************************
  88.  * The MAILCAP file allows you to map file MIME types to 
  89.  * external viewers.
  90.  * These global and personal files override anything in
  91.  * lynx.cfg or src/HTInit.c
  92.  */ 
  93. #define GLOBAL_MAILCAP "Lynx_Dir:mailcap"
  94. #define PERSONAL_MAILCAP ".mailcap"
  95.  
  96. /**************************
  97.  * XLOADIMAGE_COMMAND will be used as a default in src/HTInit.c
  98.  * for viewing image content types when the DECW$DISPLAY logical
  99.  * is set.  Make it the foreign command for your system's X image
  100.  * viewer (commonly, "xv").  Make it "exit" or something like that
  101.  * if you don't have one.  It can be anything that will handle GIF,
  102.  * TIFF and other popular image formats.  Freeware ports of xv for
  103.  * VMS are available in the ftp://ftp.wku.edu/vms/unsupported and
  104.  * http://www.openvms.digital.com/cd/XV310A/ subdirectories.  You
  105.  * must also have a "%s" for the filename.  The default defined
  106.  * here can be overridden in lynx.cfg, or via the global or personal
  107.  * mailcap files.
  108.  */
  109. #define XLOADIMAGE_COMMAND "xv %s"
  110.  
  111. /**************************
  112.  * The full path and name of the standard VMS "mail" command.
  113.  *
  114.  * The mail command will be spawned as a subprocess of lynx
  115.  * and used to send replies and error messages.  It must be
  116.  * defined here, and can be changed in lynx.cfg.
  117.  * SYSTEM_MAIL must be able to accept a subject line through
  118.  * the use of the /subject="SUBJECT" option.
  119.  * If your mailer uses another syntax, some hacking of the
  120.  * mailmsg() and reply_by_mail() functions in LYMail.c may
  121.  * be required.
  122.  */
  123. #define SYSTEM_MAIL "mail"
  124.  
  125. /*************************
  126.  * below is the argument for an sprintf command that will add
  127.  * "IN%""ADDRESS""" to the Internet mail address given by the user.
  128.  * It is structured for PMDF's IN%"INTERNET_ADDRESS" scheme.  The %s
  129.  * is replaced with the address given by the user.  If you are using
  130.  * a different Internet mail transport, change the IN appropriately
  131.  * (e.g., to SMTP, MX, or WINS), here or in lynx.cfg.
  132.  */
  133. #define MAIL_ADRS "\"IN%%\"\"%s\"\"\""
  134.  
  135. /*********************************
  136.  * On VMS, CSwing (an XTree emulation for VTxxx terminals) is intended for
  137.  * use as the Directory/File Manager (sources, objects, or executables are
  138.  * available from ftp://narnia.memst.edu/).  CSWING_PATH should be defined
  139.  * here or in lynx.cfg to your foreign command for CSwing, with any
  140.  * regulatory switches you want included.  If not defined, or defined as
  141.  * a zero-length string ("") or "none" (case-insensitive), the support
  142.  * will be disabled.  It will also be disabled if the -nobrowse or
  143.  * -selective switches are used, or if the file_url restriction is set.
  144.  *
  145.  * When enabled, the DIRED_MENU command (normally 'f' or 'F') will invoke
  146.  * CSwing, normally with the current default directory as an argument to
  147.  * position the user on that node of the directory tree.  However, if the
  148.  * current document is a local directory listing, or a local file and not
  149.  * one of the temporary menu or list files, the associated directory will
  150.  * be passed as an argument, to position the user on that node of the tree.
  151.  */
  152. /* #define CSWING_PATH "swing" */
  153.  
  154. /*********************************
  155.  * If USE_FIXED_RECORDS is set to TRUE here and/or in lynx.cfg, Lynx will
  156.  * convert 'd'ownloaded binary files to FIXED 512 record format before saving
  157.  * them to disk or acting on a DOWNLOADER option.  If set to FALSE, the
  158.  * headers of such files will indicate that they are Stream_LF with Implied
  159.  * Carriage Control, which is incorrect, and can cause downloading software
  160.  * to get confused and unhappy.  If you do set it FALSE, you can use the
  161.  * FIXED512.COM command file, which is included in this distribution, to do
  162.  * the conversion externally.
  163.  */
  164. #define USE_FIXED_RECORDS    TRUE    /* convert binaries to FIXED 512 */
  165.  
  166. /********************************
  167.  * If NO_ANONYMOUS_EMAIL is defined, Lynx will not offer to insert X-From
  168.  * and X_Personal_Name lines in the body of email messages.  On VMS, the
  169.  * actual From and Personal Name (if defined for the account) headers always
  170.  * are those of the account running the Lynx image.  If the account is not
  171.  * the one to which the recipient should reply, you can indicate the alternate
  172.  * address and personal name via the X-From and X_Personal_Name entries, but
  173.  * the recipient must explicitly send the reply to the X_From address, rather
  174.  * than using the VMS REPLY command (which will use the actual From address).
  175.  *
  176.  * This symbol constant might be defined on Unix for security reasons that
  177.  * don't apply on VMS.  There is no security reason for defining this on VMS,
  178.  * but if you have no anonymous accounts (i.e., the From always will point to
  179.  * the actual user's email address, you can define it to avoid the bother of
  180.  * X-From and X_Personal_Name offers.
  181.  */
  182. /*#define NO_ANONYMOUS_EMAIL TRUE */
  183.  
  184. /*******************************************************************
  185.  * Things you must change  UNIX specific
  186.  *  Section 1b). 
  187.  */
  188. #else     /* UNIX */
  189.  
  190. /**************************
  191.  * LYNX_CFG_FILE is the location and name of the default lynx
  192.  * global configuration file.  It is sought and processed at
  193.  * startup of Lynx, followed by a seek and processing of a
  194.  * personal RC file (.lynxrc in the user's HOME directory,
  195.  * created if the user saves values in the 'o'ptions menu).
  196.  * You also can define the location and name of the global
  197.  * configuration file via an environment variable, "LYNX_CFG",
  198.  * which will override the "LYNX_CFG_FILE" definition here.
  199.  * You can use '~' in either or both definitions if you want
  200.  * lynx.cfg treated as a personal configuration file.  The
  201.  * -cfg command line switch will override these definitions.
  202.  * You can pass the compilation default via the Makefile.
  203.  *
  204.  * Note that many implementations of telnetd allow passing of
  205.  * environment variables, which might be used by unscrupulous
  206.  * people to modify the environment in anonymous accounts.  When
  207.  * making Lynx and Web access publically available via anonymous
  208.  * accounts intended to run Lynx captively, be sure the wrapper
  209.  * uses the -cfg switch and specifies the startfile, rather than
  210.  * relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables.
  211.  *
  212.  * Note that any SUFFIX or VIEWER mappings in the configuration
  213.  * file will be overidden by any suffix or viewer mappings
  214.  * that are established as defaults in src/HTInit.c.  You can
  215.  * override the src/HTInit.c defaults via the mime.types and
  216.  * mailcap files (see the examples in the samples directory).
  217.  */
  218. #ifndef LYNX_CFG_FILE
  219. #define LYNX_CFG_FILE "./lynx.cfg"
  220. #endif /* LYNX_CFG_FILE */
  221.  
  222. /**************************
  223.  * The EXTENSION_MAP file allows you to map file suffix's to 
  224.  * mime types.
  225.  * These global and personal files override anything in
  226.  * lynx.cfg or src/HTInit.c
  227.  */
  228. #define GLOBAL_EXTENSION_MAP "/mptn/etc/mime.types"
  229. #define PERSONAL_EXTENSION_MAP ".mime.types"
  230.  
  231. /**************************
  232.  * The MAILCAP file allows you to map file MIME types to 
  233.  * external viewers.
  234.  * These global and personal files override anything in
  235.  * lynx.cfg or src/HTInit.c
  236.  */
  237. #define GLOBAL_MAILCAP "/mptn/etc/mailcap"
  238. #define PERSONAL_MAILCAP ".mailcap"
  239.  
  240. /**************************
  241.  * the full path and name of the telnet command
  242.  */
  243. #define TELNET_COMMAND "telnet"
  244.  
  245. /**************************
  246.  * the full path and name of the tn3270 command
  247.  */
  248. #define TN3270_COMMAND "tn3270"
  249.  
  250. /**************************
  251.  * the full path and name of the rlogin command
  252.  */
  253. #define RLOGIN_COMMAND "rlogin"
  254.  
  255. /**************************
  256.  * XLOADIMAGE_COMMAND will be used as a default in src/HTInit.c for
  257.  * viewing image content types when the DISPLAY environment variable
  258.  * is set.  Make it the full path and name of the xli (also known as
  259.  * xloadimage or xview) command, or other image viewer.  Put 'echo' or
  260.  * something like it here if you don't have a suitable viewer.  It can
  261.  * be anything that will handle GIF, TIFF and other popular image formats
  262.  * (xli does).  The freeware distribution of xli is available in the
  263.  * ftp://ftp.x.org/contrib/ subdirectory.  The shareware, xv, also is
  264.  * suitable.  You must also have a "%s" for the filename; "&" for
  265.  * background is optional.  The default defined here can be overridden
  266.  * in lynx.cfg, or via the global or personal mailcap files.  Note that
  267.  * open is used as the default for NeXT, instead of the XLOADIMAGE_COMMAND
  268.  * definition.
  269.  */
  270. #define XLOADIMAGE_COMMAND "cmd /c start ib %s"
  271.  
  272. /**************************
  273.  * For UNIX systems this should be sendmail
  274.  * sendmail should be in /usr/lib 
  275.  *
  276.  * You definitely want sendmail, not mail or elm or something else,
  277.  * except in the case where MMDF is your mail agent.
  278.  * For MMDF you should use submit (SCO)
  279.  *
  280.  * SYSTEM_MAIL must be defined here.  You can change it in lynx.cfg.
  281.  *
  282.  * If you do not use the recommended mailers, some hacking of
  283.  * the mailmsg() and reply_by_mail() functions in LYMail.c, or
  284.  * interposition of a script, may be required.
  285.  */
  286. #ifdef MMDF
  287. #define SYSTEM_MAIL "/usr/mmdf/bin/submit" 
  288. #else
  289. #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__bsdi__)
  290. #define SYSTEM_MAIL "/usr/sbin/sendmail"
  291. #else
  292. #ifdef OS2
  293. #define SYSTEM_MAIL "sendmail.exe"
  294. #else /* everthing else: */
  295. #define SYSTEM_MAIL "/usr/lib/sendmail" 
  296. #endif /* OS2 */
  297. #endif /* __FreeBSD || __NetBSD__ || __bsdi__ */
  298. #endif /* MMDF */
  299.  
  300. /**************************
  301.  * A place to put temporary files, it's almost always "/tmp/" on
  302.  * UNIX systems
  303.  * This definition can be overridden at run time by setting a
  304.  * "LYNX_TEMP_SPACE" environment symbol.
  305.  */
  306. #define TEMP_SPACE (getenv("TMP"))
  307.  
  308. /********************************
  309.  * Don't let the user enter his/hers email address when sending a message.
  310.  * Anonymous mail makes it far too easy for a user to spoof someone elses
  311.  * email address.
  312.  * This requires that your mailer agent put in the From: field for you.
  313.  
  314.  * The default should be to uncomment this line but there probably are too
  315.  * many mail agents out there that won't do the right thing if there is no
  316.  * From: line.
  317.  */
  318. /* #define NO_ANONYMOUS_EMAIL TRUE */
  319.  
  320. /********************************
  321.  * LIST_FORMAT defines the display for local files when LONG_LIST
  322.  * is defined in the Makefile.  The default set here can be changed
  323.  * in lynx.cfg.
  324.  *
  325.  * The percent items in the list are interpreted as follows:
  326.  *
  327.  *    %p    Unix-style permission bits
  328.  *    %l    link count
  329.  *    %o    owner of file
  330.  *    %g    group of file
  331.  *    %d    date of last modification
  332.  *    %a    anchor pointing to file or directory
  333.  *    %A    as above but don't show symbolic links
  334.  *    %k    size of file in Kilobytes
  335.  *    %K    as above but omit size for directories
  336.  *    %s    size of file in bytes
  337.  *
  338.  * Anything between the percent and the letter is passed on to sprintf.
  339.  * A double percent yields a literal percent on output.  Other characters
  340.  * are passed through literally.
  341.  *
  342.  * If you want only the filename:  "    %a"
  343.  *
  344.  * If you want a brief output:     "    %4K %-12.12d %a"
  345.  *
  346.  * For the Unix "ls -l" format:    "    %p %4l %-8.8o %-8.8g %7s %-12.12d %a"
  347.  */
  348. #define LIST_FORMAT "    %p %4l %-8.8o %-8.8g %7s %-12.12d %a"
  349.  
  350. #endif /* VMS OR UNIX */
  351.  
  352. /*************************************************************
  353.  *  Section 1c)   Every platform must change or verify these
  354.  *
  355.  */
  356.  
  357. /*****************************
  358.  * STARTFILE is the default file if none is specified in lynx.cfg,
  359.  *  on the command line, or via a WWW_HOME environment variable.
  360.  * 
  361.  * note: STARTFILE must be a URL.  See the Lynx online help for more
  362.  *       information on URLs
  363.  */
  364. #define STARTFILE "http://lynx.browser.org/"
  365.  
  366. /*****************************
  367.  * HELPFILE must be defined as a URL and must have a 
  368.  * complete path if local:
  369.  * file://localhost/PATH_TO/lynx_help/lynx_help_main.html
  370.  *   Replace PATH_TO with the path to the lynx_help subdirectory
  371.  *   for this distribution (use SHELL syntax including the device
  372.  *   on VMS systems).
  373.  * The default HELPFILE is:
  374.  * http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html
  375.  *   This should be changed here or in lynx.cfg to the local path.
  376.  */
  377. /* #define HELPFILE "http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html" */
  378. /* #define HELPFILE "file://localhost/PATH_TO/lynx_help/lynx_help_main.html" */
  379. #define HELPFILE "file://localhost/./lynx_help/lynx_help_main.html"
  380.  
  381. /*****************************
  382.  * DEFAULT_INDEX_FILE is the default file retrieved when the
  383.  * user presses the 'I' key when viewing any document.
  384.  * An index to your CWIS can be placed here or a document containing
  385.  * pointers to lots of interesting places on the web.
  386.  */
  387. #define DEFAULT_INDEX_FILE "http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html"
  388.  
  389. /*******************************
  390.  * If GOTOBUFFER is set to TRUE here or in lynx.cfg the last entered
  391.  * goto URL, if any, will be offered as a default for reuse or editing
  392.  * when the 'g'oto command is entered.  All previously used goto URLs
  393.  * can be accessed for reuse or editing via a circular buffer invoked
  394.  * with the Up-Arrow or Down-Arrow keys after entering the 'g'oto
  395.  * command, whether or not a default is offered.
  396.  */
  397. #define GOTOBUFFER      TRUE
  398.  
  399. /*****************************
  400.  * JUMPFILE is the default local file checked for shortcut URLs when
  401.  * the user presses the 'J' (JUMP) key.  The user will be prompted for
  402.  * a shortcut entry (analogously to 'g'oto), and can enter one
  403.  * or use '?' for a list of the shortcuts with associated links to
  404.  * their actual URLs.  See the sample jumps files in the samples
  405.  * subdirectory.  Make sure your jumps file includes a '?' shortcut
  406.  * for a file://localhost URL to itself:
  407.  *
  408.  * <dt>?<dd><a href="file://localhost/path/jumps.html">This Shortcut List</a>
  409.  *
  410.  * If not defined here or in lynx.cfg, the JUMP command will invoke
  411.  * the NO_JUMPFILE statusline message (see LYMessages_en.h).  The prompt
  412.  * associated with the default jumps file is defined as JUMP_PROMPT in
  413.  * LYMessages_en.h and can be modified in lynx.cfg.  Additional, alternate
  414.  * jumps files can be defined and mapped to keystrokes, and alternate
  415.  * prompts can be set for them, in lynx.cfg, but at least one default
  416.  * jumps file and associated prompt should be established before adding
  417.  * others.
  418.  *
  419.  * On VMS, use Unix SHELL syntax (including a lead slash) to define it.
  420.  *
  421.  * Do not include "file://localhost" in the definition.
  422.  */
  423. /* #define JUMPFILE "/Lynx_Dir/jumps.html" */
  424.  
  425. /*******************************
  426.  * If JUMPBUFFER is set to TRUE here or in lynx.cfg the last entered
  427.  * jump shortcut, if any, will be offered as a default for reuse or
  428.  * editing when the JUMP command is entered.  All previously used
  429.  * shortcuts can be accessed for reuse or editing via a circular buffer
  430.  * invoked with the Up-Arrow or Down-Arrow keys after entering the JUMP
  431.  * command, whether or not a default is offered.  If you have multiple
  432.  * jumps files and corresponding key mappings, each will have its own
  433.  * circular buffer.
  434.  */
  435. #define JUMPBUFFER      FALSE
  436.  
  437. /********************************
  438.  * If PERMIT_GOTO_FROM_JUMP is defined, then a : or / in a jump target
  439.  * will be treated as a full or partial URL (to be resolved versus the
  440.  * startfile), and will be handled analogously to a 'g'oto command.
  441.  * Such "random URLs" will be entered in the circular buffer for goto
  442.  * URLs, not the buffer for jump targets (shortcuts).  If the target
  443.  * is the single character ':', it will be treated equivalently to an
  444.  * Up-Arrow or Down-Arrow following a 'g'oto command, for accessing the
  445.  * circular buffer of goto URLs.
  446.  */
  447. /* #define PERMIT_GOTO_FROM_JUMP */
  448.  
  449. /*****************************
  450.  * If LYNX_HOST_NAME is defined here and/or in lynx.cfg, it will be
  451.  * treated as an alias for the local host name in checks for URLs on
  452.  * the local host (e.g., when the -localhost switch is set), and this
  453.  * host name, "localhost", and HTHostName (the fully qualified domain
  454.  * name of the system on which Lynx is running) will all be passed as
  455.  * local.  A different definition in lynx.cfg will override this one.
  456.  */
  457. /* #define LYNX_HOST_NAME "www.cc.ukans.edu" */
  458.  
  459. /*********************
  460.  * LOCAL_DOMAIN is used for a tail match with the ut_host element of
  461.  * the utmp or utmpx structure on systems with utmp capabilites, to
  462.  * determine if a user is local to your campus or organization when
  463.  * handling -restrictions=inside_foo or outside_foo settings for ftp,
  464.  * news, telnet/tn3270 and rlogin URLs.  An "inside" user is assumed
  465.  * if your system does not have utmp capabilities.  CHANGE THIS here
  466.  * or in lynx.cfg.
  467.  */
  468. #define LOCAL_DOMAIN ""
  469.  
  470. /********************************
  471. * The DEFAULT_CACHE_SIZE specifies the number of WWW documents to be
  472. * cached in memory at one time.
  473. *
  474. * This so-called cache size (actually, number) may be modified in lynx.cfg
  475. * and or with the command line argument -cache=NUMBER  The minimum allowed
  476. * value is 2, for the current document and at least one to fetch, and there
  477. * is no absolute maximum number of cached documents.  On Unix, and VMS not
  478. * compiled with VAXC, whenever the number is exceeded the least recently
  479. * displayed document will be removed from memory.
  480. *
  481. * On VMS compiled with VAXC, the DEFAULT_VIRTUAL_MEMORY_SIZE specifies the
  482. * amount (bytes) of virtual memory that can be allocated and not yet be freed
  483. * before previous documents are removed from memory.  If the values for both
  484. * the DEFAULT_CACHE_SIZE and DEFAULT_VIRTUAL_MEMORY_SIZE are exceeded, then
  485. * least recently displayed documents will be freed until one or the other
  486. * value is no longer exceeded.  The value can be modified in lynx.cfg.
  487. *
  488. * The Unix and VMS but not VAXC implementations use the C library malloc's
  489. * and calloc's for memory allocation, and procedures for taking the actual
  490. * amount of cache into account still need to be developed.  They use only
  491. * the DEFAULT_CACHE_SIZE value, and that specifies the absolute maximum
  492. * number of documents to cache (rather than the maximum number only if
  493. * DEFAULT_VIRTUAL_MEMORY_SIZE has been exceeded, as with VAXC/VAX).
  494. */
  495. #define DEFAULT_CACHE_SIZE 10
  496.  
  497. #if defined(VMS) && defined(VAXC) && !defined(__DECC)
  498. #define DEFAULT_VIRTUAL_MEMORY_SIZE 512000
  499. #endif /* VMS && VAXC && !__DECC */
  500.  
  501. /********************************
  502.  * If ALWAYS_RESUBMIT_POSTS is set TRUE, Lynx always will resubmit forms
  503.  * with method POST, dumping any cache from a previous submission of the
  504.  * form, including when the document returned by that form is sought with
  505.  * the PREV_DOC command or via the history list.  Lynx always resubmits
  506.  * forms with method POST when a submit button or a submitting text input
  507.  * is activated, but normally retrieves the previously returned document
  508.  * if it had links which you activated, and then go back with the PREV_DOC
  509.  * command or via the history list.
  510.  *
  511.  * The default defined here can be changed in lynx.cfg, and can be toggled
  512.  * via the -resubmit_posts command line switch.
  513.  */
  514. #define ALWAYS_RESUBMIT_POSTS FALSE
  515.  
  516. /********************************
  517.  * CHARACTER_SET defines the default character set, i.e., that assumed
  518.  * to be installed on the user's termimal.  It determines which characters
  519.  * or strings will be used to represent 8-bit character entities within
  520.  * HTML.  New character sets may be defined by modifying the file
  521.  * src/LYCharSets.c in the Lynx source code distribution and recompiling.
  522.  * For Asian (CJK) character sets, it also determines how Kanji code will
  523.  * be handled.  The default defined here can be changed in lynx.cfg, and
  524.  * via the 'o'ptions menu.  The 'o'ptions menu setting will be stored in
  525.  * the user's RC file whenever those settings are saved, and thereafter
  526.  * will be used as the default.  Also see lynx.cfg for information about
  527.  * the -raw switch and LYE_RAW_TOGGLE command.
  528.  * The default character sets include:
  529.  *    ISO Latin 1
  530.  *    ISO Latin 2
  531.  *    Other ISO Latin
  532.  *    DEC Multinational
  533.  *    IBM PC character set
  534.  *    IBM PC codepage 850
  535.  *    Macintosh (8 bit)
  536.  *    NeXT character set
  537.  *    KOI8-R character set
  538.  *    Chinese
  539.  *    Japanese (EUC)
  540.  *    Japanese (SJIS)
  541.  *    Korean
  542.  *    Taipei (Big5)
  543.  *    7 bit approximations
  544.  */
  545. #define CHARACTER_SET "IBM PC codepage 850"
  546.  
  547. /*****************************
  548.  * PREFERRED_LANGUAGE is the language in MIME notation (e.g., "en",
  549.  * "fr") which will be indicated by Lynx in its Accept-Language headers
  550.  * as the preferred language.  If available, the document will be
  551.  * transmitted in that language.  This definition can be overriden via
  552.  * lynx.cfg.  Users also can change it via the 'o'ptions menu and save
  553.  * that preference in their RC file. This may be a comma-separated list
  554.  * of languages in decreasing preference.
  555.  */
  556. #define PREFERRED_LANGUAGE "en"
  557.  
  558. /*****************************
  559.  * PREFERRED_CHARSET specifies the character set in MIME notation (e.g.,
  560.  * "ISO-8859-2", "ISO-8859-5") which Lynx will indicate you prefer in
  561.  * requests to http servers using an Accept-Charsets header.  The value
  562.  * should NOT include "ISO-8859-1" or "US-ASCII", since those values are
  563.  * always assumed by default.  If a file in that character set is available,
  564.  * the server will send it.  Otherwise, the server will send the file in
  565.  * ISO-8859-1 or US-ASCII.  Users can change or eliminate this definition
  566.  * via the 'o'ptions menu and save that preference in their RC file.
  567.  */
  568. #define PREFERRED_CHARSET ""
  569.  
  570. /*****************************
  571. * If MULTI_BOOKMARK_SUPPORT is set TRUE, and BLOCK_MULTI_BOOKMARKS (see
  572. * below) is FALSE, and sub-bookmarks exist, all bookmark operations will
  573. * first prompt the user to select an active sub-bookmark file or the
  574. * default bookmark file.  FALSE is the default so that one (the default)
  575. * bookmark file will be available initially.  The default set here can
  576. * be overridden in lynx.cfg.  The user can turn on multiple bookmark
  577. * support via the 'o'ptions menu, and can save that choice as the startup
  578. * default via the .lynxrc file.  When on, the setting can be STANDARD or
  579. * ADVANCED.  If support is set to the latter, and the user mode also is
  580. * ADVANCED, the VIEW_BOOKMARK command will invoke a statusline prompt at
  581. * which the user can enter the letter token (A - Z) of the desired bookmark,
  582. * or '=' to get a menu of available bookmark files.  The menu always is
  583. * presented in NOVICE or INTERMEDIATE mode, or if the support is set to
  584. * STANDARD.  No prompting or menu display occurs if only one (the startup
  585. * default) bookmark file has been defined (define additional ones via the
  586. * 'o'ptions menu).  The startup default, however set, can be overridden on
  587. * the command line via the -restrictions=multibook or the -anonymous or
  588. * -validate switches.
  589. */
  590. #ifndef MULTI_BOOKMARK_SUPPORT
  591. #define MULTI_BOOKMARK_SUPPORT FALSE
  592. #endif /* MULTI_BOOKMARK_SUPPORT */
  593.  
  594. /*****************************
  595. * If BLOCK_MULTI_BOOKMARKS is set TRUE, multiple bookmark support will
  596. * be forced off, and cannot be toggled on via the 'o'ptions menu.  This
  597. * compilation setting can be overridden via lynx.cfg.
  598. */
  599. #ifndef BLOCK_MULTI_BOOKMARKS
  600. #define BLOCK_MULTI_BOOKMARKS FALSE
  601. #endif /* BLOCK_MULTI_BOOKMARKS */
  602.  
  603. /********************************
  604.  * URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES are strings which will be
  605.  * prepended (together with a scheme://) and appended to the first element
  606.  * of command line or 'g'oto arguments which are not complete URLs and
  607.  * cannot be opened as a local file (file://localhost/string).  Both
  608.  * can be comma-separated lists.  Each prefix must end with a dot, each
  609.  * suffix must begin with a dot, and either may contain other dots (e.g.,
  610.  * .com.jp).  The default lists are defined here, and can be changed
  611.  * in lynx.cfg.  Each prefix will be used with each suffix, in order,
  612.  * until a valid Internet host is created, based on a successful DNS
  613.  * lookup (e.g., foo will be tested as www.foo.com and then www.foo.edu
  614.  * etc.).  The first element can include a :port and/or /path which will
  615.  * be restored with the expanded host (e.g., wfbr:8002/dir/lynx will
  616.  * become http://www.wfbr.edu:8002/dir/lynx).  The prefixes will not be
  617.  * used if the first element ends in a dot (or has a dot before the
  618.  * :port or /path), and similarly the suffixes will not be used if the
  619.  * the first element begins with a dot (e.g., .nyu.edu will become
  620.  * http://www.nyu.edu without testing www.nyu.com).  Lynx will try to
  621.  * guess the scheme based on the first field of the expanded host name,
  622.  * and use "http://" as the default (e.g., gopher.wfbr.edu or gopher.wfbr.
  623.  * will be made gopher://gopher.wfbr.edu).
  624.  */
  625. #define URL_DOMAIN_PREFIXES "www."
  626. #define URL_DOMAIN_SUFFIXES ".com,.edu,.net,.org"
  627.  
  628. /********************************
  629.  * If LIST_NEWS_NUMBERS is set TRUE, Lynx will use an ordered list
  630.  * and include the numbers of articles in news listings, instead of
  631.  * using an unordered list.
  632.  *
  633.  * The default defined here can be changed in lynx.cfg.
  634.  */
  635. #define LIST_NEWS_NUMBERS FALSE
  636.  
  637. /********************************
  638.  * If LIST_NEWS_DATES is set TRUE, Lynx will include the dates of
  639.  * articles in news listings.  The dates always are included in the
  640.  * articles, themselves.
  641.  *
  642.  * The default defined here can be changed in lynx.cfg.
  643.  */
  644. #define LIST_NEWS_DATES FALSE
  645.  
  646. /*************************
  647.  * Set NEWS_POSTING to FALSE if you do not want to support posting to
  648.  * news groups via Lynx.  If left TRUE, Lynx will use its news gateway to
  649.  * post new messages or followups to news groups, using the URL schemes
  650.  * described in the "Supported URL" section of the online 'h'elp.  The
  651.  * posts will be attempted via the nntp server specified in the URL, or
  652.  * if none was specified, via the NNTPSERVER configuration or environment
  653.  * variable.  Links with these URLs for posting or sending followups are
  654.  * created by the news gateway when reading group listings or articles
  655.  * from nntp servers if the server indicates that it permits posting.
  656.  * The setting here can be changed in lynx.cfg.
  657.  */
  658. #define NEWS_POSTING TRUE
  659.  
  660. /*************************
  661.  * Define LYNX_SIG_FILE to the name of a file containing a signature which
  662.  * can be appended to email messages and news postings or followups.  The
  663.  * user will be prompted whether to append it.  It is sought in the home
  664.  * directory.  If it is in a subdirectory, begin it with a dot-slash
  665.  * (e.g., ./lynx/.lynxsig).  The definition here can be changed in lynx.cfg.
  666.  */
  667. #define LYNX_SIG_FILE ".lynxsig"
  668.  
  669. /********************************
  670.  * If USE_SELECT_POPUPS is set FALSE, Lynx will present a vertical list
  671.  * of radio buttons for the OPTIONs in SELECT blocks which lack the
  672.  * MULTIPLE attribute, instead of using a popup menu.  Note that if
  673.  * the MULTIPLE attribute is present in the SELECT start tag, Lynx
  674.  * always will create a vertical list of checkboxes for the OPTIONs.
  675.  *
  676.  * The default defined here can be changed in lynx.cfg, and can be
  677.  * toggled via the -popup command line switch.
  678.  */
  679. #define USE_SELECT_POPUPS TRUE
  680.  
  681. /********************************
  682.  * If COLLAPSE_BR_TAGS is set FALSE, Lynx will not collapse serial
  683.  * BR tags.  Note that the valid way to insert extra blank lines in
  684.  * HTML is via a PRE block with only newlines in the block.
  685.  *
  686.  * The default defined here can be changed in lynx.cfg.
  687.  */
  688. #define COLLAPSE_BR_TAGS TRUE
  689.  
  690. /********************************
  691.  * If SET_COOKIES is set FALSE, Lynx will ignore Set-Cookie headers
  692.  * in http server replies.
  693.  *
  694.  * The default defined here can be changed in lynx.cfg, and can be toggled
  695.  * via the -cookies command line switch.
  696.  */
  697. #define SET_COOKIES TRUE
  698.  
  699.  
  700. /****************************************************************
  701.  *   Section 2.   Things that you probably want to change or review
  702.  *
  703.  */
  704.  
  705. /*****************************
  706.  * The following three definitions set the number of seconds for
  707.  * pauses following statusline messages that would otherwise be
  708.  * replaced immediately, and are more important than the unpaused
  709.  * progress messages.  Those set by INFOSECS are also basically
  710.  * progress messages (e.g., that a prompted input has been cancelled)
  711.  * and should have the shortest pause.  Those set by MESSAGESECS are
  712.  * informational (e.g., that a function is disabled) and should have
  713.  * a pause of intermediate duration.  Those set by ALERTSECS typically
  714.  * report a serious problem and should be paused long enough to read
  715.  * whenever they appear (typically unexpectedly).  The default values
  716.  * defined here can be modified via lynx.cfg, should longer pauses be
  717.  * desired for braille-based access to Lynx.
  718.  */
  719. #define INFOSECS 1
  720. #define MESSAGESECS 2
  721. #define ALERTSECS 3
  722.  
  723. /*****************************
  724.  * Enter the name of your anonymous account if you have one
  725.  * as ANONYMOUS_USER.  UNIX systems will use a cuserid
  726.  * or get_login call to determine if the current user is
  727.  * the ANONYMOUS_USER.  VMS systems will use getenv("USER").
  728.  *
  729.  * You may use the "-anonymous" option for multiple accounts,
  730.  * or for precautionary reasons in the anonymous account,
  731.  * as well.
  732.  *
  733.  * It is very important to have this correctly defined or include
  734.  * the "-anonymous" command line option for invokations of Lynx
  735.  * in an anonymous account!  If you do not you will be putting 
  736.  * yourself at GREAT security risk!
  737.  *
  738.  * Later on in this file you can specify privileges for the
  739.  * anonymous account.
  740.  */
  741. #define ANONYMOUS_USER ""
  742.  
  743. /******************************
  744.  * SHOW_CURSOR controls whether or not the cursor is hidden or appears
  745.  * over the link.  The default set here can be changed in lynx.cfg,
  746.  * and can be toggled with the -show_cursor command line option.
  747.  * Showing the cursor is handy if you are a sighted user with a poor
  748.  * terminal that can't do bold and reverse video at the same time or
  749.  * at all.  It also can be useful to blind users, as an alternative
  750.  * or supplement to setting LINKS_ARE_NUMBERED.
  751.  */
  752. #define SHOW_CURSOR FALSE
  753.  
  754. /******************************
  755.  * BOXVERT and BOXHORI control the layout of popup menus.  Set to 0 if your
  756.  * curses supports line-drawing characters, set to '*' or any other character
  757.  * to not use line-drawing (e.g., '|' for vertical and '-' for horizontal).
  758.  */
  759. /* #define BOXVERT '*' */
  760. #define BOXVERT 0
  761. /* #define BOXHORI '*' */
  762. #define BOXHORI 0
  763.  
  764. /******************************
  765.  * LY_UMLAUT controls the 7-bit expansion of characters with dieresis or
  766.  * umlaut.  If defined, a digraph is displayed, e.g., auml --> ae
  767.  * Otherwise, a single character is displayed,  e.g., auml --> a
  768.  */
  769. /* #define LY_UMLAUT */
  770.  
  771. /*******************************
  772.  * set to FALSE if you don't want users of your anonymous account
  773.  * who are calling from inside your local domain
  774.  * to be able to telnet back out
  775.  */
  776. #define CAN_ANONYMOUS_INSIDE_DOMAIN_TELNET    TRUE
  777.  
  778. /*******************************
  779.  * set to FALSE if you don't want users of your anonymous
  780.  * account who are calling from outside your
  781.  * local domain to be able to telnet back out
  782.  */
  783. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_TELNET    TRUE
  784.  
  785. /*******************************
  786.  * set to FALSE if you don't want users of your anonymous account
  787.  * who are calling from inside your local domain
  788.  * to be able to read news
  789.  */
  790. #define CAN_ANONYMOUS_INSIDE_DOMAIN_READ_NEWS    TRUE
  791.  
  792. /*******************************
  793.  * set to FALSE if you don't want users of your anonymous
  794.  * account who are calling from outside your
  795.  * local domain to be able to read news
  796.  */
  797. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_READ_NEWS    FALSE
  798.  
  799. /*******************************
  800.  * set to FALSE if you don't want users of your anonymous
  801.  * account who are calling from inside your local domain
  802.  * to be able to use ftp
  803.  */
  804. #define CAN_ANONYMOUS_INSIDE_DOMAIN_FTP        TRUE
  805.  
  806. /*******************************
  807.  * set to FALSE if you don't want users of your anonymous
  808.  * account who are calling from outside your local domain
  809.  * to be able to use ftp
  810.  */
  811. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_FTP    TRUE
  812.  
  813. /*******************************
  814.  * set to FALSE if you don't want users of your anonymous
  815.  * account who are calling from inside your local domain 
  816.  * to be able to use rlogin
  817.  */
  818. #define CAN_ANONYMOUS_INSIDE_DOMAIN_RLOGIN    TRUE
  819.  
  820. /*******************************
  821.  * set to FALSE if you don't want users of your anonymous
  822.  * account who are calling from outside your local domain
  823.  * to be able to use rlogin
  824.  */
  825. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_RLOGIN    TRUE
  826.  
  827. /*******************************
  828.  * set to FALSE if you don't want users of your anonymous
  829.  * account to be able to goto random URLs. (The 'g' command)
  830.  */
  831. #define CAN_ANONYMOUS_GOTO        TRUE
  832.  
  833. /*******************************
  834.  * set to FALSE if you don't want users of your anonymous
  835.  * account to be able to goto particular URLs.
  836.  */
  837. #define CAN_ANONYMOUS_GOTO_CSO        TRUE
  838. #define CAN_ANONYMOUS_GOTO_FILE        TRUE
  839. #define CAN_ANONYMOUS_GOTO_FINGER    TRUE
  840. #define CAN_ANONYMOUS_GOTO_FTP        TRUE
  841. #define CAN_ANONYMOUS_GOTO_GOPHER    TRUE
  842. #define CAN_ANONYMOUS_GOTO_HTTP        TRUE
  843. #define CAN_ANONYMOUS_GOTO_HTTPS    TRUE
  844. #define CAN_ANONYMOUS_GOTO_LYNXCGI    TRUE
  845. #define CAN_ANONYMOUS_GOTO_LYNXEXEC    TRUE
  846. #define CAN_ANONYMOUS_GOTO_LYNXPROG    TRUE
  847. #define CAN_ANONYMOUS_GOTO_MAILTO    TRUE
  848. #define CAN_ANONYMOUS_GOTO_NEWS        TRUE
  849. #define CAN_ANONYMOUS_GOTO_NNTP        TRUE
  850. #define CAN_ANONYMOUS_GOTO_RLOGIN    TRUE
  851. #define CAN_ANONYMOUS_GOTO_SNEWS    TRUE
  852. #define CAN_ANONYMOUS_GOTO_TELNET    TRUE
  853. #define CAN_ANONYMOUS_GOTO_TN3270    TRUE
  854. #define CAN_ANONYMOUS_GOTO_WAIS        TRUE
  855.  
  856. /*******************************
  857.  * set to FALSE if you don't want users of your anonymous
  858.  * account to be able to specify a port in 'g'oto commands
  859.  * for telnet URLs.
  860.  */
  861. #define CAN_ANONYMOUS_GOTO_TELNET_PORT    FALSE
  862.  
  863. /*******************************
  864.  * set to FALSE if you don't want users of your anonymous
  865.  * account to be able to jump to URLs (The 'J' command)
  866.  * via the shortcut entries in your JUMPFILE.
  867.  */
  868. #define CAN_ANONYMOUS_JUMP    TRUE
  869.  
  870. /*******************************
  871.  * set to FALSE if you don't want users of your anonymous
  872.  * account to be able to mail
  873.  */
  874. #define CAN_ANONYMOUS_MAIL    TRUE
  875.  
  876. /*******************************
  877.  * set to FALSE if you don't want users of your anonymous
  878.  * account to be able to print
  879.  */
  880. #define CAN_ANONYMOUS_PRINT    FALSE
  881.  
  882. /*******************************
  883.  * Execution links/scripts configuration.
  884.  *
  885.  * Execution links and scripts allow you to run
  886.  * local programs by activating links within Lynx.
  887.  *
  888.  * An execution link is of the form:
  889.  *
  890.  *     lynxexec:<COMMAND>
  891.  * or:
  892.  *     lynxexec://<COMMAND>
  893.  * or:
  894.  *     lynxprog:<COMMAND>
  895.  * or:
  896.  *     lynxprog://<COMMAND>
  897.  *
  898.  * where <COMMAND> is a command that Lynx will run when the link is
  899.  * activated.  The double-slash should be included if the command begins
  900.  * with an '@', as for executing VMS command files.  Otherwise, the double-
  901.  * slash can be omitted.
  902.  * Use lynxexec for commands or scripts that generate a screen output which
  903.  * should be held via a prompt to press <return> before returning to Lynx
  904.  * for display of the current document.
  905.  * Use lynxprog for programs such as mail which do require a pause before
  906.  * Lynx restores the display of the current document.
  907.  *
  908.  * Execution scripts take the form of a standard
  909.  * URL.  Extension mapping or MIME typing is used
  910.  * to decide if the file is a script and should be
  911.  * executed.  The current extensions are:
  912.  * .csh, .ksh, and .sh on UNIX systems and .com on
  913.  * VMS systems.  Any time a file of this type is
  914.  * accessed Lynx will look at the user's options
  915.  * settings to decide if the script can be executed.
  916.  * Current options include: Only exec files that
  917.  * reside on the local machine and are referenced
  918.  * with a "file://localhost" URL, All execution
  919.  * off, and all execution on.
  920.  *
  921.  * The following definitions will add execution
  922.  * capabilities to Lynx.  You may define none, one
  923.  * or both.
  924.  *
  925.  * I strongly recommend that you define neither one
  926.  * of these since execution links/scripts can represent
  927.  * very serious security risk to your system and its
  928.  * users.  If you do define these I suggest that
  929.  * you only allow users to execute files/scripts
  930.  * that reside on your local machine. 
  931.  *
  932.  * YOU HAVE BEEN WARNED!
  933.  *
  934.  * Note: if you are enabling execution scripts you should
  935.  * also see src/HTInit.c to verify/change the execution
  936.  * script extensions and/or commands.
  937.  */
  938. #define EXEC_LINKS
  939. /* #define EXEC_SCRIPTS  */ 
  940.  
  941. /**********
  942.  * UNIX:
  943.  * =====
  944.  * CGI script support. Defining LYNXCGI_LINKS allows you to use the 
  945.  *
  946.  *   lynxcgi:path
  947.  *
  948.  * URL which allows lynx to access a cgi script directly without the need for
  949.  * a http daemon. Redirection or mime support is not supported but just about
  950.  * everything else is. If the path is not an executable file then the URL is
  951.  * rewritten as file://localhost and passed to the file loader. This means that
  952.  * if your http:html files are currently set up to use relative addressing, you
  953.  * should be able to fire up your main page with lynxcgi:path and everything
  954.  * should work as if you were talking to the http daemon.
  955.  *
  956.  * Note that TRUSTED_LYNXCGI directives must be defined in your lynx.cfg file
  957.  * if you wish to place restrictions on source documents and/or paths for
  958.  * lynxcgi links.
  959.  *
  960.  * The cgi scripts are called with a fork()/execve() sequence so you don't
  961.  * have to worry about people trying to abuse the code. :-)
  962.  *
  963.  *     George Lindholm (George.Lindholm@ubc.ca)
  964.  *
  965.  * VMS:
  966.  * ====
  967.  * The lynxcgi scheme, if enabled, yields an informational message regardless
  968.  * of the path, and use of the freeware OSU DECthreads server as a local
  969.  * script server is recommended instead of lynxcgi URLs.  Uncomment the
  970.  * following line to define LYNXCGI_LINKS, and when running Lynx, enter
  971.  * lynxcgi:advice  as a G)oto URL for more information and links to the
  972.  * OSU server distribution.
  973.  */
  974. /* #define LYNXCGI_LINKS */
  975.  
  976. #if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
  977.  
  978. /**********
  979.  * if ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS 
  980.  * is defined then the user will be able to change
  981.  * the execution status within the options screen.
  982.  */
  983. /* #define ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
  984.  
  985. /**********
  986.  * if NEVER_ALLOW_REMOTE_EXEC is defined then local execution of
  987.  * scripts or lynxexec and lynxprog URLs will only be implemented
  988.  * from HTML files that were accessed via a "file://localhost/" URL,
  989.  * and the options menu for "L)ocal executions links" will only
  990.  * allow toggling between "ALWAYS OFF" and "FOR LOCAL FILES ONLY".
  991.  */
  992. /* #define NEVER_ALLOW_REMOTE_EXEC */
  993.  
  994. /*****************************
  995.  * These are for executable shell scripts and links.
  996.  * Set to FALSE unless you really know what you're
  997.  * doing.
  998.  *
  999.  * This only applies if you are compiling with EXEC_LINKS or
  1000.  * EXEC_SCRIPTS defined.
  1001.  *
  1002.  * The first two settings:
  1003.  * LOCAL_EXECUTION_LINKS_ALWAYS_ON 
  1004.  * LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE
  1005.  * specify the DEFAULT setting of the users execution link
  1006.  * options, but the user may still change those options.
  1007.  * If you do not wish the user to be able to change the
  1008.  * execution link settings you may wish to use the commandline option:
  1009.  *    -restrictions=exec_frozen
  1010.  *
  1011.  * LOCAL_EXECUTION_LINKS_ALWAYS_ON will be FALSE
  1012.  * if NEVER_ALLOW_REMOTE_EXEC has been defined.
  1013.  *
  1014.  * if LOCAL_EXECUTION_LINKS_ALWAYS_OFF_FOR_ANONYMOUS is 
  1015.  * true all execution links will be disabled when the
  1016.  * -anonymous command line option is used.  Anonymous
  1017.  * users are not allowed to change the execution options
  1018.  * from within the Lynx options menu so you might be able
  1019.  * to use this option to enable execution links and set
  1020.  * LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE to TRUE to
  1021.  * give anonymous execution link capability without compromising
  1022.  * your system (see comments about TRUSTED_EXEC rules in
  1023.  * lynx.cfg for more information).
  1024.  *
  1025.  */
  1026. #define LOCAL_EXECUTION_LINKS_ALWAYS_ON          FALSE
  1027. #define LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE  FALSE
  1028. #define LOCAL_EXECUTION_LINKS_ALWAYS_OFF_FOR_ANONYMOUS FALSE
  1029.  
  1030. #endif /*  defined(EXEC_LINKS) || defined(EXEC_SCRIPTS) */
  1031.  
  1032. /*********************************
  1033.  *  MAIL_SYSTEM_ERROR_LOGGING will send a message to the owner of 
  1034.  *  the information if there is one, every time
  1035.  *  that a document cannot be accessed!
  1036.  *
  1037.  *  NOTE: This can generate A LOT of mail, be warned.
  1038.  */
  1039. #define MAIL_SYSTEM_ERROR_LOGGING   FALSE  /*mail a message for every error?*/
  1040.  
  1041. /*********************************
  1042.  * If CHECKMAIL is set to TRUE, the user will be informed (via a statusline
  1043.  * message) about the existence of any unread mail at startup of Lynx, and
  1044.  * will get statusline messages if subsequent new mail arrives.  If a jumps
  1045.  * file with a lynxprog URL for invoking mail is available, or your html
  1046.  * pages include an mail launch file URL, the user thereby can access mail
  1047.  * and read the messages.  The checks and statusline reports will not be
  1048.  * performed if Lynx has been invoked with the -restrictions=mail switch.
  1049.  *
  1050.  *  VMS USERS !!!
  1051.  * New mail is normally broadcast as it arrives, via "unsolicitied screen
  1052.  * broadcasts", which can be "wiped" from the Lynx display via the Ctrl-W
  1053.  * command.  You may prefer to disable the broadcasts and use CHECKMAIL
  1054.  * instead (e.g., in a public account which will be used by people who
  1055.  * are ignorant about VMS).
  1056.  */
  1057. #define CHECKMAIL    TRUE    /* report unread and new mail messages */
  1058.  
  1059. /*********************************
  1060.  * VI_KEYS can be turned on by the user in the options
  1061.  * screen or the .lynxrc file.  This is just the default.
  1062.  */
  1063. #define VI_KEYS_ALWAYS_ON           FALSE /* familiar h,j,k, & l */
  1064.  
  1065. /*********************************
  1066.  * EMACS_KEYS can be turned on by the user in the options
  1067.  * screen or the .lynxrc file.  This is just the default.
  1068.  */
  1069. #define EMACS_KEYS_ALWAYS_ON           FALSE /* familiar ^N, ^P, ^F, ^B */
  1070.  
  1071. /*********************************
  1072.  * DEFAULT_KEYPAD_MODE specifies whether by default the user
  1073.  * has numbers that work like arrows or else numbered links
  1074.  * DEFAULT KEYPAD MODE may be set to 
  1075.  *    LINKS_ARE_NUMBERED  or
  1076.  *    NUMBERS_AS_ARROWS
  1077.  */
  1078. #define DEFAULT_KEYPAD_MODE           NUMBERS_AS_ARROWS
  1079.  
  1080. /********************************
  1081.  * The default search.
  1082.  * This is a default that can be overridden by the user!
  1083.  */
  1084. #define CASE_SENSITIVE_ALWAYS_ON    FALSE /* case sensitive user search */
  1085.  
  1086. /********************************
  1087.  * If NO_DOT_FILES is set TRUE here or in lynx.cfg, the user will not be
  1088.  * allowed to specify files beginning with a dot in reply to output filename
  1089.  * prompts, and files beginning with a dot (e.g., file://localhost/foo/.lynxrc)
  1090.  * will not be included in the directory browser's listings.  The setting here
  1091.  * will be overridden by the setting in lynx.cfg.  If FALSE, you can force it
  1092.  * to be treated as TRUE via -restrictions=dotfiles (or -anonymous, which sets
  1093.  * this and most other restrictions).
  1094.  *
  1095.  * If it's FALSE at startup of Lynx, the user can regulate it via the
  1096.  * 'o'ptions menu, and may save the preference in the RC file.
  1097.  */
  1098. #define NO_DOT_FILES    TRUE  /* disallow access to dot files */
  1099.  
  1100. /********************************
  1101.  * If MAKE_LINKS_FOR_ALL_IMAGES is TRUE, all images will be given links
  1102.  * which can be ACTIVATEd.  For inlines, the ALT or pseudo-ALT ("[INLINE]")
  1103.  * strings will be links for the resolved SRC rather than just text.  For
  1104.  * ISMAP or other graphic links, the ALT or pseudo-ALT ("[ISMAP]" or "[LINK]")
  1105.  * strings will have '-' and a link labeled "[IMAGE]" for the resolved SRC
  1106.  * appended.
  1107.  *
  1108.  * The default defined here can be changed in lynx.cfg, and the user can
  1109.  * use LYK_IMAGE_TOGGLE to toggle the feature on or off at run time.
  1110.  *
  1111.  * The default also can be toggled via an "-image_links" command line switch.
  1112.  */
  1113. #define MAKE_LINKS_FOR_ALL_IMAGES    FALSE /* inlines cast to links */
  1114.  
  1115. /********************************
  1116.  * If MAKE_PSEUDO_ALTS_FOR_INLINES is FALSE, inline images which do not
  1117.  * specify an ALT string will not have "[INLINE]" inserted as a pseudo-ALT,
  1118.  * i.e., they'll be treated as having ALT="".  If MAKE_LINKS_FOR_ALL_IMAGES
  1119.  * is defined or toggled to TRUE, however, the pseudo-ALTs will be created
  1120.  * for inlines, so that they can be used as links to the SRCs.
  1121.  *
  1122.  * The default defined here can be changed in lynx.cfg, and the user can
  1123.  * use LYK_INLINE_TOGGLE to toggle the feature on or off at run time.
  1124.  *
  1125.  * The default also can be toggled via a "-pseudo_inlines" command line
  1126.  * switch.
  1127.  */
  1128. #define MAKE_PSEUDO_ALTS_FOR_INLINES    TRUE /* Use "[INLINE]" pseudo-ALTs */
  1129.  
  1130. /********************************
  1131.  * If SUBSTITUTE_UNDERSCORES is TRUE, the _underline_ format will be used
  1132.  * for emphasis tags in dumps.
  1133.  *
  1134.  * The default defined here can be changed in lynx.cfg, and the user can
  1135.  * toggle the default via a "-underscore" command line switch.
  1136.  */
  1137. #define SUBSTITUTE_UNDERSCORES    FALSE /* Use _underline_ format in dumps */
  1138.  
  1139. /********************************
  1140.  * If QUIT_DEFAULT_YES is defined then when the QUIT command is entered,
  1141.  * any response other than n or N will confirm.  Comment this out if
  1142.  * you prefer the more conservative action of requiring an explicit
  1143.  * Y or y to confirm.
  1144.  */
  1145. /* #define QUIT_DEFAULT_YES */
  1146.  
  1147. /********************************
  1148.  * These definitions specify files created or used in conjunction
  1149.  * with traversals.  See CRAWL.ANNOUNCE for more infomation.
  1150.  */
  1151. #define TRAVERSE_FILE "traverse.dat"
  1152. #define TRAVERSE_FOUND_FILE "traverse2.dat"
  1153. #define TRAVERSE_REJECT_FILE "reject.dat"
  1154. #define TRAVERSE_ERRORS "traverse.errors"
  1155.  
  1156.  
  1157. /****************************************************************
  1158.  *   Section 3.   Things that you should not change until you
  1159.  *            have a good knowledge of the program
  1160.  */
  1161.  
  1162. #define LYNX_NAME "Lynx"
  1163. #define LYNX_VERSION "2.7.1"
  1164.  
  1165. /****************************************************************
  1166.  * The LYMessages_en.h header defines default, English strings
  1167.  * used in statusline prompts, messages, and warnings during
  1168.  * program execution.  See the comments in LYMessages_en.h for
  1169.  * information on customizing them for your site.
  1170.  */
  1171. #ifndef HTTELNET_H
  1172. #include "LYMessages_en.h"
  1173. #endif /* !HTTELNET_H */
  1174.  
  1175. #ifndef MAXINT
  1176. #define MAXINT 2147483647    /* max integer */
  1177. #endif /* !MAXINT */
  1178. #define MAXBASE 100        /* max length of base directory */
  1179. #define MAXHIGHLIGHT 160    /* max length of highlighted text */
  1180. #define MAXTARGET 130        /* max length of target string */
  1181. #define LINESIZE 1024        /* max length of line to read from file */
  1182. #define MAXFNAME 1280        /* max filename length DDD/FILENAME.EXT */
  1183. #define MAXCOMMAND MAXFNAME    /* max length of command should be the same */
  1184. #define MAXHIST  1024        /* max links we remember in history */
  1185. #define MAXLINKS 1024        /* max links on one screen */
  1186.  
  1187. #ifdef VMS
  1188. /*
  1189. **  Use the VMS port of gzip for uncompressing both .Z and .gz files.
  1190. */
  1191. #define UNCOMPRESS_PATH  "gzip -d"
  1192. #define GZIP_PATH "gzip"
  1193. #else
  1194. /*
  1195. **  Check these paths on Unix!
  1196. **  ==========================
  1197. */
  1198. #if defined(__FreeBSD__)||defined(__NetBSD__)||defined(__bsdi__)||defined(LINUX)
  1199. /*
  1200. **  FreeBSD, NetBSD, BSDI, or Linux:
  1201. **  ================================
  1202. */
  1203. #define    COMPRESS_PATH    "/usr/bin/compress"
  1204. #define    UNCOMPRESS_PATH    "/usr/bin/gunzip"
  1205. #define    UUDECODE_PATH    "/usr/bin/uudecode"
  1206. #define    ZCAT_PATH    "/usr/bin/zcat"
  1207. #define    GZIP_PATH    "/usr/bin/gzip"
  1208. #define    INSTALL_PATH    "/usr/bin/install"
  1209. #define    TAR_PATH    "/usr/bin/tar"
  1210. #define    TOUCH_PATH    "/usr/bin/touch"
  1211. #else
  1212. /*
  1213. **  Other Unix:
  1214. **  ===========
  1215. */
  1216. #define    COMPRESS_PATH    "gzip"
  1217. #define    UNCOMPRESS_PATH    "gzip -d"
  1218. #define UUDECODE_PATH   "uudecode"
  1219. #define    ZCAT_PATH    "gzip -dc"
  1220. #define    GZIP_PATH    "gzip"
  1221. #define    INSTALL_PATH    "install"
  1222. #define    TAR_PATH    "tar"
  1223. #define    TOUCH_PATH    "touch"
  1224. #endif /* __FreeBSD__ || __NetBSD__ || __bsdi__ || LINUX */
  1225. /*
  1226. **  All Unix:
  1227. **  =========
  1228. */
  1229. #define    ZIP_PATH    "zip.exe"
  1230. #define    UNZIP_PATH    "unzip.exe"
  1231. #define    MKDIR_PATH    "mkdir.exe"
  1232. #define    MV_PATH        "mv.exe"
  1233. #define    RM_PATH        "rm.exe"
  1234. #define COPY_PATH    "cp.exe"
  1235. #define CHMOD_PATH    "chmod.exe"
  1236. #endif /* VMS */
  1237.  
  1238. #endif /* USERDEFS_H */
  1239.