ASHINC Include Files

The ASHINC: ersatz directory (normally DSK0:[907,16]) contains the ++include files supplied with A-Shell. Although these files are not mandatory for programming, they help minimize the confusion and potential for error inherent in the complicated data structures and thousands of opcodes, options and flags which are typically employed in XCALL and function parameters. By referencing the relevant ++include files in your programs, you gain instant access to standardized MAPs, structures, and symbols that make your programs easier to read, write, and share with others, as well as maximizing the utility of our documentation, which is heavily indexed and/or searchable on these same symbols and map/structure names.

The most recent versions of the ASHINC: files can—and regularly should—be obtained from the 907016 folder of the SOSLIB.

The ASHINC: directory contains the following kinds of files, identified by their extension:

Extension

Description

DEF

Symbol definitions (e.g. define MBF_STATIC = &h00040000)

MAP

MAP statements

SDF

Structure definitions

BSI

Actual code (possibly including MAP statements, function/procedure definitions, etc.)

 

Other than a small version signature (about 40 bytes), DEF and SDF files do not increase the size of the resulting RUN programs. They merely expand the "vocabulary" of the compiler. They do, however, require the COMPIL /X:2 switch. When there is both an SDF and MAP file, the SDF is generally preferable, as it allows multiple copies of the structures to be declared, using your own prefixes. The MAP files represent the older approach used before defined structures were introduced.

Here is an overview of the most commonly used files. New ones are added periodically, typically with names matching the XCALL or subsystem to which they refer.

Filename

Description

ashell.bsi

Code commonly used in LIT programs (e.g. command line processing)

ashell.def

A core set of symbols used in nearly every A-Shell program, especially those containing MIAMEX calls

ashell.sdf

Structure definitions associated with common MIAMEX calls

csidl.def

CSIDL_xxxx symbol definitions (used by MX_BROWSEFOLDER and MX_GETSHELLPATH)

evtmsg.def

Symbols used with XCALL EVTMSG

gtlang.map

Mapped structure used by XCALL GTLANG (get language definition)

hook.def

Symbols used by the file hook mechanism (see MX_FILEHOOK)

http.def

Symbols used by XCALL HTTP

isam.def

Symbols related to ISAM

jobtbl.def

Symbols related to fields in the job table

jobtbl.map

Mapped structure representing JOBTBL.SYS records - see MX_READJCB

msboxx.def

Symbols related to XCALL MSBOXX

regex.def

Symbols related to regular expressions

sql.def

Symbols related to XCALL SQL

trmchr.map

Mapped structure used by XCALL TRMCHR (terminal characteristics)

xcall.bsi

Startup code useful in writing custom SBX routines

xtext.def

Symbols related to XCALL XTEXT

xtext.sdf

Structure definitions for XCALL XTEXT parameters

xtree.def

Symbols related to XCALL XTREE

xtree.map

Mapped structures compatible with XCALL XTREE

xtree.sdf

Structure definitions for XCALL XTREE parameters