# List of Arachne system files

Warning: This document has no value for users who want to set up the software with just a mouse.

### Main configuraton file ARACHNE.CFG

###### Expected in: .\ARACHNE.CFG
When not found there: [arachne directory]\ARACHNE.CFG
Always written to: [already existing file]

The configuration file can be changed using user friendly setup pages. It is a plain text, human readable file, so advanced users can modify it. See list of ARACHNE.CFG keywords.
Warning: ARACHNE.CFG cannot be modified from inside Arachne, because this configuration file is overwritten before exiting...

### ARACHNE.BAT, CORE.EXE

###### Expected in: .\
When not found there: [system path]\
CORE.EXE is Arachne's main executable file. It cannot be run standalone, it must be run from inside of ARACHNE.BAT. Command line arguments of ARACHNE.BAT will be passed to CORE.EXE.

Command line arguments:
URL | Start with desired document (default protocol is file:) -o | Start in online mode (e.g., with Connection @PPP.EXE ...)
-x [URL] | Start in offline fullscreen mode and display desired URL
-i [URL] | Start in online fullscreen mode and display desired URL
-s | Set up video adapter and memory type, then exit (core.exe only)
-c | Continue offline browsing (if you use Connection READY, it will force offline mode)
-cg | Continue offline browsing without resetting graphics mode (only for internal use of Arachne !)
-r | Continue online browsing (eg. with Connection @PPP.EXE ...)
-rg | Continue online browsing without resetting graphics mode (only for internal use of Arachne !)
-d | Detect and set up video adapter and exit (core.exe only)
-f | Create new font information (fontinfo.bin)
-u | Unload packet driver (core.exe only)

### Plug-in configuration file MIME.CFG

###### Expected in: .\MIME.CFG
When not found there: [arachne directory]\MIME.CFG
This file can be modified (but not rewritten) by Arachne Package Manager

MIME.CFG must be updated each time when you want to add a plug-in to ARACHNE (for example Java interpreter, VRML browser, or the like ;-). If you want to write your own DGI application, MIME.CFG must be updated. Using Arachne Packages can make this task really very easy.

### Icon configuration file WWWMAN.CFG

###### Expected in: .\WWWMAN.CFG

WWWMAN.CFG assigns icons to certain filename fragments (like extensions). Icons can be any images viewable by Arachne, but for performance reasons, format .IKN is the recommended one. A filename fragment can be something like ".GIF", ".HTM" or "FILES.BBS". The syntax is:

    filename_fragmet icon_filename
    filename_fragmet icon_filename
    ...

### The other *.CFG files

###### Usually in: [arachne directory]\*.CFG

These are the other configuration files. Their usage usually depends on ARACHNE.CFG. Don't change them if you don't know what you are doing.

### *.OOK files

###### Usually in: [arachne directory]\OOPS\*.OOK

Files with *.OOK extensions are simply batch files - shortcuts to DOS applications. Why "OOK" files ? Launch this OOK to understand more...

### Arachne Packages

###### Can be found in diffent places

Files with *.APM extensions are Arachne Packages. They are not included in the main distribution package, they must be downloaded from the Internet.

### Cache index file

###### User definable filename and location, usually: [arachne directory]\CACHE.IDX

Cache Index is a binary file with following structure:

    BinaryRecord
    BinaryRecord
    BinaryRecord
    ...
    BinaryRecord

BinaryRecord has following structure:

    int itemlength;//in this file, always 0x01A8
    struct HTTPrecord cacheitem;

And this is a prototype of HTTPrecord:

    #define URLSIZE 256
    #define STRINGSIZE 40

    struct HTTPrecord
    {
     char URL[URLSIZE];    // Uniform Resource Locator
     int x;                // coordinates where the document was last displayed
     long y;               //
     long size;            // size in bytes
     char knowsize;        // logical - size is valid
     char mime[STRINGSIZE];// mime type
     char locname[80];     // full filename (after conversion to TXT,HTM,GIF,BMP)
     char rawname[80];     // full filename (before conversion)
     int handle;           // file handle
     long lastseen;        // last seen time
     char postflag;        // it is result of <FORM METHOD=POST>...
    };

### History file

###### User definable filename and location, usually: [arachne directory]\HISTORY.LST

Plain text file - each line contains one URL. First line must be (for some reason unknown even to the author) empty. The index of the current URL is located in the ARACHNE.PCK file.

### Cookie database

###### User definable filename and location, usually: [arachne directory]\COOKIES.LST

Plain text file - each line contains one cookie in a format as they appear in HTTP headers of WWW pages. You can delete unwanted cookies from this file manually, or delete it if you want to protect your privacy.

### Runtime configuration file ARACHNE.PCK

###### Expected in: .\ARACHNE.PCK
When not found there: [arachne directory]\ARACHNE.PCK
Always written to: .\ARACHNE.PCK

Run SETUP.BAT if you want to ignore this file and reset Arachne. This file contains hardware-dependent information about your video card !

    #define MAXBACKTRACE 64
    #define MAXTITLELEN 100

    #define SWAP_DISK 0
    #define SWAP_XMS  1
    #define SWAP_EMS  2

    struct ArachnePick
    {
     char graphics[16];//last video mode
     char GUIstyle;    //0-menu on the right side,
                       //1-menu like normal browser
                       //2-almost fullscreen
                       // & 4 ...fullscreen (3rd bit set)
     char xSwap;       //see SWAP_DISK, SWAP_XMS, SWAP_EMS
     int mousex,mousey,framescount; //mouse x and y, number of frames
     char target;      //current target inside frameset
     char newframe;    //new frame to be loaded
     long cachesize;   //size of HTTP cache - not yet implemented
     int history;      //current pointer to history file TADYJSEM.BYL
     int backtrace;                       //pointer to backtrace_target
     char backtrace_target[MAXBACKTRACE]; //trace targets of clicks
     char title[MAXTITLELEN];             //main title of the entire frameset
    };

    //there are 16 frames allocated. Each frame has the following structure:
    #define STRINGSIZE 40

    struct HTMLframe
    {
     //general information:
     char framename[STRINGSIZE]; /target=....
     struct HTTPrecord cacheitem;//see cache index for "HTTPrecord" declaration
     struct ScrollBar scroll;    //frame size is declared in scrollbar structure

     //this is required for Netscape & MSIE compatibility..
     char allowscrolling;
     char marginwidth,marginheight;

     //real position in frame, in pixels
     int posX;
     long posY;

     //document status: LOCAL/REMOTE/VIRTUAL/MAIL , 0...3
     unsigned status;

     //hidden frames are 1) parent frames 2) overwritten child frames
     //if parent is overwritten, this frame should be hidden:
     char hidden,parent,next;

    };

    //end of frames

Definition of scrollbar structure (of course, it is not part of ARACHNE.PCK, but it is required to correctly load information from ARACHNE.PCK ;-)

    struct ScrollBar
    {
     int max_xscrsz,max_yscrsz,xscr,yscr,xscrsz,yscrsz;
     int xsize,ysize,ymax,xtop,ytop;
     int total_x;
     long total_y;
     char xvisible;
     int x_decrease_gap; //for scrollbuttons
     int x_increase_gap;
     int y_decrease_gap;
     int y_increase_gap;
     int gap;
     char onscrollx,onscrolly;
     char scrollbarstyle;
    };

### Icon files

###### Expected in: [arachne directory]\SYSTEM\

Files with extension *.IKN are Arachne icons. On the Arachne online homepage, there is available a package MORE_IKN. It is a collection of various *.IKN files that can be useful for different file extensions on your hard disk. This format was originally used in the user interface of the IBASE image database. It's advantage versus Windows' *.ICO format is that it contains a color palette. All 60x60 *.IKN files were created by me sometime between 1991 and 1996 for IBASE "Command Center". I included some of them in Arachne because I had no other idea how to use them ;-) I don't recommend publishing them on the WWW. It's a proprietary file format, usable only in a PC enviroment. However, IKN files can be used in your intranet *.HTML files, if you decide to use Arachne as your intranet client.

The GIFIKN utility will allow you to customize the Arachne toolbar. It is available to owners of a commercial multilicense (see file REGISTER.HTM).

### Font files

###### Expected in: [arachne directory]\SYSTEM\

FONTINFO.BIN and *.FNT files are files used by the X_LOPIF graphics library. They are hard-linked to the SYSTEM subdirectory and cannot be stored elsewhere (mainly because the fonts are initialized before loading the main configuration file). A free utility TFONTY is currently available to convert *.TTF fonts to *.FNT format (for Windows) and FEDIT is to edit *.FNT files (for DOS). After modifying Arachne FNT files, you have to run arachne -f to create a new font information file (FONTINFO.BIN).

Cf. also details about the X_LOPIF graphics library for the C language.

### Other files

###### Can be found in different places (including the %TEMP%\ directory)

Files like *._$B, *.TMP or $roura$.BAT are temporary and can be deleted when they accidentally remain on your hard disk (it can happen when Arachne crashes). TEXTAREA.TMP stores the last unsubmitted <TEXTAREA> tag. Extension *.IDX belongs to index files - if you delete them, Arachne and/or plug-ins will create them again.

Return to main help page.