•  Back 
  •  AES 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  %About 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The ATARI Compendium
Author      : Scott Sanders / JAY Software
Version     : 1.25 (20/6/2003)
Subject     : Documentation
Nodes       : 1117
Index Size  : 32614
HCP-Version : 6
Compiled on : Atari
@charset    : UTF-8
@lang       : en
@default    : 
@help       : %About
@options    : +g -i -t4 +y +z
@width      : 100
View Ref-File
                              The Shell Library


The Shell Library was originally intended to provide AES support to the
Desktop application. Many of the routines, however, are useful to other
GEM applications. Some functionality of the Shell Library was discussed
earlier in this chapter in 'The Environment String'.

The Shell Buffer

The Desktop application loads the DESKTOP.INF or NEWDESK.INF file
(depending on the TOS version) into the shell buffer. Prior to TOS 2.00,
the shell buffer was 1024 bytes long meaning that was the maximum length
of the DESKTOP.INF file. AES versions 2.00 to 3.30 allocate a buffer 4096
bytes long. AES versions 3.30 and above support variable-length buffers.
The shell buffer contains the 'working' copy of the above mentioned
system files. The information in this buffer may be copied by using
shel_get(). Likewise, information can be written to this buffer using
shel_put(). Extreme care must be used with these functions as their misuse
can confuse or possibly even crash the Desktop.

Miscellaneous Shell Library Functions

shel_find() is used to locate data files associated with an application.
The AES uses this call to locate application resource files during
rsrc_load().

shel_read() returns information about the process which called the
application (usually the Desktop).

shel_write() was originally used only to spawn new applications. With
newer AES versions, though, shel_write() has taken on an enormous
functionality and its documentation should be consulted for more
information.