Abort_Backup						CLIB.H
							C

Type: void

Call format: Abort_Backup() ;

Parameters: None

Description:

	This procedure sets a flag which will terminate the current backup
operation at the next possible time.

Add_Commas						Format.H
							C++, C++ Windows

Type: void function

Call format: Add_Commas( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		char*			String to add commas to.

Description:

	This function takes a string containing a number in human-readable form
and adds commas in the appropriate places.  For example "1000" becomes "1,000".
Note that this does not work corretly on strings containing anything but digits.

Add_Handler						Cache
							DOS, DPMI, Windows

Type: procedure

Call format: Add_Handler( Routine, Priority ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Routine		TCache_Handler		The cache handler to add.
	Priority	Longint			The priority of the cache
						handler.

Description:

	This procedure adds a cache handler to the cache handler list with the
specified priority.  See Delete_Handler and Free_Cache.

Add_Handler						CLIB.H
							C

Type: void

Call format: Add_Handler( Routine, Priority ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Routine		void (*)()		The cache handler to add.
	Priority	long int		The priority of the cache
						handler.

Description:

	This procedure adds a cache handler to the cache handler list with the
specified priority.  See Delete_Handler and Free_Cache.

AddTool							WINSTD
							Windows

Type: procedure

Call format: AddTool( Tool, ID, Row, Column, Up, Down, State ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Tool		var PTool_Record	Tool object to add.
	ID		Integer			Command ID of tool.
	Row		Integer			Row for tool.
	Column		Integer			Column for tool.
	Up		String			Bitmap for up-position.
	Down		String			Bitmap for down-position.
	State		Boolean			True if depressed, false
						otherwise.

Description:

	Adds a tool to the tool list.

Anchor_Type						UEditor
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Line		Longint			Line number.
	Column		Byte			Display column number.
	P_Column	Byte			Physical column number.

Description:

	This record defines an anchor.  Anchors are used for highlighting
text (for selections, etc).

Arabic_To_Roman						Format.H
							C++, C++ Windows

Type: char* function

Call format: C = Arabic_To_Roman( X ) ;

Parameters:

	Name		Type		Description
	----		----		-----------
	X		int		Value to convert to Roman numerals.

Description:

	This function returns a string containing Romand numeral equivalent to
the passed decimal value.  For example, 8 returns "VIII".

Array_Image						Structures
							DOS, DPMI, Windows

Type: array[ 0..65519 ] of byte

Description:

	This defines an array of 65,520 bytes.

Array_Pointer						Structures
							DOS, DPMI, Windows

Type: ^Array_Image

Description:

	This defines a pointer to an Array_Image array.

AT_Array						FSFH
							DOS, DPMI, Windows

Type: type AT_Array = array[ 0..16383 ] of byte ;

Description:

	This defines the structure used for Allocation Tables in File Heaps.

Backup_Backup						Backups
							DOS, DPMI, Windows

Type: procedure

Call format: Backup_Backup( Command, E_P, R_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		string			Command string.
	E_P		tError_Procedure	Error handler.  If null, errors
						display on the screen.
	R_P		tRequest_Procedure	Request callback handler.  If
						null, the user is prompted by
						the routine when a new disk is
						needed.

Description:

	This routine is the interface to the XBACKUP utility.  XBACKUP is an
extended backup utility for DOS.  It has three main uses: to backup files onto
a removable media (usually floppy disks), to restore files from a removable
media, and to list files put onto a removable media by the XBACKUP utility.
  Files are stored in groups called "savesets".  Multiple savesets may exist
on a single floppy and savesets may span several disks.  Each saveset has a
name of up to eight (8) characters.  The default saveset name is "BACKUP".

Command format:
    to backup files: input output
    to restore files: /RESTORE input output
    to list backed-up files: input/LIST

"input" is an input device and saveset name.

Switches allowed:

/IGNORE skips files with creation errors on restore and open errors on backup.
/INITIALIZE is the default and will do a quick format on the output disk during
	a backup operation.
/LIST will list the files in a saveset.
/LOG is the opposite of /NOLOG.  This is the default.
/NOINITIALIZE does not delete all files on the output device during backup.
	XBACKUP will normally do a quick format on output disks (/INITIALIZE).
/NOLOG turns off informational messages.  /LOG is the opposite and is the
	default.
/RESTORE is used to indicate that a restore operation is to be done, as opposed
	to a backup operation.
/RX50 defines the output device as a DEC RX50 during backups and defines the
	input device as a DEC RX50 during restores.  If you are using a DEC
	Rainbow with RX50 drives, this ensures that diskettes are processed as
	RX50s.
/SELECT can be used to define which files to include from the saveset.  This
	switch MUST follow the input specification.  For example:
	/RESTORE A:/SELECT=*.EXE  C:
/START can be used to define which file to begin the backup operation with,
	within the set of files specified in the input filename specification.
	This switch MUST follow the input specification.  This is useful if the
	backup aborted and you wish to continue at the point of abort.  Example:
	/START=C:\TEMP\FILE.BIG

Backup_Backup						CLIB.H
							C

Type: void

Call format: Backup_Backup( Passed_Command0, E_P, R_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Passed_Command0	char*			Command string.
	E_P		void (*)()		Error handler.  If null, errors
						display on the screen.
	R_P		void (*)()		Request callback handler.  If
						null, the user is prompted by
						the routine when a new disk is
						needed.

Description:

	This routine is the interface to the XBACKUP utility.  XBACKUP is an
extended backup utility for DOS.  It has three main uses: to backup files onto
a removable media (usually floppy disks), to restore files from a removable
media, and to list files put onto a removable media by the XBACKUP utility.
  Files are stored in groups called "savesets".  Multiple savesets may exist
on a single floppy and savesets may span several disks.  Each saveset has a
name of up to eight (8) characters.  The default saveset name is "BACKUP".

Command format:
    to backup files: input output
    to restore files: /RESTORE input output
    to list backed-up files: input/LIST

"input" is an input device and saveset name.

Switches allowed:

/IGNORE skips files with creation errors on restore and open errors on backup.
/INITIALIZE is the default and will do a quick format on the output disk during
	a backup operation.
/LIST will list the files in a saveset.
/LOG is the opposite of /NOLOG.  This is the default.
/NOINITIALIZE does not delete all files on the output device during backup.
	XBACKUP will normally do a quick format on output disks (/INITIALIZE).
/NOLOG turns off informational messages.  /LOG is the opposite and is the
	default.
/RESTORE is used to indicate that a restore operation is to be done, as opposed
	to a backup operation.
/RX50 defines the output device as a DEC RX50 during backups and defines the
	input device as a DEC RX50 during restores.  If you are using a DEC
	Rainbow with RX50 drives, this ensures that diskettes are processed as
	RX50s.
/SELECT can be used to define which files to include from the saveset.  This
	switch MUST follow the input specification.  For example:
	/RESTORE A:/SELECT=*.EXE  C:
/START can be used to define which file to begin the backup operation with,
	within the set of files specified in the input filename specification.
	This switch MUST follow the input specification.  This is useful if the
	backup aborted and you wish to continue at the point of abort.  Example:
	/START=C:\TEMP\FILE.BIG

BEL							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const BEL = #7 (Pascal)
      #define BEL '\x7' (C)

Description:

	This defines the ASCII Bell character.

Bit_Values						Standard
							DOS, DPMI, Windows

Type: Bit_Values = Array[ 0..31 ] of longint ;

Description:

	This array contains the values for each bit position (or power of 2)
from 0 to 31 (2^0 to 2^32).

Block							Lib
							DOS, DPMI, Windows

Type: Block = Array[ 0..255 ] Of Byte ;

Description:

	This array defines a 256 byte block of data.

Boolean_To_String					UStrings
							DOS, DPMI, Windows
							Delphi

Type: string function

Call format: S := Boolean_To_String( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		boolean			Boolean value to convert.

Description:

	This function converts a boolean value into a string, which can be
converted back via the String_To_Boolean function.

BPB							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Bytes_Per_Sector	word
	Sectors_Per_Cluster	byte
	Reserved_Sectors	word
	FAT_Count		byte
	Root_Directory_Entries	word
	Total_Sectors		word
	Media_ID		byte
	FAT_Sectors		word
	Sectors_Per_Track	word
	Heads			word
	Hidden_Sectors		word

Description:

	BPB (BIOS Parameter Block), Special - for DDT entries.

BPBV2								TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Filler			array[ 0..2 ] of byte
	System_ID		array[ 0..7 ] of char
	Bytes_Per_Sector	word
	Sectors_Per_Cluster	byte
	Reserved_Sectors	word
	FAT_Count		byte
	Root_Directory_Entries	word
	Total_Sectors		word
	Media_ID		byte
	FAT_Sectors		word
	Sectors_Per_Track	word
	Heads			word
	Hidden_Sectors		longint

Description:

	BPB (BIOS Parameter Block), DOS V2.n (as it appears on disks without 8
sectors/track, in sector 0).

BPBV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Filler			array[ 0..2 ] of byte
	System_ID		array[ 0..7 ] of char
	Bytes_Per_Sector	word
	Sectors_Per_Cluster	byte
	Reserved_Sectors	word
	FAT_Count		byte
	Root_Directory_Entries	word
	Total_Sectors		word
	Media_ID		byte
	FAT_Sectors		word
	Sectors_Per_Track	word
	Heads			word
	Hidden_Sectors		longint

Description:

	BPB (BIOS Parameter Block), DOS V3.n (as it appears on disks without 8
sectors/track, in sector 0).

BPBV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Filler0			array[ 0..2 ] of byte
	System_ID		array[ 0..7 ] of char
	Bytes_Per_Sector	word
	Sectors_Per_Cluster	byte
	Reserved_Sectors	word
	FAT_Count		byte
	Root_Directory_Entries	word
	Total_Sectors		word
	Media_ID		byte
	FAT_Sectors		word
	Extended_Total_Sectors	longint
	Filler			array[ 0..5 ] of byte
	Cylinders		word
	Device_Type		byte
	Attributes		word

Description:

	BPB (BIOS Parameter Block), DOS V4.n.

BS							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const BS = #8 (Pascal)
      #define BS '\x08' (C)

Description:

	This defines the ASCII backspace character.

Buf							Backups
							DOS, DPMI, Windows

Type: type Buf = Array[ 0..65519 ] Of Byte ;

Description:

	This defines a type which is an array of 65520 bytes.

Buffer_Ptr						Backups
							DOS, DPMI, Windows

Type: type Buffer_Ptr = ^Buf ;

Description:

	This defines a type which is a pointer to the Buf type.

CDSV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
Variant:
	Curr_Path	array[ 0..66 ] of char
	Flags		word
	DPB		pointer
	REDIRIFS	pointer
	Parameter	word
	Root_OFS	word
Variant:
	Filler		array[ 0..72 ] of byte
	Start		word
	Filler0		word

Description:

	CDS (Current Directory Structure), DOS 3.n.

CDSV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
Variant:
	Curr_Path	array[ 0..66 ] of char
	Flags		word
	DPB		pointer
	REDIRIS		pointer
	Parameter	word
	Root_OFS	word
	Filler1		byte
	IFS_Driver	pointer
	Filler2		word
Variant:
	Filler		array[ 0..72 ] of byte
	Start		word
	Filler0		word

Description:

	CDS (Current Directory Structure), DOS 4.n.

Char_Wait_Count						SMU
							Windows
							Delphi

Type: Integer ;

Description:

	This variable defines how many characters to accumulate before calling
the procedure at Procedure Address.  1 indicates to wait for a single character.
< 1 indicates to wait until a delimiter is entered.

CheckDOS						Standard
							DOS, DPMI
							Delphi

Type: Boolean function

Call format: B := CheckDOS ;

Parameters: None

Description:

	Returns true if the current version of DOS supports the Lol and
other features of the undocumented function calls.

Clear_Cursor						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Clear_Cursor( Vr, Vc ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	VR		Integer			Row to clear.
	VC		Integer			Column to clear.

Description:

	This function removes the cursor in text mode and reverses the
background (simulating a cursor) in graphics mode.

Clear_Cursor						SMU.H
							C

Type: void

Call format: Clear_Cursor( Vr, Vc ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Vr		int			Row to clear.
	Vc		int			Column to clear.

Description:

	This function removes the cursor in text mode and reverses the
background (simulating a cursor) in graphics mode.

Clear_Type_Ahead					GetChars
							DOS, DPMI, Windows

Type: Procedure

Call format: Clear_Type_Ahead ;

Parameters: None

Description:

	This function clears any pending keystrokes from the keyboard buffer.
Note, this function does nothing in Windows.

Clear_Type_Ahead					CLIB.H
							C

Type: void

Call format: Clear_Type_Ahead() ;

Parameters: None

Description:

	This function clears any pending keystrokes from the keyboard buffer.

Clear_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Clear_Window( Window ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window		Window_P		Window to clear.

Description:

	Clears a window by setting all positions to blank and the default
attribute.

Clear_Window						SMU.H
							C

Type: void

Call format: Clear_Window( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to clear.

Description:

	Clears a window by setting all positions to blank and the default
attribute.

Closest_Power_Of_2					Misc
							DOS, DPMI, Windows

Type: Longint function

Call format: L := Closest_Power_Of_2( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Longint			Value to operate on.

Description:

	This function returns the closest power of 2, less than or equal to,
the passed value.  For instance, the result is 2 if X is 2 or 3.

Command_Line						Standard
							DOS, DPMI
							Delphi

Type: String function

Call format: S := Command_Line ;

Parameters: None

Description:

	This function returns the command line used to invoke the program,
with no modifications.

Compare_Strings						UStrings
							DOS, DPMI, Windows
							Delphi


Type: Real function

Call format: R := Compare_Strings( String1, String2, X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	String1		String			First string to compare.
	String2		String			Second string to compare.
	X		RComparison		Defines how comparison is done.

Description:

	This function will return a comparison value that is the percentage of
closeness of the two strings (between 0 and 1).

CR							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const CR = #13 (Pascal)
      #define CR '\x0D' (C)

Description:

	This defines the ASCII carriage return character.

Create_Font						FontMana.H
							C++ Windows

Type: int function

Call format: I = Create_Font( LogFont ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	LogFont		LOGFONT			Definition of font to create.

Description:

	This function creates a font matching the passed specification and
returns the font handle for the font.  If the font already exists, its usage
count is increased and the existing handle is returned.

Create_Library						Lib
							DOS, DPMI, Windows

Type: Integer function

Call format: I := Create_Library( Command, Language_Id, Typ ) :

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		String			Name of library to create.
	Language_ID	Integer			Language ID code.
	Typ		Integer			Library type code.

Description:

	This function creates a new library file with the given name, language
ID, and type.

Create_Library						LIB.H
							C

Type: int

Call format: I = Create_Library( Command, Language_Id, Typ ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		char*			Name of library to create.
	Language_ID	int			Language ID code.
	Typ		int			Library type code.

Description:

	This function creates a new library file with the given name, language
ID, and type.

Create_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Window_Pointer function

Call format: W := Create_Window( Row_Count, Column_Count, Flag ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Row_Count	Integer			Number of rows in window.
	Column_Count	Integer			Number of columns in window.
	Flag		Integer			Window flags:
						    AND   1 = No scroll -
							      vertical wrap
						    AND   2 = 100% occluded
						    AND   4 = No wrap
						    AND   8 = No auto-update
						    AND  16 = 100% unoccluded
						    AND  32 = Cursor is disabled
							      in this window
						    AND  64 = Graphics window
						    AND 128 = NCM on input

Description:

	This function creates a window.

Create_Window						SMU.H
							C

Type: Window*

Call format: Create_Window( Row_Count, Column_Count, Flag ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Row_Count	int			Number of rows in window.
	Column_Count	int			Number of columns in window.
	Flag		int			Window flags:
						    &   1 = No scroll -
							      vertical wrap
						    &   2 = 100% occluded
						    &   4 = No wrap
						    &   8 = No auto-update
						    &  16 = 100% unoccluded
						    &  32 = Cursor is disabled
							      in this window
						    &  64 = Graphics window
						    & 128 = NCM on input

Description:

	This function creates a window.

Create_Window_Wrapper					SMU
							Windows
							Delphi

Type: Window_Pointer function

Call format: W := Create_Window_Wrapper( Handle ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Handle		HWND			Window handle to create a
						wrapper for.

Description:

	Creates an SMU wrapper for a MS Windows window.

CRLF							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const CRLF = #13#10 (Pascal)
      #define CRLF '\x0D\x0A' (C)

Description:

	This defines the ASCII carriage return and linefeed character
combination.

CTR							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	DD_1980		word
	Minutes		byte
	Hours		byte
	Hundreths	byte
	Seconds		byte

Description:

	CTR (Clock Transfer Record).

Current_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Window_Pointer function

Call format: Current_Window

Parameters: None

Description:

	This function returns the current window.

Current_Window						SMU.H
							C

Type: Window*

Call format: Current_Window() ;

Parameters: None

Description:

	This function returns the current window.

CVTB							CVT
							DOS, DPMI, Windows

Type: string function

Call format: S := Cvtb( Base1, Base2, X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Base1		Integer			Source base.
	Base2		Integer			Result base.
	X		String			Value to convert.

Description:

	This function converts from any base to any base, provided that the
source and destination bases are integer values.  Legal base values are zero
(0) to 49.  Bases outside of this range may or may not yield correct results.

CVTB							CLIB.H
							C

Type: char*

Call format: S = CVTB( Base1, Base2, X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Base1		int			Source base.
	Base2		int			Result base.
	X		char*			Value to convert.

Description:

	This function converts from any base to any base, provided that the
source and destination bases are integer values.  Legal base values are zero
(0) to 49.  Bases outside of this range may or may not yield correct results.

Date							Standard
							DOS, DPMI, Windows
							Delphi

Type: String Function

Call format: S := Date ;

Parameters: None

Description:

	Returns the current date in the format: dd-mmm-yyyy.

Date							CLIB.H
							C

Type: char*

Call format: S = Date() ;

Parameters: None

Description:

	Returns the current date in the format: dd-mmm-yyyy.

Day							Lib
							DOS, DPMI, Windows

Type: Integer

Description:

	This variable is used to return the day of the library creation or
modification from the librarian.

Day							Dates
							DOS, DPMI, Windows

Type: string function

Call format: S := Day( Da ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Da		String			Date to return name of day for.

Description:

	This function returns the name of the day of the week for the specified
date.  The format of the passed date must be either dd-mmm-yy or mm.dd.yy.

Day							CLIB.H
							C

Type: char*

Call format: S = Day( Da ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Da		char*			Date to return name of day for.

Description:

	This function returns the name of the day of the week for the specified
date.  The format of the passed date must be either dd-mmm-yy or mm.dd.yy.

Day_Of_Week						DOW

Type: Integer function

Call format: I := Day_Of_Week( Month, Date, Year ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Month		Integer			Month number.
	Date		Integer			Day of month.
	Year		Integer			Year.

Description:

	Returns day of week for given date. 1=Sunday, 7=Saturday.

Day_Of_Week						CLIB.H
							C

Type: int

Call format: I = Day_Of_Week( Month, Date, Year ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Month		int			Month number.
	Date		int			Day of month.
	Year		int			Year.

Description:

	Returns day of week for given date. 1=Sunday, 7=Saturday.

DayVal							Dates
							DOS, DPMI, Windows

Type: integer function

Call format: I := Dayval( Da ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Da		String			Date to return result for.

Description:

	This function returns the day of the week for the specified date.  The
format of the passed date must be either dd-mmm-yy or mm.dd.yy.  The result is
1 for Sunday and 7 for Saturday.

Dayval							CLIB.H
							C

Type: int

Call format: I = Dayval( char *Da ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Da		char*			Date to return result for.

Description:

	This function returns the day of the week for the specified date.  The
format of the passed date must be either dd-mmm-yy or mm.dd.yy.  The result is
1 for Sunday and 7 for Saturday.

DBHCH							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Page		word
	Least_Used	pointer
	Dirty_Buffers	byte
	Filler		byte

Description:

	DBHCH (Disk Buffer Hash Chain Head), DOS V4.n.

DBIV40							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	DBHCH		pointer
	Chain_Count	word
	Lookahead	pointer
	Flag		byte
	Handle		word
	Page		word
	Filler		word
	Segment		word
	Filler1		word
	Mapping		array[ 0..3 ] of word

Description:

	DBI (Disk Buffer Info), DOS V4.0.

DBIV41							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	DBHCH		pointer
	Chain_Count	word
	Lookahead	pointer
	Lookahead_Count	word
	Flag		byte
	Segment		word
	Page		word
	Segment1	word
	Page1		word
	Frames		byte
	Workspace	word
	Handle		word
	Page2		word
	Filler		word
	Frame		word
	Filler1		word
	Flag1		byte

Description:

	DBI (Disk Buffer Info), DOS V4.01.

DDBV2							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Next		pointer
	Drive		byte
	Filler		array[ 0..2 ] of byte
	Sector		word
	Copies		byte
	Offset		byte
	DPB		pointer
	Start		byte

Description:

	DDB (DOS Disk Buffer), DOS V2.n.

DDBV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Next		pointer
	Drive		byte
	Flags		byte
	Sector		word
	Copies		byte
	Offset		byte
	DPB		pointer
	Filler		word
	Start		byte

Description:

	DDB (DOS Disk Buffer), DOS V3.n.

DDBV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Next		word
	Previous	word
	Drive		byte
	Flags		byte
	Sector		longint
	Copies		byte
	Offset		word
	DPB		pointer
	Count		word
	Filler		byte
	Start		byte

Description:

	DDB (DOS Disk Buffer), DOS V4.n.

DDH							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
Variant:
	Next		pointer
	Attributes	word
	Exit_Point	word
	Entry_Point	word
	Sub_Units	byte
	Filler		array[ 0..6 ] of byte
	Reserved	word
	Drive		char
	Units		byte
	Signature	array[ 0..5 ] of byte
Variant:
	Filler1		array[ 0..9 ] of byte
	Name		array[ 0..7 ] of CHAR

Description:

	DDH (Device Driver Header).

DDTV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Next		pointer
	Unit_Number	byte
	Drive_Number	byte
	BIOS_PB		BPB
	Filler		byte
	Open		word
	Volume_Label	array[ 0..10 ] of char
	Null		byte
	Device_Type	byte
	Flags		word
	Cylinders	word
	Max_Capacity	BPB
	Filler1		array[ 0..2 ] of byte
	File_System	array[ 0..8 ] of char
	Null1		byte
	Last_Access	longint

Description:

	DDT (Drive Data Table), DOS V3.3.

DDTV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Next		pointer
	Unit_Number	byte
	Drive_Number	byte
	BIOS_PB		BPB
	Filler		array[ 0..8 ] of byte
	Device_Type	byte
	Flags		word
	Cylinders	word
	Max_Capacity	BPB
	Filler1		array[ 0..12 ] of byte
	Last_Access	longint
	Volume_Label	array[ 0..10 ] of char
	Null		byte
	Serial_Number	longint
	File_System	array[ 0..7 ] of char
	Null1		byte

Description:

	DDT (Drive Data Table), DOS V4.n.

Delete							Lib
							DOS, DPMI, Windows

Type: Integer function

Call format: I := Delete( Command ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		String			Name of module to delete.

Description:

	Deletes the specified module from the current library.

Delete							LIB.H
							C

Type: int

Call format: I = Delete( Command ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		char*			Name of module to delete.

Description:

	Deletes the specified module from the current library.

Delete_Font						FontMana.H
							C++ Windows

Type: void function

Call format: Delete_Font( Index ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Index		int			Handle of font to delete.

Description:

	This function deletes the specified font.  If the font has multiple
references, the usage count is decreased.

Delete_Handler						Cache
							DOS, DPMI, Windows

Type: procedure

Call format: Delete_Handler( Routine ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Routine		TCache_Handler		Cache handler to remove.

Description:

	This routine removes a cache handler from the cache handler list.  See
Add_Handler and Free_Cache.

Delete_Handler						CLIB.H
							C

Type: void

Call format: Delete_Handler( Routine ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Routine		void (*)()		Cache handler to remove.

Description:

	This routine removes a cache handler from the cache handler list.  See
Add_Handler and Free_Cache.

Delete_Line						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Delete_Line( Window_P, Direction ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to delete line in
	Direction	Byte			0 = gain top line
						1 = gain bottom line

Description:

	This procedure deletes a line from the specified window at the
current position.  The rest of the window is scrolled to fill-in the deleted
line.  Direction indicates where the new blank line appears.  If 0, the
window above the current position is scrolled down one line and the top line
is blank.

Delete_Line						SMU.H
							C

Type: void

Call format: Delete_Line( Window_P, Direction ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to delete line in
	Direction	short int		0 = gain top line
						1 = gain bottom line

Description:

	This procedure deletes a line from the specified window at the
current position.  The rest of the window is scrolled to fill-in the deleted
line.  Direction indicates where the new blank line appears.  If 0, the
window above the current position is scrolled down one line and the top line
is blank.

Delete_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Delete_Window( Window ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window		Window_Pointer		Window to delete.

Description:

	This procedure deletes a window.  If the window is mapped to the screen,
it is unmapped first.

Delete_Window						SMU.H
							C

Type: void

Call format: Delete_Window( Wp ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Wp		Window*			Window to delete.

Description:

	This procedure deletes a window.  If the window is mapped to the screen,
it is unmapped first.

Dir_Rec							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Name		array[ 0..10 ] of char	First byte is $E5 if entry is
						free and $00 if end of entries.
	Attributes	byte
	Filler		array[ 0..9 ] of byte
	Update_Time	word
	Update_Date	word
	Start_Cluster	word
	Size		longint

Description:

	FindFirst/Next data block for SDAs.

DiskRead						Disk
							DOS, DPMI, Windows

Type: procedure

Call format: DiskRead( Unit_Number, Sector, Count, Buf, Result, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Unit_Number	Integer			Disk unit to read.
	Sector		Integer			Sector to read.
	Count		Integer			Count of bytes to read.
	Buf		var			Buffer to receive data
	Result		var integer		Result of operation.
	Flags		var integer		Result of operation.

Description:

	This is an absolute disk read procedure for MSDOS.

DiskWrite						Disk
							DOS, DPMI, Windows

Type: procedure

Call format: DiskWrite( Unit_Number, Sector, Count, Buf, Result, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Unit_Number	Integer			Disk unit to write to.
	Sector		Integer			Sector to write to.
	Count		Integer			Count of bytes to write.
	Buf		var			Buffer of data to write.
	Result		var integer		Result of operation.
	Flags		var integer		Result of operation.

Description:

	This is an absolute disk write procedure for MSDOS.

Double_List

Type: Object( TDList )

Fields:

	Name		Type			Description
	----		----			-----------
	Context		List_Pointer		Pointer to EOL

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored in the list are destroyed when
		the list object destructs.


	procedure Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of list.


	procedure Get( var Data ) ; virtual ;

		Copies the item at the current context into the specified
		buffer.


	procedure Previous( var Data ) ; virtual ;

		Sets the context to the previous item and copies it into the
		specified buffer.


	procedure Insert( var Data ) ; virtual ;

		Inserts the item in the specified buffer into the current
		position on the list.  The context is the new item.


	procedure Delete; virtual ;

		Deletes the item at the current position.  The context is
		invalid after this operation.


	procedure Last( var Data ) ; virtual ;

		Sets the context to the last item in the list and copies it
		into the specified buffer.


	procedure First( var Data ) ; virtual ;

		Sets the context to the first item in the list and copies it
		into the specified buffer.


	function EOL : boolean ; virtual ;

		Returns True if the context is at the end of the list.


	function BOL : boolean ; virtual ;

		Returns True if the context is at the beginning of the list.


Description:

	Defines a standard double-linked list object with a context.  The
list keeps a context of its current position except in certain cases when the
context becomes invalid (such as deleting the current item, or next/previous
off the ends of the list).

DPBV1							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Drive			byte
	Unit_Number		byte
	Bytes_Per_Sector	word
	Largest_Sector		byte
	Shift_Count		byte
	Reserved_Sectors	word
	FAT_Copies		byte
	Root_Directory_Entries	word
	First_Data_Sector	word
	Max_Cluster		word

Description:

	DPB (Drive Parameter Block) For DOS V1.n.

DPBV2							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Drive			byte
	Unit_Number		byte
	Bytes_Per_Sector	word
	Largest_Sector		byte
	Shift_Count		byte
	Reserved_Sectors	word
	FAT_Copies		byte
	Root_Directory_Entries	word
	First_Data_Sector	word
	Max_Cluster		word
	FAT_Sectors		byte
	Root_Sector		word
	Driver			pointer
	Media_ID		byte
	Rebuild			byte
	Next_Driver		pointer
	Current_Directory_Cluster word
	Current_Path		array[ 0..63 ] of char

Description:

	DPB (Drive Parameter Block) For DOS V2.n.

DPBV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Drive			byte
	Unit_Number		byte
	Bytes_Per_Sector	word
	Largest_Sector		byte
	Shift_Count		byte
	Reserved_Sectors	word
	FAT_Copies		byte
	Root_Directory_Entries	word
	First_Data_Sector	word
	Max_Cluster		word
	FAT_Sectors		byte
	Root_Sector		word
	Driver			pointer
	Media_ID		byte
	Rebuild			byte
	Next_Driver		pointer
	Search_Start		word
	Free_Clusters		word

Description:

	DPB (Drive Parameter Block) For DOS V3.n.

DPBV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Drive			byte
	Unit_Number		byte
	Bytes_Per_Sector	word
	Largest_Sector		byte
	Shift_Count		byte
	Reserved_Sectors	word
	FAT_Copies		byte
	Root_Directory_Entries	word
	First_Data_Sector	word
	Max_Cluster		word
	FAT_Sectors		word
	Root_Sector		word
	Driver			pointer
	Media_ID		byte
	Rebuild			byte
	Next_Driver		pointer
	Search_Start		word
	Free_Clusters		word

Description:

	DPB (Drive Parameter Block) For DOS V4.n.

DPL							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
Variant:
	AX		word
	BX		word
	CX		word
	DX		word
	SI		word
	DI		word
	DS		word
	ES		word
	Filler		word
	ID		word
	Process		word
Variant:
	AL		byte
	AH		byte
	BL		byte
	BH		byte
	CL		byte
	CH		byte
	DL		byte
	DH		byte

Description:

	DPL (DOS Parameter List).

DrawBitMap						WINSTD
							Windows

Type: procedure

Call format: DrawBitMap( HBit, DC, X, Y ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	HBit		HBitMap			Bitmap to draw.
	DC		HDC			Device context to draw bitmap
						on.
	X		Integer			Position of bitmap's left
						column.
	Y		Integer			Position of bitmap's top edge.

Description:

	This function draws the specified bitmap on the specified device
context in the specified position.

DrawFrame						WINSTD
							Windows

Type: procedure

Call format: DrawFrame( DC, S_X, S_Y, E_X, E_Y ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	DC		HDC			Device context to draw frame on.
	S_X		Integer			Starting X position.
	S_Y		Integer			Starting Y position.
	E_X		Integer			Ending X position.
	E_Y		Integer			Ending Y position.

Description:

	This function draws a frame with the specified coordinates.  The
current line characteristics for the device context are used to draw the
frame.

DrawInWindow						WINSTD
							Windows

Type: procedure

Call format: DrawInWindow( HBit, Window, DC, X, Y, XSize, YSize, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	HBit		HBitMap			Bitmap to draw.
	Window		HWND			Window to display bitmap on.
	DC		HDC			Device context to display
						bitmap on.
	X		Integer			Position for the left side of
						the bitmap.
	Y		Integer			Position for the top edge of
						the bitmap.
	XSize		Integer			Width of drawn bitmap.
	YSize		Integer			Height of drawn bitmap.
	Flags		Integer			Reserved for future use.

Description:

	Write specified bitmap to Display Context DC (in window Window).  A DC
is created if none is passed.  Either Window or DC can be 0, but not both.

Duplicate_Font						FontMana.H
							C++ Windows

Type: int function

Call format: I = Duplicate_Font( Index ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Index		int			Handle of font to duplicate.

Description:

	This function increases the usage count of the specified font and
returns the passed handle.

Dynamic_Array

Type: Object( TDArray )

Fields:

	Name		Type			Description
	----		----			-----------
	High		Word			High bound for array.
	Low		Word			Low bound for array.

Methods:

	constructor Init( LBound, UBound : integer ; Size : word ;
	    Flag : boolean ) ;

		Constructs the array object with the specified lower and
		upper array bounds, with the specified element size.  Flag is
		True if elements are objects.  In this case, size must be 4.
		Objects are destructed when the array is destructed.

	procedure Get( Offset : integer ; var Data ) ; virtual ;

		Returns the data from the specified offset to the specified
		buffer.

	procedure Put( Offset : integer ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specified
		offset.

Description:

	This defines a Dynamic Array object.

Dynamic_Stack

Type: Object( TDStack )

Fields:

	Name		Type			Description
	----		----			-----------
	Stack_Top	Word			Top of stack element.

Methods:

	constructor Init(Cnt, Size : word ; Flag : boolean ) ;

		Constructs the object with the specified initial number of
		elements of the specified size.  Flag is true if the elements
		store objects.  In this case, size must be 4.  Objects are
		destructed when the stack is destructed.

	function Empty : boolean ; virtual ;

		Returns True if the stack is empty.

	procedure Pop( var Data ) ; virtual ;

		Pops data from the top of the stack into the specified buffer.

	procedure Push( var Data ) ; virtual ;

		Pushes data from the specified buffer onto the stack.

	procedure Top( var Data ) ; virtual ;

		Places data from the top of the stack into the specified
		buffer.

Description:

	This defines a Dynamic Stack object.

Dynamic_strcat						DYNSTR.H
							C++, C++ Windows

Type: void function

Call format: Dynamic_strcat( Dst, Src ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Dst		char**			Destination char pointer.
	Src		char*			Source char.

Description:

	Dynamically concatenates a string to a char pointer, handling NULL
pointers, and reallocations, if necessary.

Dynamic_strcpy						DYNSTR.H
							C++, C++ Windows

Type: void function

Call format: Dynamic_strcpy( Dst, Src ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Dst		char**			Destination char pointer.
	Src		char*			Source char.

Description:

	Dynamically copies a string to a char pointer, handling NULL pointers
and reallocation, if necessary.

EBS							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const EBS = #254 (Pascal)
      #define EBS '\xFE' (C)

Description:

	This defines the TEU extended backspace character.

Edit							Format.H
							C++, C++ Windows

Type: void function

Call format: Edit( Dst, Src, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Dst		char*			Result string.  Ignored when
						passed, the result on return.
	Src		char*			Source string to format.
	Flags		int			Formatting codes:
						&     1 = Trim Most
							  Significant Bit.
						&     2 = Remove all spaces
							  and tabs.
						&     4 = Remove all nulls,
							  linefeeds,
							  formfeeds, carriage
							  returns, and
							  deletes.
						&     8 = Remove leading
							  spaces.
						&    16 = Reduce spaces and
							  tabs to one space.
						&    32 = Convert lower to
							  upper case.
						&    64 = Convert '[' to '('
							  and ']' to ')'.
						&   128 = Remove all trailing
							  spaces.
						&   256 = Leave characters
							  within quotes (")
							  unmodified.
						&   512 = Convert upper case
							  to lower case.
						&  1024 = Convert '[' to '{'
							  and ']' to '}{'.
						&  2048 = Convert '(' to '['
							  and ')' to ']'.
						&  4096 = Convert '(' to '{'
							  and ')' to '}'.
						&  8192 = Convert '{' to '('
							  and '}' to ')'.
						& 16384 = Convert '{' to '['
							  and '}' to ']'.

Description:

	This function formats the source string, returning the result in the
destination string.

Edit							Standard
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Edit( Str, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Str		String			String to convert.
	Flags		Integer			Editing flags:
						AND     1 = Trim Most
							    Significant Bit.
						AND     2 = Remove all spaces
							    and tabs.
						AND     4 = Remove all nulls,
							    linefeeds,
							    formfeeds, carriage
							    returns, and
							    deletes.
						AND     8 = Remove leading
							    spaces.
						AND    16 = Reduce spaces and
							    tabs to one space.
						AND    32 = Convert lower to
							    upper case.
						AND    64 = Convert '[' to '('
							    and ']' to ')'.
						AND   128 = Remove all trailing
							    spaces.
						AND   256 = Leave characters
							    within quotes (")
							    unmodified.
						AND   512 = Convert upper case
							    to lower case.
						AND  1024 = Convert '[' to '{'
							    and ']' to '}{'.
						AND  2048 = Convert '(' to '['
							    and ')' to ']'.
						AND  4096 = Convert '(' to '{'
							    and ')' to '}'.
						AND  8192 = Convert '{' to '('
							    and '}' to ')'.
						AND 16384 = Convert '{' to '['
							    and '}' to ']'.
						AND 32768 = Convert case of
							    Windows high-ASCII
							    latin characters
							    (32-bit only).
						AND 65536 = Convert case of
							    DOS high-ASCII
							    latin characters
							    (32-bit only).

Description:

	This function will perform various editing functions on strings.

Edit							CLIB.H
							C

Type: void

Call format: Edit( Dst, Src, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Dst		char*			Result string.  Ignored when
						passed, the result on return.
	Src		char*			Source string to format.
	Flags		int			Formatting codes:
						&     1 = Trim Most
							  Significant Bit.
						&     2 = Remove all spaces
							  and tabs.
						&     4 = Remove all nulls,
							  linefeeds,
							  formfeeds, carriage
							  returns, and
							  deletes.
						&     8 = Remove leading
							  spaces.
						&    16 = Reduce spaces and
							  tabs to one space.
						&    32 = Convert lower to
							  upper case.
						&    64 = Convert '[' to '('
							  and ']' to ')'.
						&   128 = Remove all trailing
							  spaces.
						&   256 = Leave characters
							  within quotes (")
							  unmodified.
						&   512 = Convert upper case
							  to lower case.
						&  1024 = Convert '[' to '{'
							  and ']' to '}{'.
						&  2048 = Convert '(' to '['
							  and ')' to ']'.
						&  4096 = Convert '(' to '{'
							  and ')' to '}'.
						&  8192 = Convert '{' to '('
							  and '}' to ')'.
						& 16384 = Convert '{' to '['
							  and '}' to ']'.

Description:

	This function formats the source string, returning the result in the
destination string.

EDN_*							UEditor
							DOS, DPMI, Windows

Type: const

Description:

	These mnuemonics define call-back messages send by the editor:

	Mnuemonic			Meaning
	---------			-------
	edn_Memory			Not enough memory.
	edn_Top				Backup past BOB.
	edn_Bottom			Advance beyond EOB.
	edn_Length			Line length exceeds 255 characters.
	edn_NotFound			Text not found.
	edn_NoSelection			Nothing selected.
	edn_Selection			Selection in progress.
	edn_Position			Changed cursor position.
	edn_Modify			Buffer modification flag has changed.
	edn_LineCount			Line count has changed.
	edn_Scroll			Position within buffer has changed.

EDS_*							UEditor
							DOS, DPMI, Windows

Type: const

Description:

	These constants define Editor options:

	Mnuemonic			Meaning
	---------			-------
	EDS_SubWindow			Sub window within window.
	EDS_ScrollOnRedraw		Scroll on redraw of adjustment.
	EDS_CursorBound			Bind cursor to line length.
	EDS_Beep			Beep on warning/error.
	EDS_AutoIndent			Automatically indent new lines.
	EDS_NoMessages			No error/warning messages.
	EDS_NoTabs			No special tab processing.

End_SMU							SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: End_Smu ;

Description:

	Nicely terminates SMU.  This should be called before the program
exits in order to restore video states, and clean up memory usage.

End_Smu							SMU.H
							C

Type: void

Call format: End_Smu() ;

Description:

	Nicely terminates SMU.  This should be called before the program
exits in order to restore video states, and clean up memory usage.

EPB							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Environment	word
	Command_Line	pointer
	FCB1		pointer
	FCB2		pointer
	Initial_SS_SP	longint
	Entry_Pointer	longint

Description:

	EXEC Parameter Block.

Erase_EOL						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Erase_EOL( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to erase.

Description:

	This procedure erases the from the current position to the end of the
line where the cursor is.

Erase_Eol						SMU.H
							C

Type: void

Call format: Erase_Eol( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to erase.

Description:

	This procedure erases the from the current position to the end of the
line where the cursor is.

Erase_EOW						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Erase_EOW( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to erase.

Description:

	This procedure erases from the current position to end of window.

Erase_Eow						SMU.H
							C

Type: void

Call format: Erase_Eow( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to erase.

Description:

	This procedure erases from the current position to end of window.

Error							Error

Type: procedure

Call format: Error( ErrNo, ErrAddr ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	ErrNo		Integer			Error number.
	ErrAddr		Integer			Error address.

Description:

	This procedure can be called when an abort happens, to display the
error text and address.

Error							Standard
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: ExitProc := @Error ;

Parameters: None

Description:

	This is a general exit handler.  It displays the text of the exit code
prior to termination.

ERT							Standard
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Ert( Err ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	ERR		Integer			Code to return error text for.

Description:

	Return error text for the specified error code.

ERT							CLIB.H
							C

Type: char*

Call format: S = ERT( int Err ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	ERR		int			Code to return error text for.

Description:

	Return error text for the specified error code.

ESC							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const ESC = #27 (Pascal)
      #define ESC '\x1B' (C)

Description:

	This defines the ASCII escape character.

Eval							Evals
							DOS, DPMI, Windows

Type: procedure

Call format: Eval( Expression, Result, Imaginary, E, P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Expression	String			Expression to evaluate.
	Result		var Extended		Result of expression.
	Imaginary	var Extended		Imaginary part of result.
						This is currently unused.
	E		var Integer		Error code:
							0 = No errors
							1 = Illegal variable
							2 = Syntax error
							3 = Illegal symbol
							4 = Missing left
							    parenthesis
							5 = Division by zero
							6 = Illegal number for
							    factorial
							7 = Floating point error
							8 = Illegal number
							9 = Illegal argument
							10 = Imaginary square
							     roots
							11 = Illegal argument
							     in LOG
							12 = Argument too large
							     in EXP
							13 = Expression too
							     complex
	P		var Integer		Position of error in
						Expression.

Description:

	This procedure evaluates an expression passed in a string and returns
the result.  The expression analyzer allows single-character variable names,
the following operators, constants, and functions:

	Operator	Description
	--------	-----------
	-		Subtraction (or unary minus).
	+		Addition (or unary plus).
	/		Division
	*		Multiplication
	!		Factorial
	%		Percentage
	^		Exponentiation
	REM		Division remainder only
	MOD		Modulus division
	MIN		Return left side value if greater than the right side
			value, otherwise, return the right side value
	MAX		Return left side value if less than the right side
			value, otherwise, return the right side value

	Constant name		Description
	-------------		-----------
	PI			3.14159265...

	Trigonometric function	Description
	----------------------	-----------
	TAN			Tangent
	SIN			Sine
	COS			Cosine
	SEC			Secant
	COT			Cotangent
	CSC			Cosecant

	ARC and Hyperbolic functions are available by prefixing the
	trigonometric function name with "ARC", "HYP", or "HYPARC".

	Function name		Description
	-------------		-----------
	ABS			Absolute value
	DEG			Radian to degree conversion
	EXP			Constant E raised to the specified power
	FIB			Fibonacci sequence
	INT			Integer
	LOG			Natural logrithm
	LOG10			Common logrithm
	RAD			Degree to radian conversion
	RND			Random number between 0 and the specified value.
	SGN			Sign (returns -1 if negative, 1 if positive, or
				0 if 0)
	SQR			Square root

  Numeric values may be integers, reals, or randoms.  Integers are values with
no decimal point.  They may be positive or negative.  Reals are like integers
except that they can be fractional by using a decimal place.  Reals may also be
specified in E-notation.  The form is: nEsd
where "n" is an integer value, "s" is an optional sign (+ or -), and "d" is an
integer.  If "s" is omitted, it defaults to "+".  "n" is multiplied by 10 to the
power of "d" to give the value of the whole specification.
  Randoms are specified as nDr
where "n" is a number and "r" is an integer.  This evaluates to an integer value
equal to the sum of "n" random numbers between 1 and r, inclusive.  For example,
"2D6" is equivalent to "RND(5)+1 + RND(5)+1".

ExactWindow						WINSTD
							Windows

Type: procedure

Call format: ExactWindow( HBit, Window, DC, X, Y, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	HBit		HBitMap			Bitmap to draw on window.
	Window		HWND			Window to draw bitmap on.
	DC		HDC			Device context for draw
						operation.  If 0, a temporary
						bitmap is created.
	X		Integer			Position on window of left side
						of bitmap.
	Y		Integer			Position on window of top edge
						of bitmap.
	Flags		Integer			Reserved for future use.

Description:

	Writes the specified bitmap to Display Context DC, making it fit
exactly within the bounds of the specified window's client area.  A DC is
created if none is passed.  Normally X and Y are 0.

ExitSave						Standard
							DOS, DPMI, Windows
							Delphi

Type: Pointer ;

Description:

	This variable should not be changed unless there is a desire to insert
an error handler at the beginning of the exit list.

Explicit						Files
							DOS, DPMI
							Delphi

Type: String function

Call format: S := Explicit( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		String			Filename to expand.

Description:

	This function takes a filename and makes it explicit, removing all
relative directory specifications, adding default device and directories, etc.
Logicals are not processed (see Filnam).

Extension_Pos						Standard
							DOS, DPMI, Windows
							Delphi

Type: Integer function

Call format: I := Extension_Pos( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		String			Filename to check.

Description:

	This function returns the position of the period (.) which separates
the file name from the file extension.  If there is none, 0 is returned.

Extension_Pos						CLIB.H
							C

Type: int

Call format: I = Extension_Pos( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		char*			Filename to check.

Description:

	This function returns the position of the period (.) which separates
the file name from the file extension.  If there is none, 0 is returned.

Extract							UStrings
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Extract( Original, Substring, Start, Ending ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Original	String			String to extract from
	Substring	String			String to extract
	Start		Integer			Starting position in Original
	Ending		Integer			Ending position in Original

Description:

	This function extracts all occurances of substring from the original
string and returns the result.  Only occurances between Start and Ending are
extracted.  If Ending < 1, it  defaults to the entire length of the string.

False							CLIB.H
							C

Type: #define False 0

Description:

	This constant defines a boolean False value.  See also True.

TFast_Sparse_Matrix					Structur
							Delphi

Type: object( TMatrix )

Fields: None

Methods:

	Init			constructor Init( Size, Subscripts : longint ) ;

				Constructs the matrix, having elements of the
				specified number of bytes.  Subscripts specifies
				the number of subscripts (dimensions) of the
				matrix.


	Done			destructor Done ;

				Destroys the matrix and erases the storage.


	Clear			procedure Clear ;

				Deallocates all allocated matrix data.


	Matrix_Exists		function Matrix_Exists( Index : array of integer ) : boolean ;

				Returns true if the element at the specified
				index exists.


	Matrix_Get		procedure Matrix_Get( Index : array of integer ;
					var Data ) ;

				Places the data from the specified element into
				the Data variable.


	Matrix_Put		procedure Matrix_Put( Index : array of integer ;
					var Data ) ;

				Writes the data from Data into the specified
				element.

Description:

	This class allows the creation of sparse matricies.  The default value
for elements is 0.  Any element not explicitly set to a value other than 0
returns a value of 0.  Indexing into the array is specified with an open
array of subscripts.

FCB_Local						TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Extended		byte			FFH if extended (offset
							-7)
	Filler			array[ 0..4 ] of byte
	Extended_Attribute	byte			(Offset -1).
	Drive_Number		byte			(Offset 0).
	File_Name		array[ 0..10 ] of char
	Current_Block		word
	Record_Size		word
	File_Size		longint
	Date			word
	Time			word
	SFT_Number		byte
	Flags			byte
	Starting_Cluster	word
	SHARE_Offset		word
	Attributes		byte
	Filler1			byte
	Current_Record		byte
	Record_Number		longint

Description:

	FCB (File Control Block) for V3.n, SHARE loaded, local file.

FCB_Remote						TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Extended		byte			FFH if extended (offset
							-7).
	Filler			array[ 0..4 ] of byte
	Extended_Attribute	byte			(Offset -1).
	Drive_Number		byte			(Offset 0).
	File_Name		array[ 0..10 ] of char
	Current_Block		word
	Record_Size		word
	File_Size		longint
	Date			word
	Time			word
	Directory_Sector	word
	Relative_Cluster	word
	Absolute_Cluster	word
	Current_Record		byte
	Record_Number		longint

Description:

	FCB (File Control Block) for V3.n, SHARE loaded, remote file.

FCBV1							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Extended		byte			FFH if extended (offset
							-7).
	Filler			array[ 0..4 ] of byte
	Extended_Attribute	byte			(Offset -1).
	Drive_Number		byte			(Offset 0).
	File_Name		array[ 0..10 ] of char
	Current_Block		word
	Record_Size		word
	File_Size		longint
	Date			word
	Time			word
	Flags			byte
	Absolute_Cluster	word
	Starting_Cluster	word
	Relative_Cluster	word
	Filler1			byte
	Current_Record		byte
	Record_Number		longint

Description:

	FCB (File Control Block) for V1.n.

FCBV2							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Extended		byte			FFH if extended (offset
							-7)
	Filler			array[ 0..4 ] of byte
	Extended_Attribute	byte			(Offset -1)
	Drive_Number		byte			(Offset 0)
	File_Name		array[ 0..10 ] of char
	Current_Block		word
	Record_Size		word
	File_Size		longint
	Date			word
	Time			word
	Flags			byte
	Starting_Cluster	word
	Filler1			array[ 0..4 ] of byte
	Current_Record		byte
	Record_Number		longint

Description:

	FCB (File Control Block) for V2.n.

FCBV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Extended		byte			FFH if extended (offset
							-7).
	Filler			array[ 0..4 ] of byte
	Extended_Attribute	byte			(Offset -1).
	Drive_Number		byte			(Offset 0).
	File_Name		array[ 0..10 ] of char
	Current_Block		word
	Record_Size		word
	File_Size		longint
	Date			word
	Time			word
	Flags			byte
	Starting_Cluster	word
	Directory_Sector	word
	Directory_Entry		byte
	Current_Record		byte
	Record_Number		longint

Description:

	FCB (File Control Block) for V3.n, SHARE not loaded.

FEdit							Standard
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: FEdit( Dst, Src, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Dst		var String		Destination string.
	Src		var String		Source string.
	Flags		integer			Editing flags:
						AND     1 = Trim Most
							    Significant Bit.
						AND     2 = Remove all spaces
							    and tabs.
						AND     4 = Remove all nulls,
							    linefeeds,
							    formfeeds, carriage
							    returns, and
							    deletes.
						AND     8 = Remove leading
							    spaces.
						AND    16 = Reduce spaces and
							    tabs to one space.
						AND    32 = Convert lower to
							    upper case.
						AND    64 = Convert '[' to '('
							    and ']' to ')'.
						AND   128 = Remove all trailing
							    spaces.
						AND   256 = Leave characters
							    within quotes (")
							    unmodified.
						AND   512 = Convert upper case
							    to lower case.
						AND  1024 = Convert '[' to '{'
							    and ']' to '}{'.
						AND  2048 = Convert '(' to '['
							    and ')' to ']'.
						AND  4096 = Convert '(' to '{'
							    and ')' to '}'.
						AND  8192 = Convert '{' to '('
							    and '}' to ')'.
						AND 16384 = Convert '{' to '['
							    and '}' to ']'.

Description:

	This function will perform various editing functions on strings.

FF							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const FF = #12 (Pascal)
      #define FF '\x0C' (C)

Description:

	This defines the ASCII form feed character.

FHF_*							FSFH
							DOS, DPMI, Windows


Type: const integer

Description:

	These constants define the File Heap processing flags:

	Mnuemonic			Meaning
	---------			-------
	FHF_NoExtend			Don't extend file.
	FHF_NoClose			Don't close file when done.

File_Handle						FSFH
							DOS, DPMI, Windows

Type: ^File_Header ;

Description:

	This is a pointer to a File_Header record.  These pointers are used to
pass file information around.  They serve as handles for accessing files.

File_Header						FSFH
							DOS, DPMI, Windows

Type: Record

Fields:

	Name			Type			Description
	----			----			-----------
	Entry			TDirectory_Entry	Copy of file's
							directory entry.
	Directory_Entry_Position Longint		Pointer to directory
							entry.

Description:

	This record defines the file handle information kept in memory for
accessing a File System file.

File_Header						Backups
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type		Description
	----		----		-----------
	Compression	Byte		Type of compression.  0 = none.
	Attributes	Byte		DOS file attributes.
	Date_Time	Longint		DOS file Update date/time.
	Size		Longint		DOS file size.
	Saveset_Size	Longint		Size on saveset.
	Start		Longint		Starting offset in file of following
					data.
	Flags		Longint		Reserved.
	Filename	String		File name.

File_Record						Files
							DOS, DPMI, Windows
							Delphi

Type: type File_Record = record
	                       case boolean of
	                           true : ( Tf : Text ) ;
	                           false : ( Ntf : File ) ;
			 end ;

Description:

	This record is a union specifying both text and nontext files.

FileName						Files
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := FileName( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		String			File name to convert.

Description:

	Finds a file given a file name.  The name can contain logicals
(symbols), and search lists (;).  If no device/directory is specified and file
is not found with name given, it is searched for in PATH:.  Literal devices are
specified with underscores (_).  If a logical translation fails, the "logical"
is tried as if a literal device name.  If the file is not found, the passed
name, with translated logicals, is returned.

Filnam							Files
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Filnam( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		String			File name to convert.

Description:

	Finds a file given a file name.  The name can contain logicals
(symbols), and search lists (;).  If no device/directory is specified and file
is not found with name given, it is searched for in PATH:.  Literal devices are
specified with underscores (_).  If a logical translation fails, the "logical"
is tried as if a literal device name.

Filnam							CLIB.H
							C

Type: char*

Call format: S = Filnam( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		char*			File name to convert.

Description:

	Finds a file given a file name.  The name can contain logicals
(symbols), and search lists (;).  If no device/directory is specified and file
is not found with name given, it is searched for in PATH:.  Literal devices are
specified with underscores (_).  If a logical translation fails, the "logical"
is tried as if a literal device name.

FInstr							Instrs
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: FInstr( Destination, Position, String, Substring ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Destination	var Integer		Result of search.
	Position	Integer			Position in string to begin
						search at.
	String		String			String to search.
	Substring	String			String to search for.

Description:

	This function returns the position within a string of a substring,
starting at a specified character.

FontSetup						WINSTD
							Windows

Type: longint function

Call format: L := FontSetup( AParent, AName Message, Font, Printer ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	AParent		PWindowsObject		Parent window of dialog.
	AName		PChar			Name of the dialog resource
						which will be used for the
						dialog.
	Message		Word			Windows message to send when a
						new font is selected.
	Font		String			Current default font name.
	Printer		String			Current default printer name.

Description:

	This function executes the font set-up dialog.  The dialog resource
must have a list box with ID 101, and at least one button with an ID of the
windows constant IDOK.  Although not required, typically the dialog also has a 
cancel button and a scroll bar.  When the OK button is pressed, the specified
windows message is sent to the parent, with a pointer to a string containing
the selected text in the list box (a font name).

Font_Array_Big						SMU
							DOS, DPMI, Windows
							Delphi

Type: Array[ 0..2559 ] Of Byte ;

Description:

	Font array for large characters.  This is only used on DEC Rainbows.

Font_Array_Small					SMU
							DOS, DPMI, Windows
							Delphi

Type: Array[ 0..2047 ] Of Byte ;

Description:

	Font array for large characters.  This is only used on DEC Rainbows.

Font0							SMU
							DOS, DPMI
							Delphi

Type: Const Font_Array_Big ;

Description:

	This is the font image data for large fonts.  Only used on DEC Rainbows.

Font1							SMU
							DOS, DPMI
							Delphi

Type: Const Font_Array_Small ;

Description:

	This is the font image data for small fonts.  Only used on DEC Rainbows.

Free_Cache						Cache
							DOS, DPMI, Windows

Type: procedure

Call format: Free_Cache( Siz, Priority, Exclude ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Siz		Longint			Size (in bytes) of memory to
						free.
	Priority	Longint			Priority under which a handler
						must be before it is called.
	Exclude		TCache_Handler		Cache handler to exclude from
						free requests.  nil if all
						handlers are included.

Description:

	This procedure calls the installed cache handlers in reverse priority
order to attempt to free the specified amount of memory.  See Add_Handler and
Delete_Handler.

Free_Cache						CLIB.H
							C

Type: void

Call format: Free_Cache( Siz, Priority, Exclude ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Siz		long int 		Size (in bytes) of memory to
						free.
	Priority	long int 		Priority under which a handler
						must be before it is called.
	Exclude		void (*)()		Cache handler to exclude from
						free requests.  nil if all
						handlers are included.

Description:

	This procedure calls the installed cache handlers in reverse priority
order to attempt to free the specified amount of memory.  See Add_Handler and
Delete_Handler.

Free_Fonts						FontMana.H
							C++ Windows

Type: void function

Call format: Free_Fonts() ;

Parameters: None

Description:

	This function frees all fonts known by the Font Manager.

FRight							UStrings
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: FRight( Z, C, Position ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Z		var String		Result string.
	C		var String		String to return a copy of.
	Position	Integer			Position to begin at in string.

Description:

	This function returns a copy of the right portion of the specified
string, beginning at the specified position.

FRight							CLIB.H
							C

Type: void

Call format: FRight( Z, C, Position ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Z		char*			Result string.
	C		char*			String to return a copy of.
	Position	int			Position to begin at in string.

Description:

	This function returns a copy of the right portion of the specified
string, beginning at the specified position.

FS_Boot_Record						FSFH
							DOS, DPMI, Windows

Type: Record

Fields:

	Name			Type			Description
	----			----			-----------
	Header			Longint			Pointer to header
							record.
	Physical_Block_Size	Integer			Physical block size
							(in bytes).
	Filler			Integer			Reserved for future use.
	Reserved		Integer			Reserved for future use.

Description:

	This record defines the boot area of a File System file.

FS_Maximum_File_Name					FSFH
							DOS, DPMI, Windows

Type: const FS_Maximum_File_Name = 127

Description:

	This constant defines the maximum size of file names for File System
files.

FS_Error						FSError
							DOS, DPMI, Windows

Type: string function

Call format: S := FS_Error( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Longint			Error code to return string
						for.

Description:

	This function returns the error text for a specified error.  If
negative, the absolute value is used to return the DOS error text.

	See also FSErr_*.

FS_Wildcard						FSFH
							DOS, DPMI, Windows

Type: Boolean function

Call format: B := FS_Wildcard( Wildcard, Filename )

Parameters:

	Name		Type			Description
	----		----			-----------
	Wildcard	String			Wildcard to compare against.
	Filename	String			Filename to check.

Description:

	This function determines if the specified filename matches the
specified wildcard specification.  If so, it returns True, otherwise it returns
False.

FSErr_*							FSError
							DOS, DPMI, Windows

Type: const integer

Description:

	These constants define the File System unit error codes:

	Mnuemonic			Meaning
	---------			-------
	FSErr_Success			FS operation completed successfully
	FSErr_FileNotOpen		I/O operation on unopened channel
	FSErr_EndOfFile			Attempt to read past end of file
	FSErr_FileNotFound		File lookup failed
	FSErr_FileNameLength		Error in size of file name
	FSErr_FileName			Error in file name contents
	FSErr_DirectoryNotFound		Directory lookup failed
	FSErr_InvalidPath		Path contained reference to
					non-directory
	FSErr_NoRoomOnDevice		Device has no room
	FSErr_ProtectionViolation	Protection violation
	FSErr_DirectoryExists		Directory already exists
	FSErr_FileNotEmpty		File is not empty
	FSErr_DirectoryNotEmpty		Directory is not empty
	FSErr_CorruptedFileStructure	File structure corruption found
	FSErr_FileExists		File already exists
	FSErr_IllegalOperationType	Illegal operation for file type
	FSErr_LineTooLong		Text line is too long
	FSErr_InvalidDevice		Invalid device name

	See also FS_Error.

FSF_*							FSFH
							DOS, DPMI, Windows

Type: const integer

Description:

	These constants define the File System modes:

	Mnuemonic			Meaning
	---------			-------
	FSF_Undertermined		Mode not yet determined.
	FSF_DOS				DOS mode.
	FSF_FS				Native mode.

FSFF_*							FSFH
							DOS, DPMI, Windows

Type: const integer

Description:

	These constants define the File System file attribute flags.  NOTE:
Only FSFF_Directory is used for now:

	Mnuemonic			Meaning
	---------			-------
	FSFF_Directory			A directory file.
	FSFF_Journaling			A journalled file.
	FSFF_File_System		A file-system file.
	FSFF_Compressed			A compressed file.
	FSFF_Erase			Erase file upon deletion.
	FSFF_Statistics			Keep file access statistics.
	FSFF_Read_Verify		Verify read accesses.
	FSFF_Write_Verify		Verify write accesses.
	FSFF_Hidden			A hidden file.
	FSFF_Contiguous			File is contiguous on file system
					device.
	FSFF_Deleted			File is deleted but still open (marked
					for deletion).
	FSFF_Protected			For DOS compatibility only.
	FSFF_System			For DOS compatibility only.
	FSFF_VolumeID			For DOS compatibility only.
	FSFF_Archive			For DOS compatibility only.

FSOM_*							FSFH
							DOS, DPMI, Windows

Type: const integer

Description:

	These constants define the File System open modes:

	Mnuemonic			Meaning
	---------			-------
	FSOM_Append			Append mode (file must already exist).
	FSOM_Input			File must already exist.
	FSOM_Output			File is created (deleted if existing).
	FSOM_Text			File is text mode.

Get_Char						GetChars
							DOS, DPMI, Windows

Type: Char function

Call format: Get_Char( Option ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Option		Integer			Non-zero to return immediately
						if no character is pending.

Description:

	This function returns a single character typed at the keyboard.  If
Option is non-zero, control returns immediately whether or not a character was
waiting (the returned character is zero, if no input was waiting).

Get_Char						CLIB.H
							C

Type: char

Call format: C = Get_Char( int ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Option		int			Non-zero to return immediately
						if no character is pending.

Description:

	This function returns a single character typed at the keyboard.  If
Option is non-zero, control returns immediately whether or not a character was
waiting (the returned character is zero, if no input was waiting).

Get_Char1						GetChar1

Type: Char function

Call format: C := Get_Char1 ;

Description:

          This function returns a single character typed at the keyboard.

Get_Char1						CLIB.H
							C

Type: char

Call format: C = Get_Char1() ;

Description:

          This function returns a single character typed at the keyboard.

Get_Date						Lib
							DOS, DPMI, Windows

Type: Procedure

Call format: Get_Date ;

Parameters: None

Description:

	This function returns the library modification date in the Day, Month,
and Year variables.

Get_Date						LIB.H
							C

Type: void

Call format: Get_Date() ;

Parameters: None

Description:

	This function returns the library modification date in the Day, Month,
and Year variables.

Get_Default_Window					SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Get_Default_Window( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		var Window_Record	Returns the current window
						pointer and ID.

Description:

	This procedure returns the pointer and ID of the current window.

Get_Default_Window					SMU.H
							C

Type: void

Call format: Get_Default_Window( X ) ;


Parameters:

	Name		Type			Description
	----		----			-----------
	X		Window_Record*		Returns the current window
						pointer and ID.

Description:

	This procedure returns the pointer and ID of the current window.

Get_Font						FontMana.H
							C++ Windows

Type: RFonts* function

Call format: R = Get_Font( Index ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Index		int			Handle of font to return
						record for.

Description:

	This function returns a pointer to the font record for the specified
font.

Get_Model						SMU
							DOS, DPMI, Windows
							Delphi

Type: Byte function

Call format: B := Get_Model ;

Description:

	Return system type:

		Value	Meaning
		-----	-------
		1	Unknown
		2	DEC Rainbow
		3, 4	IBM PC in text mode
		>4	IBM PC in graphics mode

Get_Model						SMU.H
							C

Type: short int

Call format: Get_Model() ;

Description:

	Return system type:

		Value	Meaning
		-----	-------
		1	Unknown
		2	DEC Rainbow
		3, 4	IBM PC in text mode
		>4	IBM PC in graphics mode

Get_Screen						SMU
							DOS, DPMI, Windows
							Delphi

Type: Byte function

Call format: B := Get_Screen( Row, Col ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Row		Integer			Row of character to get.
	Col		Integer			Column of character to get.

Description:

	This function returns the character at the specified row and column
on the screen.  If the screen is in graphics mode, 0 is returned.

Get_Screen						SMU.H
							C

Type: char

Call format: Get_Screen( Row, Col ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Row		int			Row of character to get.
	Col		int			Column of character to get.

Description:

	This function returns the character at the specified row and column
on the screen.  If the screen is in graphics mode, 0 is returned.

Get_Serial_Number					Standard
							DOS, DPMI, Windows
							Delphi

Type: Longint function

Call format: L := Get_Serial_Number

Parameters: None

Description:

	This function returns a unique value each time it is called.  This
value can be used to provide serial numbers for objects, etc.

Get_Text_Extent						SMU
							DOS, DPMI, Windows
							Delphi

Type: Longint function

Call format: L := Get_Text_Extent( Window_P, String_P, Count ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to use for measurement.
	String_P	String			String to measure.
	Count		Integer			Size of string to measure.

Description:

	This function returns the measure of the passed string in horizontal
and vertical units.  For text windows, these units are character cells.  The
horizontal is returned in the low word, and the vertical is returned in the
high word.

Get_Time						Lib
							DOS, DPMI, Windows

Type: Procedure

Call format: Get_Time ;

Parameters: None

Description:

	This function returns the library modification time in the Hour,
Minute, and Second variables.

Get_Time						LIB.H
							C

Type: void

Call format: Get_Time() ;

Parameters: None

Description:

	This function returns the library modification time in the Hour,
Minute, and Second variables.

Get_Value						Lib
							DOS, DPMI, Windows

Type: Longint function

Call format: L := Get_Value( Offset ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Offset		Integer			Byte offset.

Description:

	This function returns a long integer value from the buffer, starting at
the specified byte offset.

Get_Value						LIB.H
							C

Type: long int

Call format: L = Get_Value( int Offset ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Offset		Integer			Byte offset.

Description:

	This function returns a long integer value from the buffer, starting at
the specified byte offset.

Get_Window_Attribute					SMU
							DOS, DPMI, Windows
							Delphi

Type: Byte function

Call format: B:= Get_Window_Attribute( R, C ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	R		Integer			Row of attribute.
	C		Integer			Column of attribute.

Description:

	Returns the attribute value for the specified row and column in the
current window.

Get_Window_Attribute					SMU.H
							C

Type: short int

Call format: Get_Window_Attribute( R, C ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	R		int			Row of attribute.
	C		int			Column of attribute.

Description:

	Returns the attribute value for the specified row and column in the
current window.

Get_Window_Char						SMU
							DOS, DPMI, Windows
							Delphi

Type: Byte function

Call format: B := Get_Window_Char( R, C ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	R		Integer			Row of character.  0 means the
						current row.
	C		Integer			Column of character.  0 means
						the current column.

Description:

	This function returns the character at the specified row and column.

Get_Window_Char						SMU.H
							C

Type: char

Call format: Get_Window_Char( R, C ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	R		int			Row of character.  0 means the
						current row.
	C		int			Column of character.  0 means
						the current column.

Description:

	This function returns the character at the specified row and column.

Get_Window_Size						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Get_Window_Size( Window_P, R, C ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window whose size is to be
						obtained.
	R		var integer		Ignored when passed, the number
						of rows in the window on return.
	C		var integer		Ignored when passed, the number
						of columns in the window on
						return.

Description:

	This procedure returns the number of rows and columns in a window.

GetENV							Files
							Windows
							Delphi

Type: string function

Call format: S := GETENV( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		String			Environment variable whose
						value is to be returned.

Description:

	This function returns the value of the specified environment variable.

GetLogFont						WINSTD
							Windows

Type: procedure

Call format: GetLogFont ( DC, Font ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	DC		HDC			Device context to use.
	Font		PChar			Name of font to get.

Description:

	This function looks up the specified font and stores the results in
LgFnt.

GetTextExtent						SMU
							DOS, DPMI, Windows
							Delphi

Type: Longint function 

Call format: L := GetTextExtent( Window_P, String_P, Count ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to use for measurement.
	String_P	PChar			String to measure.
	Count		Integer			Size of string to measure.

Description:

	This function returns the measure of the passed string in horizontal
and vertical units.  For text windows, these units are character cells.  The
horizontal is returned in the low word, and the vertical is returned in the
high word.

Help							Helps
							DOS, DPMI, Windows

Type: Procedure

Call format: Help( Command, Command1 ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		String			File name of help file.
						Extension of .HLP is defaulted.
	Command1	String			Topic in help file.  If null,
						the main help topic for the
						specified file is used.

Description:

	This procedure is the help system interface.  Help files can be
created with a text editor or with MAKEHELP.

Help							CLIB.H
							C

Type: void

Call format: Help( Command, Command1 ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		char*			File name of help file.
						Extension of .HLP is defaulted.
	Command1	char*			Topic in help file.  If null,
						the main help topic for the
						specified file is used.

Description:

	This procedure is the help system interface.  Help files can be
created with a text editor or with MAKEHELP.

hLibr							LIB.H
							C

Type: int hLibr ;

Description:

	This contains the file handle used by the librarian for the library
file.

hObject_File						LIB.H
							C

Type: int hObject_File ;

Description:

	This contains the file handle used by the librarian for the object
file.

Hour							Lib
							DOS, DPMI, Windows

Type: Integer

Description:

	This variable is used to return the Library hour of creation or
modification.

HT							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const HT = #9 (Pascal)
      #define HT '\x09' (C)

Description:

	This defines the ASCII tab character.

Init_SMU						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Init_SMU( X, Y, Z, A ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Integer			Machine model.
						0	Autodetect.
						1	Unknown
						2	DEC Rainbow
						3, 4	IBM PC in text mode
						>4	IBM PC in graphics mode
	Y		Integer			Printer type:
						1	Unknown (generic text)
						2	DEC LA50/LA75
						3	IBM graphics
	Z		Integer			Input history (0 for default,
						which is 20).
	A		Integer			Mode:	0 = overwrite
							1 = insert

Description:

	This procedure initializes the computer for SMU processing.  The
computer/display model is passed along with the printer type.  The procedure
will automatically detect the model, if 0 is passed.  Input history is the
number of lines of history kept during input.

Init_Smu						SMU.H
							C

Type: void

Call format: Init_Smu( X, Y, Z, A ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		int			Machine model.
						0	Autodetect.
						1	Unknown
						2	DEC Rainbow
						3, 4	IBM PC in text mode
						>4	IBM PC in graphics mode
	Y		int			Printer type:
						1	Unknown (generic text)
						2	DEC LA50/LA75
						3	IBM graphics
	Z		int			Input history (0 for default,
						which is 20).
	A		int			Mode:	0 = overwrite
							1 = insert

Description:

	This procedure initializes the computer for SMU processing.  The
computer/display model is passed along with the printer type.  The procedure
will automatically detect the model, if 0 is passed.  Input history is the
number of lines of history kept during input.

InKey							GetChars
							DOS, DPMI, Windows

Type: String function

Call format: S := InKey ;

Parameters: None

Description:

	This function returns the name of the next keystroke.  For normal keys,
this is the key's ASCII value (e.g. "A").  In the case of ALT+key combinations,
the result is the key's ASCII value preceeded by "A".  For example, ALT+N would
be "AN".  Other key names:

	Key Name	Description
	--------	-----------
	BACK		Back tab
	CKP1		Control+keypad 1
	CKP3		Control+keypad 3
	CKP4		Control+keypad 4
	CKP6		Control+keypad 6
	CKP7		Control+keypad 7
	CKP9		Control+keypad 9
	DOWN		Down arrow
	LEFT		Left arrow
	RIGHT		Right arrow
	UP		Up arrow
	E1		Alt+F1 (E1 on DEC Rainbow)
	E2		Alt+F2 (E2 on DEC Rainbow)
	E3		Alt+F3 (E3 on DEC Rainbow)
	E4		Alt+F4 (E4 on DEC Rainbow)
	E5		Alt+F5 (E5 on DEC Rainbow)
	E6		Alt+F6 (E6 on DEC Rainbow)
	E7		Alt+F7
	E8		Alt+F8
	E9		Alt+F9
	E10		Alt+F10
	E11		Control+F1
	E12		Control+F2
	E13		Control+F3
	E14		Control+F4
	E15		Control+F5
	E16		Control+F6
	E17		Control+F7
	E18		Control+F8
	E19		Control+F9
	E20		Control+F10
	F1		Function key
	F2		"
	F3		"
	F4		"
	F5		"
	F6		"
	F7		"
	F8		"
	F9		"
	F10		"
	F11		Shift+F1 (F11 on DEC Rainbow)
	F12		Shift+F2 (F12 on DEC Rainbow)
	F13		Shift+F3 (F13 on DEC Rainbow)
	F14		Shift+F4 (F14 on DEC Rainbow)
	F15		Shift+F5 (F15 on DEC Rainbow)
	F16		Shift+F6 (F16 on REC Rainbow)
	F17		Shift+F7 (F17 on DEC Rainbow)
	F18		Shift+F8 (F18 on DEC Rainbow)
	F19		Shift+F9 (F19 on DEC Rainbow)
	F20		Shift+F10 (F10 on DEC Rainbow)
	KP0		Keypad 0
	KP1		Keypad 1
	KP3		Keypad 3
	KP9		Keypad 9
	KP7		Keypad 7
	COMPOSE		Compose key (DEC Rainbow only)
	ENTER		Keypad enter (DEC Rainbow only)
	PF1		PF1 (DEC Rainbow only)
	PF2		PF2 (DEC Rainbow only)
	PF3		PF3 (DEC Rainbow only)
	PF4		PF4 (DEC Rainbow only)
	KP0		Keypad 0 (DEC Rainbow only)
	KP1		Keypad 1 (DEC Rainbow only)
	KP2		Keypad 2 (DEC Rainbow only)
	KP3		Keypad 3 (DEC Rainbow only)
	KP4		Keypad 4 (DEC Rainbow only)
	KP5		Keypad 5 (DEC Rainbow only)
	KP6		Keypad 6 (DEC Rainbow only)
	KP7		Keypad 7 (DEC Rainbow only)
	KP8		Keypad 8 (DEC Rainbow only)
	KP9		Keypad 9 (DEC Rainbow only)
	KP-		Keypad dash (DEC Rainbow only)
	KP,		Keypad comma (DEC Rainbow only)
	KP.		Keypad period (DEC Rainbow only)

InKey							CLIB.H
							C

Type: char*

Call format: S = InKey() ;

Parameters: None

Description:

	This function returns the name of the next keystroke.  For normal keys,
this is the key's ASCII value (e.g. "A").  In the case of ALT+key combinations,
the result is the key's ASCII value preceeded by "A".  For example, ALT+N would
be "AN".  Other key names:

	Key Name	Description
	--------	-----------
	BACK		Back tab
	CKP1		Control+keypad 1
	CKP3		Control+keypad 3
	CKP4		Control+keypad 4
	CKP6		Control+keypad 6
	CKP7		Control+keypad 7
	CKP9		Control+keypad 9
	DOWN		Down arrow
	LEFT		Left arrow
	RIGHT		Right arrow
	UP		Up arrow
	E1		Alt+F1 (E1 on DEC Rainbow)
	E2		Alt+F2 (E2 on DEC Rainbow)
	E3		Alt+F3 (E3 on DEC Rainbow)
	E4		Alt+F4 (E4 on DEC Rainbow)
	E5		Alt+F5 (E5 on DEC Rainbow)
	E6		Alt+F6 (E6 on DEC Rainbow)
	E7		Alt+F7
	E8		Alt+F8
	E9		Alt+F9
	E10		Alt+F10
	E11		Control+F1
	E12		Control+F2
	E13		Control+F3
	E14		Control+F4
	E15		Control+F5
	E16		Control+F6
	E17		Control+F7
	E18		Control+F8
	E19		Control+F9
	E20		Control+F10
	F1		Function key
	F2		"
	F3		"
	F4		"
	F5		"
	F6		"
	F7		"
	F8		"
	F9		"
	F10		"
	F11		Shift+F1 (F11 on DEC Rainbow)
	F12		Shift+F2 (F12 on DEC Rainbow)
	F13		Shift+F3 (F13 on DEC Rainbow)
	F14		Shift+F4 (F14 on DEC Rainbow)
	F15		Shift+F5 (F15 on DEC Rainbow)
	F16		Shift+F6 (F16 on REC Rainbow)
	F17		Shift+F7 (F17 on DEC Rainbow)
	F18		Shift+F8 (F18 on DEC Rainbow)
	F19		Shift+F9 (F19 on DEC Rainbow)
	F20		Shift+F10 (F10 on DEC Rainbow)
	KP0		Keypad 0
	KP1		Keypad 1
	KP3		Keypad 3
	KP9		Keypad 9
	KP7		Keypad 7
	COMPOSE		Compose key (DEC Rainbow only)
	ENTER		Keypad enter (DEC Rainbow only)
	PF1		PF1 (DEC Rainbow only)
	PF2		PF2 (DEC Rainbow only)
	PF3		PF3 (DEC Rainbow only)
	PF4		PF4 (DEC Rainbow only)
	KP0		Keypad 0 (DEC Rainbow only)
	KP1		Keypad 1 (DEC Rainbow only)
	KP2		Keypad 2 (DEC Rainbow only)
	KP3		Keypad 3 (DEC Rainbow only)
	KP4		Keypad 4 (DEC Rainbow only)
	KP5		Keypad 5 (DEC Rainbow only)
	KP6		Keypad 6 (DEC Rainbow only)
	KP7		Keypad 7 (DEC Rainbow only)
	KP8		Keypad 8 (DEC Rainbow only)
	KP9		Keypad 9 (DEC Rainbow only)
	KP-		Keypad dash (DEC Rainbow only)
	KP,		Keypad comma (DEC Rainbow only)
	KP.		Keypad period (DEC Rainbow only)

Input_Line						InputLin

Type: String function

Call format: S := Input_Line( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Integer			Echo input if non-zero, do not
						echo input if zero (0).

Description:

	This function returns a string of input after taking it with or without
echo from the keyboard.  Ending delimeters are returned as well.

Input_Line						CLIB.H
							C

Type: char*

Call format: S = Input_Line( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		int			Echo input if non-zero, do not
						echo input if zero (0).

Description:

	This function returns a string of input after taking it with or without
echo from the keyboard.  Ending delimeters are returned as well.

Insert							Lib
							DOS, DPMI, Windows

Type: Integer function

Call format: I := Insert( Command, Vector, Start_Block ) :

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		String			Name of module file.
	Vector		Boolean			True to include vector table
						with module.
	Start_Block	Integer			Starting block (after vector
						table).

Description:

	This function inserts a module into the library from the Object file.
If Vector is false, we don't include vector table.

Insert							LIB.H
							C

Type: int

Call format: I = Insert( Command, Vector, Start_Block ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		char*			Name of module file.
	Vector		int			Non-zero to include vector table
						with module.
	Start_Block	int			Starting block (after vector
						table).

Description:

	This function inserts a module into the library from the Object file.
If Vector is 0, we don't include vector table.

Insert_Line						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Insert_Line( Window_P, Direction ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to insert line into.
	Direction	Byte			0 = lose top line
						1 = lose bottom line

Description:

	This procedure inserts a blank line at the current position.  Direction
indicates which line is scrolled off the window.

Insert_Line						SMU.H
							C

Type: void

Call format: Insert_Line( Window_P, Direction ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to insert line into.
	Direction	short int		0 = lose top line
						1 = lose bottom line

Description:

	This procedure inserts a blank line at the current position.  Direction
indicates which line is scrolled off the window.

Insertion						Lib
							DOS, DPMI, Windows

Type: Procedure

Call format: Insertion ;

Parameters: None

Description:

	Change links so as to insert the current module.  This should not be
called from outside the librarian.

Insertion						LIB.H
							C

Type: void

Parameters: None

Description:

	Change links so as to insert the current module.  This should not be
called from outside the librarian.

Instr							Instrs
							DOS, DPMI, Windows
							Delphi

Type: Integer function

Call format: I := Instr( Position, String, Substring ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Position	Integer			Position in source string to
						begin search at.
	String		String			String to search.
	Substring	String			Substring to search for.

Description:

	This function returns the position within a string of a substring,
starting at a specified character.

Instr							CLIB.H
							C

Type: int

Call format: I = Instr( Position, C, Search_String ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Position	int			Position in source string to
						begin search at.
	C		char*			String to search.
	Search_String	char*			Substring to search for.

Description:

	This function returns the position within a string of a substring,
starting at a specified character.

INum							INum

Type: String function

Call format: S := INum( Value ) 

Parameters:

	Name		Type			Description
	----		----			-----------
	Value		Real			Value which is to be returned
						as an ASCII string.

Description:

	This function takes a number and returns a string, consisting of the
number passed.

INum							CLIB.H
							C

Type: char*

Call format: S = INum( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		double			Value which is to be returned
						as an ASCII string.

Description:

	This function takes a number and returns a string, consisting of the
number passed.

IO_Error						IOError

Type: String function

Call format: S := IO_Error( Error ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Error		Integer			Error number to return text for.

Description:

	This function returns the text for the IO error passed to the function.

ISGN							Maths
							DOS, DPMI, Windows

Type: integer function

Call format: I := ISGN( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Integer			Value to return sign of.

Description:

	This function returns the sign of the passed value, as follows:

	Value passed		Result
	------------		------
	< 0			-1
	= 0			 0
	> 0			 1

Julien							Dates
							DOS, DPMI, Windows

Type: integer function

Call format: I := Julien( M, D, Y ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	M		Integer			Month to return date for.
	D		Integer			Day of month.
	Y		Integer			Year.

Description:

	This function returns the julien date (1-366) for the given month,
day, and year.  If the passed year is less than 200, it is assumed to be an
offset from 1900.

KB_Buffer						SMU
							DOS, DPMI, Windows
							Delphi

Type: String

Description:

	Holds the contents of the keyboard buffer after input.

Kb_Buffer						SMU.H
							C

Type: char [ 256 ]

Description:

	This variable is the input buffer.  After an input operation, this
contains the entered characters.

KEYBV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	INT_09			pointer
	INT_2F			pointer
	Filler			array[ 0..5 ] of byte
	Flags			word
	Filler1			array[ 0..5 ] of byte
	Country_ID		array[ 0..1 ] of char
	Current_Code_Page	word
	First			word
	Ptr			word
	Filler2			array[ 0..1 ] of byte
	Xlate			word
	Last			word
	Filler3			array[ 0..8 ] of byte

Description:

	KEYB internal data, DOS V3.3.

KEYBV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	INT_09			pointer
	INT_2F			pointer
	Filler			array[ 0..5 ] of byte
	Flags			word
	Filler1			array[ 0..5 ] of byte
	Country_ID		array[ 0..1 ] of char
	Current_Code_Page	word
	Filler2			array[ 0..1 ] of byte
	First			word
	Ptr			word
	Filler3			array[ 0..1 ] of byte
	Xlate			word
	Last			word
	Filler4			array[ 0..8 ] of byte

Description:

	KEYB internal data, DOS V4.n.

Leap_Year						Dates
							DOS, DPMI, Windows

Type: integer function

Call format: I := Leap_Year( Year ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Year		Integer			Year to return result for.

Description:

	This function returns 1 if the specified year is a leap year.  It
returns 0 otherwise.

Left							Left

Type: String function

Call format: S := Left( String, Position ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	String		String			String to retrieve left portion
						of.
	Position	Integer			Final position of resulting
						string.

Description:

	This function returns the leftmost Position characters of the passed
string.  If Position is less than 1, a null string is returned.

Left							CLIB.H
							C

Type: char*

Call format: S = Left( S, X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	String		char*			String to retrieve left portion
						of.
	Position	int			Final position of resulting
						string.

Description:

	This function returns the leftmost Position characters of the passed
string.  If Position is less than 1, a null string is returned.

LF							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const LF = #10 (Pascal)
      #define LF '\x0A' (C)

Description:

	This defines the ASCII linefeed character.

LgFnt							WINSTD
							Windows

Type: TLogFont

Description:

	This variable contains the results of GetLogFont.

Lib_Buffer						Lib
							DOS, DPMI, Windows

Type: Block

Description:

	This buffer holds the current library or object block for the librarian.

Lib_Buffer						LIB.H
							C

Type: char [ 256 ] ;

Description:

	This buffer holds the current library or object block for the librarian.

Lib_Day							LIB.H
							C

Type: int ;

Description:

	This variable is used to return the day of the library creation or
modification from the librarian.

Lib_Hour						LIB.H
							C

Type: int ;

Description:

	This variable is used to return the Library hour of creation or
modification.

Lib_Minute						LIB.H
							C

Type: int ;

Description:

	This variable is used to return the minute of the library creation or
modification from the librarian.

Lib_Month						LIB.H
							C

Type: int ;

Description:

	This variable is used to return the month of the library creation or
modification from the librarian.

Lib_Year						LIB.H
							C

Type: int ;

Description:

	This variable is used to return the year of the library creation or
modification from the librarian.

Libr							Lib
							DOS, DPMI, Windows

Type: File of Block

Description:

	This file is used to access the library file by the librarian.

Libr							LIB.H
							C

Type: struct FILE* ;

Description:

	This file is used to access the library file by the librarian.

Line_Count						SMU
							DOS, DPMI, Windows
							Delphi

Type: Integer

Description:

	Currently unused.

Line_Count						SMU.H
							C

Type: int

Description:

	This variable is set to 0 when input begins.  This allows the caller
to keep track of the number of lines output since the last input.  The caller
must track the lines output.

Line_Overhead						UEditor
							DOS, DPMI, Windows

Type: Const

Description:

	This constant defines the overhead for each line (in bytes) for the
tLine_Buffer.

Line_Pointer						UEditor
							DOS, DPMI, Windows

Type: ^Line_Record

Description:

	This defines a pointer to a Line_Record record.

Line_Record						UEditor
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Last_Line	Line_Pointer		Previous line (nil if first
						line).
	Next_Line	Line_Pointer		Next line (nil if last line).
	Text		String			Line text.

Description:

	This record defines a single line of text.

List_Image						Structures
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Next		List_Pointer		Pointer to next item on list.
	Last		List_Pointer		Pointer to previous item on
						list.
	D		array[ 0..65511 ] of byte Data are.

Description:

	This record defines a generic list item record.

List_Pointer						Structures
							DOS, DPMI, Windows

Type: ^List_Image

Description:

	This defines a pointer to a list image record.

List_Stack

Type: Object( TLStack )

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored on the stack are destroyed when
		the stack object destructs.


	procedure Push( var Data ) ; virtual ;

		Pushes the item in the specified buffer onto the stack.


	procedure Top( var Data ) ; virtual ;

		Copies the item from the top of the stack into the specified
		buffer.


	procedure Pop( var Data ) ; virtual ;

		Pops the item from the top of the stack into the specified
		buffer.


Description:

	Defines a list stack object.

Load_Driver						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Load_Driver( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		String			Name of file containing driver.

Description:

	This procedure loads a driver from the specified file.  The driver
must be a position-independent code image with no header, etc.  The driver is
called with the row in AH, the column in AL, the character to display in DL,
and the character attribute in DH.

Load_Driver						SMU.H
							C

Type: void

Call format: Load_Driver( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		char*			Name of file containing driver.

Description:

	This procedure loads a driver from the specified file.  The driver
must be a position-independent code image with no header, etc.  The driver is
called with the row in AH, the column in AL, the character to display in DL,
and the character attribute in DH.

Load_Font						FontMana.H
							C++ Windows

Type: void function

Call format: Load_Font( File ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	File		FILE*			The file to load fonts from.

Description:

	This function loads fonts from the specified file.

Lock_Record						TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Next		word
	Start		longint
	Ending		longint
	SFT		pointer
	Owner		word

Description:

	Lock record.

LOLV2							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Filler			array[ 0..13 ] of byte	Offset -16.
	MCB			word			Offset -2.
	DPB			pointer			Offset 0.
	SFT			pointer
	CLOCK_Driver		pointer
	CON_Driver		pointer
	Last_Drive		byte			Offset 10H.
	Max_Bytes_Per_Block	word
	First_Disk_Buffer	pointer
	NUL_Driver_Header	array[ 0..17 ] of byte

Description:

	List of Lists (LOL), DOS V2.n.

LOLV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Filler			array[ 0..3 ] of byte	Offset -16.
	Retry_Count		word			Offset -12.
	Retry_Delay		word			Offset -10.
	Current_Disk_Buffer	pointer			Offset -8.
	CON_Input		word			Offset -4.
	MCB			word			Offset -2.
	DPB			pointer			Offset 0.
	SFT			pointer
	CLOCK_Driver		pointer
	CON_Driver		pointer
	Max_Bytes_Per_Block	word			Offset 10H.
	First_Disk_Buffer	pointer
	CDS			pointer
	FCB			pointer
	Protected_FCBs		word
	Device_Count		byte
	Last_Drive		byte
	NUL_Driver_Header	array[ 0..17 ] of byte
	Join_Count		byte

Description:

	List of Lists (LOL), DOS V3.1+.

LOLV30							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Filler			array[ 0..3 ] of byte	Offset -16.
	Retry_Count		word			Offset -12.
	Retry_Delay		word			Offset -10.
	Current_Disk_Buffer	pointer			Offset -8.
	CON_Input		word			Offset -4.
	MCB			word			Offset -2.
	DPB			pointer			Offset 0.
	SFT			pointer
	CLOCK_Driver		pointer
	CON_Driver		pointer
	Device_Count		byte			Offset 10H.
	Max_Bytes_Per_Block	word
	First_Disk_Buffer	pointer
	CDS			pointer
	Last_Drive		byte
	STRING_Workspace	pointer
	STRING_Size		word
	FCB			pointer
	Protected_FCBs		word
	NUL_Driver_Header	array[ 0..17 ] of byte

Description:

	List of Lists (LOL), DOS V3.0.

LOLV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Filler			array[ 0..13 ] of byte	Offset -16.
	MCB			word			Offset -2.
	DPB			pointer			Offset 0.
	SFT			pointer
	CLOCK_Driver		pointer
	CON_Driver		pointer
	Max_Bytes_Per_Block	word			Offset 10H.
	Disk_Buffer		pointer
	CDS			pointer
	FCB			pointer
	Protected_FCBS		word
	Device_Count		byte
	Last_Drive		byte
	NUL_Driver_Header	array[ 0..17 ] of byte
	JOIN_Count		byte
	Program_Names		word
	IFS_Resident		pointer
	IFS_Chain		pointer
	Buffers_X		word
	Buffers_Y		word
	Boot_Drive		byte
	Filler1			byte
	Extended_RAM_Size	word

Description:

	List of Lists (LOL), DOS V4.n.

Lookup							Wildcard
							DOS, DPMI, Windows

Type: string function

Call format: S := Lookup( Filename ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Filename	String			Path specification of file(s) to
						lookup on first call.  Null on
						subsequent calls for same
						specification.

Description:

	Does a wildcard lookup.  This function is passed a specification which
consists of one or more file specifications, separated by commas or semicolons,
for the first lookup attempt.  Succeeding lookups are specified with a null
parameter.  This routine processes each file specification in the list until
the lookup fails, then proceeds to the next one.  When the last lookup fails,
the function returns null.

Lookup							CLIB.H
							C

Type: char*

Call format: S = Lookup( Passed_Filename ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Filename	char*			Path specification of file(s) to
						lookup on first call.  Null on
						subsequent calls for same
						specification.

Description:

	Does a wildcard lookup.  This function is passed a specification which
consists of one or more file specifications, separated by commas or semicolons,
for the first lookup attempt.  Succeeding lookups are specified with a null
parameter.  This routine processes each file specification in the list until
the lookup fails, then proceeds to the next one.  When the last lookup fails,
the function returns null.

Map_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Map_Window( Window_P, Row, Row_Count, Column, Column_Count,
	View_R, View_C, Level ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to map.
	Row		Byte			Screen row for top row of
						window.
	Row_Count	Byte			Number of rows to map.
	Column		Byte			Screen column for left column
						of window.
	Column_Count	Byte			Number of columns to map.
	View_R		Byte			Top row of window which is
						visible on screen.
	View_C		Byte			Left column of window which is
						visible on screen.
	Level		Byte			Level of window.

Description:

	This procedure maps a window to the screen, making it visible if its
level is high enough relative to other windows positioned over the same part of
the screen.

Map_Window						SMU.H
							C

Type: void

Call format: Map_Window( Window_P, Row, Row_Count, Column, Column_Count,
	    View_R, View_C, Level ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to map.
	Row		short int		Screen row for top row of
						window.
	Row_Count	short int 		Number of rows to map.
	Column		short int 		Screen column for left column
						of window.
	Column_Count	short int 		Number of columns to map.
	View_R		short int 		Top row of window which is
						visible on screen.
	View_C		short int 		Left column of window which is
						visible on screen.
	Level		short int 		Level of window.

Description:

	This procedure maps a window to the screen, making it visible if its
level is high enough relative to other windows positioned over the same part of
the screen.

Max_Memory						Types
							DOS, DPMI, Windows

Type: const Max_Memory = 65531

Description:

	Defines the maximum size of a memory allocation, in bytes.

Max_Word_Set						SpellCHK
							DOS, DPMI, Windows

Type: const Max_Word_Set = 127

Description:

	Defines the maximum number of word sets that can be concurrently
defined for a TSpeller object.

MCB							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Block_Type	byte
	Owner		word
	Size		word
	Filler		array[ 0..2 ] of byte
	Name		array[ 0..7 ] of char

Description:

	MCB (Memory Control Block).

MessageBeep						SMU
							DOS, DPMI
							Delphi

Type: Procedure

Call format: MessageBeep( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Word			Should always be zero (0).

Description:

	This sounds the tone on the computer speaker.

Mid							Misc
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Mid( C, Beginning, Count ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	C		String			String to make copy of.
	Beginning	Integer			Beginning character of result.
	Count		Integer			Number of characters.

Description:

	This function returns a string which is the copy of a portion of the
source string.  If the range is outside the size of the string, a null string is
returned.

Mid							CLIB.H
							C

Type: char*

Call format: S = Mid( C, Beginning, Count ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	C		char*			String to make copy of.
	Beginning	int			Beginning character of result.
	Count		int			Number of characters.

Description:

	This function returns a string which is the copy of a portion of the
source string.  If the range is outside the size of the string, a null string is
returned.

Min_Bytes						CVT
							DOS, DPMI, Windows

Type: integer function

Call format: i := Min_Bytes( Value, Base ) ;

Parameters:

	Name		Type			Description
	----		----			------------
	Value		string			Value (in base Base) to use
	Base		integer			base of Value.

Description:

	This function returns the minimum number of 8-bit bytes required to
store the specified value (which is in the specified base).

Min_Match						Parse
							DOS, DPMI, Windows

Type: boolean function

Call format: b := Min_Match( Full, Partial, Len ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Full		string			Full string to match against.
	Partial		string			Partial string to match.
	Len		integer			Minimum match required.

Description:

	This function returns true if the passed partial string matches the
beginning (or entirety) of the full string and is at least Len bytes in
length.  If the partial string is too short, False is returned and the
Parse_Error variable is set to ParseErr_Ambiguous_Match.

Minute							Lib
							DOS, DPMI, Windows

Type: Integer

Description:

	This variable is used to return the minute of the library creation or
modification from the librarian.

Month							Lib
							DOS, DPMI, Windows

Type: Integer

Description:

	This variable is used to return the month of the library creation or
modification from the librarian.

Move_To							SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Move_To( Window_P, Row, Column ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to affect.
	Row		Integer			Row to move to.
	Column		Integer			Column to move to.

Description:

	This function moves the cursor to the specified row and column.

MSDOS_Error						Standard
							DOS, DPMI
							Delphi

Type: Integer function

Call format: I := MSDOS_Error ;

Parameters: None

Description:

	Returns the DOS extended error code.

MSDOS_Error						CLIB.H
							C

Type: int

Call format: I = MSDOS_Error() ;

Parameters: None

Description:

	Returns the DOS extended error code.

Next_Parameter						Format.H
							C++, C++ Windows

Type: char* function

Call format: C = Next_Parameter( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		char*			String to parse.

Description:

	This function returns the first part of the passed string, up to a
whitespace character (space or tab), and trims the returned value from the
passed string.

Normalize						WINSTD
							Windows

Type: procedure

Call format: Normalize_XY( Start_X, End_X, Low_X, High_X, Start_Y, End_Y,
	Low_Y, High_Y ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Start_X		Integer			Starting X position.
	End_X		Integer			Ending X position.
	Low_X		var Integer		Ignored when passed.  The
						actual starting X on return.
	High_X		var Integer		Ignored when passed.  The
						actual ending X on return.
	Start_Y		Integer			Starting Y position.
	End_Y		Integer			Ending Y position.
	Low_Y		var Integer		Ignored when passed.  The
						actual starting Y on return.
	High_Y		var Integer		Ignored when passed.  The
						actual ending Y on return.

Description:

	Take an Start_X, and End_X and a Start_Y and End_Y, and return
Low_X, Low_Y, High_X, and High_Y.  This handles inverted rectangle
specifications.

NTS_*							CVT
							DOS, DPMI, Windows

Type: integer constants

Description:

	These constants are used for numeric/string conversions.

	Constant		Meaning
	--------		-------
	NTS_Arabic		Numeric value (1, 2, etc)
	NTS_Roman		Roman numerals (i, ii, etc)
	NTS_English		English (one, two, etc)
	NTS_Arabic_Ordinal	Ordinal value (1st, 2nd, etc)
	NTS_English_Ordinal	English ordinal (first, second, etc).
	NTS_Metric_Prefix	metric prefix
	NTS_Radix		Radix (binary, decimal, etc)
	NTS_Alt_Radix		Alternate radix
	NTS_Group0		
	NTS_Group1		
	NTS_Group2		
	NTS_Group3		
	NTS_Prefix		prefix
	NTS_Alt_Prefix		Alternate prefix
	NTS_Greek_Prefix	Greek prefix
	NTS_Multiplier		Multiplier (single, double, etc)
	NTS_Math		Mathematical
	NTS_Positional		Positional
	NTS_2D			2-dimensional objects (circle, square, etc)
	NTS_3D			3-dimensional objects (sphere, cube, etc)
	NTS_Government		Governmental type (anarchy, monarchy, etc)
	NTS_Metric_Abbreviation	Metric abbreviateion (K, M, etc)

NUL							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const NUL = #0 (Pascal)
      #define NUL '\x0' (C)

Description:

	This defines the ASCII Null character.

Num							Num1s
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := NUM( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Longint			Value to convert to string.

Description:

	This function returns a string representation of the passed value.

Num							CLIB.H
							C

Type: char*

Call format: S = Num( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		long			Value to convert to string.

Description:

	This function returns a string representation of the passed value.

Num1							Num1s
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := NUM1( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Real			Value to convert to string.

Description:

	This function returns a string representation of the passed value.

Num1							CLIB.H
							C

Type: char*

Call format: S = Num1( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		double			Value to convert to string.

Description:

	This function returns a string representation of the passed value.

Num2							Num1s
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := NUM2( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Extended		Value to convert to string.

Description:

	This function returns a string representation of the passed value.

Num2							CLIB.H
							C

Type: char*

Call format: S = Num2( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		long double		Value to convert to string.

Description:

	This function returns a string representation of the passed value.

Numeric_To_String					CVT
							DOS, DPMI, Windows

Type: string function

Call format: s := Numeric_To_String( Numeric, Type ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Numeric		double			Value to convert.
	Type		integer			Type of conversion to do.

Description:

	This function converts a numeric value to a string representation.
The type is one of the NTS_* constants.

Object_File						Lib
							DOS, DPMI, Windows

Type: File of Block

Description:

	This is the file which is used as input/output of modules for the
librarian.

Object_File						LIB.H
							C

Type: struct FILE* ;

Description:

	This is the file which is used as input/output of modules for the
librarian.

OS							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Offset		word			Offset within segment.
	Segment		word			Segment number.

Description:

	Structure for manipulation of pointers.

OS_ID							Standard
							DOS, DPMI, Windows

Type: string

Description:

	This returns the name and version of the current operating system.

Output							Lib
							DOS, DPMI, Windows

Type: File of Block

Description:

	This file is used for output by the librarian.

Output							LIB.H
							C

Type: struct FILE* ;

Description:

	This file is used for output by the librarian.

PAllocator						Heap
							DOS, DPMI, Windows

Type: ^TAllocator

Description:

	This defines a pointer to a TAllocator object.

Parse_Command_Line					Parse
							DOS, DPMI, Windows

Type: String function

Call format: S := Parse_Command_Line ;

Parameters: None

Description:

	This function parses the command line passed to the current program,
normalizing it based on the DOS switchar parameter, and recognizing both "/"
and "-" as switch indicators.  Characters within quotes remain unchanged.

Parse_Command_Line					CLIB.H
							C

Type: char*

Call format: S = Parse_Command_Line( argc, argv ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	argc		int			Count of arguments
	argv		char*[]			Argument list

Description:

	This function parses the command line passed to the current program,
normalizing it based on the DOS switchar parameter, and recognizing both "/"
and "-" as switch indicators.  Characters within quotes remain unchanged.

Parse_Error						Parse
							DOS, DPMI, Windows, Delphi

Type: integer variable

Description:

	This variable is set by the various Parse operations.  Success is
indicated by the value ParseErr_Success.

Parse_IO						Parse
							DOS, DPMI, Windows

Type: procedure

Call format: Parse_IO( Command, Input_Spec, Output_Spec ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		string			Command line to parse.
	Input_Spec	var string		Ignored when passed, the input
						specification upon return.
	Output_Spec	var string		Ignored when passed, the input
						specification upon return.

Description:

	This procedure splits a command line into an input specification and
an output specification.  Such a specification can be in any of the following
forms:

	input
	input  output
	output = input

Spaces and equals embedded in quotes are ignored.  If multiple non-embedded
spaces and/or equals are found, or the command line is empty, both return
strings will be null.

Parse_Parameter						Parse
							DOS, DPMI, Windows

Type: String function

Call format: S := Parse_Parameter( Separator, Command ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Separator	String			Separator character to use in
						parsing parameters.
	Command		var String		Passed the string to be parsed.
						On return, this is the remainder
						of the string after the next
						parameter has been extracted.

Description:

	This function returns the next parameter in the passed string.  The
parameter is removed from the passed string.  The Separator character is used
to parse the parameters.  It is ignored within quotes.

Parse_Parameter					CLIB.H
							C

Type: char*

Call format: S = Parse_Parameter( Passed_Separator, Command ) ;

Parameters:

	Name			Type			Description
	----			----			-----------
	Passed_Separator	char*			Separator character to
							use in parsing
							parameters.
	Command			char*			Passed the string to be
							parsed.  On return,
							this is the remainder
							of the string after the
							next parameter has been
							extracted.

Description:

	This function returns the next parameter in the passed string.  The
parameter is removed from the passed string.  The Separator character is used
to parse the parameters.  It is ignored within quotes.

Parse_Quotes						Parse
							DOS, DPMI, Windows

Type: String function

Call format: S := Parse_Quotes( Value ) ;

Parameters:

	Name	Type				Description
	----	----				------------
	Value	String				String to process.

Description:

	This function returns the passed string, with quotes stripped.  It
handles nested quotes so that only the outer quotes are removed.  Multiple
quoted strings can be passed so that they concatenate together, with each
segment being quoted with different quote types (or no quotes at all).

Parse_Switch						Parse
							DOS, DPMI, Windows

Type: Integer function

Call format: I := Parse_Switch( Switch, Alternate, Command, Parameter ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Switch		String			List of switches, separated by
						commas.
	Alternate	String			Alternate list of switches,
						separated by commas.
	Command		var String		Command to parse for switches.
	Parameter	var String		Ignored when passed.  On return
						this is the parameter following
						the switch (if any).

Description:

	This function parses a switch in a command line.  The function returns:
		0 = No matching switches found
		1 = Switch matching one in Switch was found
		2 = Switch matching one in Alternate was found

	In the case of multiple switches, only the last occurance is parsed,
but all occurances are removed from the command line.  Note that switches are
passed without slashes.  Switch lists may optionally contain vertical bars (|)
to indicate the minimum abbreviation allowed for the switch.

Parse_Switch						CLIB.H
							C

Type: int

Call format: I = Parse_Switch( Passed_Switch, Passed_Alternate, Command,
		Parameter ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Switch		char*			List of switches, separated by
						commas.
	Alternate	char*			Alternate list of switches,
						separated by commas.
	Command		char*			Command to parse for switches.
	Parameter	char*			Ignored when passed.  On return
						this is the parameter following
						the switch (if any).

Description:

	This function parses a switch in a command line.  The function returns:
		0 = No matching switches found
		1 = Switch matching one in Switch was found
		2 = Switch matching one in Alternate was found

	In the case of multiple switches, only the last occurance is parsed,
but all occurances are removed from the command line.  Note that switches are
passed without slashes.  Switch lists may optionally contain vertical bars (|)
to indicate the minimum abbreviation allowed for the switch.

PAT_Array						FSFH
							DOS, DPMI, Windows

Type: ^At_Array

Description:

	This defines a pointer to a AT_Array array.

PBig_Array						FSFH
							DOS, DPMI, Windows

Type: ^TBig_Array ;

Description:

	This defines a pointer to a TBig_Array array.

pBlock_Device						Files
							DOS, DPMI, Windows

Type: ^TBlock_Device

Description:

	This defines a pointer to a tBlock_Device object.

pByte_Array						Types
							DOS, DPMI, Windows

Type: ^TPByte_Array

Description:

	This defines a pointer to a tPByte_Array.

pEditor							UEditor
							DOS, DPMI, Windows

Type: ^tEditor

Description:

	This defines a pointer to a tEditor object.

PEntry_Record						Tables
							DOS, DPMI, Windows

Type: ^TEntry_Record ;

Description:

	This defines a pointer to a TEntry_Record.

PFH							FSFH
							DOS, DPMI, Windows

Type: ^TFH ;

Description:

	This is a pointer to a TFH object.

PFile							Files
							DOS, DPMI, Windows
							Delphi

Type: ^TFile

Description:

	This is a pointer to a TFile object.

PFile_Processor						FSFH
							DOS, DPMI, Windows

Type: ^TFile_Processor

Description:

	This is a pointer to a TFile_Processor object.

PFile_System						Files
							DOS, DPMI, Windows

Type: ^TFile_System

Description:

	This is a pointer to a TFile_System object.

PFontSetupDlg						WINSTD
							Windows

Type: ^TFontSetupDlg

Description:

	This defines a pointer to a TFontSetupDlg object.

PFS_Record						FSFH
							DOS, DPMI, Windows

Type: ^TFS_Record ;

Description:

	This is a pointer to the TFS_Record type.

PHeap							Heap
							DOS, DPMI, Windows

Type: ^THeap

Description:

	This is a pointer to a THeap object.

PInteger_Array						Types
							DOS, DPMI, Windows

Type: ^TInteger_Array ;

Description:

	This defines a pointer to a TInteger_Array.

PLine_Buffer						UEditor
							DOS, DPMI, Windows

Type: ^tLine_Buffer ;

Description:

	This defines a pointer to a TLine_Buffer object.

PNative_File						FSFH
							DOS, DPMI, Windows

Type: ^TNative_File ;

Description:

	This is a pointer to a TNative_File object.

PLongint_Array						Types
							DOS, DPMI, Windows

Type: ^TLongint_Array ;

Description:

	This defines a pointer to a TLongint_Array.

Power							Maths
							DOS, DPMI, Windows

Type: Real function

Call format: R := Power( X, N, Result ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Real			Value to take power of.
	N		Real			Power to raise X to.
	Result		var Integer		Result of operation:
							0 = No errors
							7 = Floating point error
							11 = Illegal argument
							     in LOG
							12 = Argument too large
							     in EXP

Description:

	This function returns the result of one number to the power of another.

Power							CLIB.H
							C

Type: #define Power(x,y) pow(x,y)

Description:

	This macro provides an equivalent to the Pascal Power routine.

PPChar_Array						Types
							DOS, DPMI, Windows

Type: ^TPChar_Array

Description:

	This defines a pointer to a tPChar_Array.

PPrinterSetupDlg					WINSTD
							Windows

Type: ^TPrinterSetupDlg

Description:

	This defines a pointer to a TPrinterSetupDlg object.

pPSP							TSRS
							DOS, DPMI, Windows

type: ^tPSP

Fields: None

Description:

	This defines a pointer to a PSP record.

PRibbonWindow						Ribbons
							Windows

Type: ^TRibbonWindow ;

Description:

	This defines a pointer to a TRibbonWindow object.

PrinterSetup						WINSTD
							Windows

Type: Longint function

Call format: PrinterSetup( AParent, AName, Message, Printer ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	AParent		PWindowsObject		Parent object for printer setup
						dialog.
	AName		PChar			Name of dialog resource.
	Message		Word			Message to send to parent when
						a new printer is selected.
	Printer		String			Current default printer name.

Description:

	This function executes the printer set-up dialog.  Printer must be kept
track of by the calling application.

	The dialog resource must have a list box with ID 101, and at least one
button with an ID of the windows constant IDOK.  Although not required,
typically the dialog also has a cancel button and a scroll bar.  When the OK
button is pressed, the specified windows message is sent to the parent, with a
pointer to a string containing the selected text in the print box (a printer
description from the WIN.INI file, [devices] section).

Procedure_Address					SMU
							Windows
							Delphi

Type: proc

Description:

	This is the address of the procedure to call when the appropriate
number of keystrokes have been entered (see Char_Wait_Count).

PSpeedBar						Ribbons
							Windows

Type: ^TSpeedBar ;

Description:

	This defines a pointer to a TSpeedBar window object.

PSpeedButton						Ribbons
							Windows

Type: ^TSpeedbutton ;

Description:

	This is a pointer to the TSpeedButton object.

PSpeedButton_Record					Ribbons
							Windows

Type: ^TSpeedButton_Record

Description:

	This is a pointer to the TSpeedButton record.

PSpeller						SpellCHK
							DOS, DPMI, Windows

Type: ^TSpeller

Description:

	This is a pointer to a TSpeller object.

PString							Types
							DOS, DPMI, Windows

Type: ^String

Description:

	This defines a pointer to a string.

PString_Array						Types
							DOS, DPMI, Windows

Type: ^TString_Array

Description:

	This defines a pointer to a TString_Array.

PTable							Tables
							DOS, DPMI, Windows

Type: ^TTable ;

Description:

	This defines a pointer to a TTable object.

PTable_Record						Tables
							DOS, DPMI, Windows

Type: ^TTable_Record ;

Description:

	This defines a pointer to a TTable_Record.

PTool							WINSTD
							Windows

Type: ^TTool

Description:

	This defines a pointer to a TTool object.

PTool_Record						WINSTD
							Windows

Type: ^TTool_Record

Description:

	This defines a pointer to a TTool_Record object.

PToolBox						WINSTD
							Windows

Type: ^TToolbox


Description:

	This defines a pointer to a TToolBox object.

PToolBox						Ribbons
							Windows

Type: ^TToolbox ;

Description:

	This defines a pointer to a TToolbox.

PToolButton						Ribbons
							Windows

Type: ^TToolButton ;

Description:

	This defines a pointer to a TToolButton.

PWord_Array						Types
							DOS, DPMI, Windows

Type: ^TWord_Array ;

Description:

	This defines a pointer to a TWord_Array.

Queue

Type: Object( TQueue )

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored in the queue are destroyed when
		the queue object destructs.


	procedure Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of the queue.


	procedure Front( var Data ) ; virtual ;

		Copies the item at the front (head) of the queue into the
		specified buffer.


	procedure Delete( var Data ) ; virtual ;

		Copies the item at the front (head) of the queue into the
		specified buffer and deletes the item.


Description:

	Defines a queue object.

Rad							Misc
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Rad( Source ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Source		Integer			Radix-50 value to convert.

Description:

	This function converts a Radix-50 integer to a three-character string.
Radix-50 integers are generated with the Rad50 function.

Rad							CLIB.H
							C

Type: char*

Call format: S = Rad( int ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Source		int			Radix-50 value to convert.

Description:

	This function converts a Radix-50 integer to a three-character string.
Radix-50 integers are generated with the Rad50 function.

Rad50							Misc
							DOS, DPMI, Windows
							Delphi

Type: Integer function

Call format: I := Rad50( Source ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Source		String			Characters to convert to
						Radix-50.

Description:

	This module converts a three (3) character string into a two character
Radix-50 value that may be used with the RAD function.

Rad50							CLIB.H
							C

Type: int

Call format: I = Rad50( Source ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Source		char*			Characters to convert to
						Radix-50.

Description:

	This module converts a three (3) character string into a two character
Radix-50 value that may be used with the RAD function.

Rand							Randoms
							DOS, DPMI, Windows

Type: real

Call format: R := Rand ;

Parameters: None

Description:

	This function returns a random number between 0 and 1.

RComparison						UStrings
							DOS, DPMI, Windows
							Delphi

Type: Record

Fields:

	Name		Type				Description
	----		----				-----------
	Weight		array[ 0..255 ] of integer	Weighting for each ASCII
							value.
	Bias		array[ 0..255 ] of integer	Bias for each ASCII
							value.
	Compensation	array[ 0..255 ] of integer	Compensation for each
							ASCII value.

Description:

	This record defines how string comparisons are done in Compare_Strings.

Refresh_Screen						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Refresh_Screen ;

Parameters: None

Description:

	This procedure redisplays the entire screen.  This is useful for
restoring the screen if non_SMU display occurred.

Refresh_Screen						SMU.H
							C

Type: void

Call format: Refresh_Screen() ;

Parameters: None

Description:

	This procedure redisplays the entire screen.  This is useful for
restoring the screen if non_SMU display occurred.

Refresh_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Refresh_Window( Window ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window		Window_Pointer		Window to refresh.

Description:

	This procedure redisplays the specified window in its current position
(if mapped).  This is useful for restoring the screen if non_SMU display
occurred.

Refresh_Window						SMU.H
							C

Type: void

Call format: Refresh_Window( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to refresh.

Description:

	This procedure redisplays the specified window in its current position
(if mapped).  This is useful for restoring the screen if non_SMU display
occurred.

RFonts							FontMana.H
							C++ Windows

Type: struct

Fields:

	Name		Type			Description
	----		----			-----------
	Usage_Count	int			Count of references.
	LogFont		LOGFONT			LOGFONT definition of font.
	Font		TFont*			Pointer to TFont object.
	Next		RFonts*			Pointer to next font in list
						(NULL if last font in list).

Description:

	This structure defines a font managed by the Font Manager.

Right							UStrings
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Right( C, Position ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	C		String			String to make copy of.
	Position	Integer			Position to begin at in string.

Description:

	This function returns a copy of the right portion of the specified
string, beginning at the specified position.

Right							CLIB.H
							C

Type: char*

Call format: S = Right( C, Position ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	C		char*			String to make copy of.
	Position	int			Position to begin at in string.

Description:

	This function returns a copy of the right portion of the specified
string, beginning at the specified position.

Roman_To_Arabic						Format.H
							C++, C++ Windows

Type: long function

Call format: Roman_To_Arabic( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		char*			String to convert.

Description:

	This function converts a string containing a number in Roman numeral
format and returns a decimal (Arabic) value.  For example, "IX" would return
9.

Root							Maths
							DOS, DPMI, Windows

Type: real function

Call format: R := Root( V, N )

Parameters:

	Name		Type			Description
	----		----			-----------
	V		Real			Value to get nth root of.
	N		integer			The root to obtain for V.
						For example, 3 is used for
						the cube root, 2 for the
						square root, etc.

Description:

	This function returns the nth root of a value.

RRibbonWindow						Ribbons
							Windows

Type: Constant Record

Description:

	Used to load/store Ribbon window objects.

RSpeedBar						Ribbons
							Windows

Type: Constant Record

Description:

	Used to load/store Speed bar window objects.

RSpeedButton						Ribbons
							Windows

Type: Constant Record

Description:

	Used to load/store Speed button window objects.

RT_Error						RTError

Type: String

Call format: S := RT_Error( Error ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Error		Integer			Run-time error code whose
						text is to be returned.

Description:

	This function returns the text for the run-time error passed to the
function.

SAE							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Status		byte
	Filler		byte
	Previous_SP	word
	Previous_SS	word
	Top		word

Description:

	STACKS array elements.

SCB							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Subsegment_Type	char
	Start		word
	Size		word
	Filler		array[ 0..2 ] of byte
	Name		array[ 0..7 ] of char

Description:

	SCB (Subsegment Control Block).

SCR							SMU
							DOS, DPMI, Windows
							Delphi

Type: Text

Description:

	Screen output device for SMU.  Any output to this device is directed
to the current SMU window.

Screen_Window						UEditor
							DOS, DPMI, Windows

Type: Window_Pointer

Description:

	Global pointer to display window.

Scroll_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Scroll_Window( Window_P, X, Y, Rect ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to scroll.
	X		Integer			Number of columns to scroll.
						Scrolls right if positive, or
						left if negative.
	Y		Integer			Number of rows to scroll.
						Scrolls down if positive, or
						up if negative.
	Rect		TRect			Rectangle to be scrolled.

Description:

	This procedure scrolls the contents of the specified rectangle on the
specified window the specified number of columns and rows.

SCS							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Filler		word
	Stacks		word
	SCB_Size	word
	Stack_Size	word
	Data_Segment	pointer
	SCB		word
	Last		word
	Next		word

Description:

	STACKS Code Segment.

SDAV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Critical_Error_Flag	byte
	InDOS_Flag		byte
	Error_Drive		byte
	Error_Locus		byte
	Extended_Error_Code	word
	Suggested_Action	byte
	Error_Class		byte
	Error_ES_DI		pointer
	Current_DTA		pointer
	Current_PSP		word
	Stored_SP		word
	Return_Code		word
	Current_Drive		byte
	Break_Flag		byte
							Swap following only if
							in DOS.
	Stored_AX		word
	Sharing_PSP		word
	Sharing_Number		word
	First_MB		word
	Best_MB			word
	Last_MB			word
	Filler			array[ 0..9 ] of byte
	DD			byte
	MM			byte
	YY_1980			word
	DD_1980			word
	Day_Of_Week		byte
	Filler1			array[ 0..2 ] of byte
	Driver_Request_Header	array[ 0..25 ] of byte
	Entry_Point		pointer
	Driver_Request_Header1	array[ 0..21 ] of byte
	Driver_Request_Header2	array[ 0..21 ] of byte
	PSP_Type		byte
	Filler2			array[ 0..6 ] of byte
	CLOCK_Record		array[ 0..5 ] of byte
	Filler3			array[ 0..1 ] of byte
	FN1			array[ 0..127 ] of char
	FN2			array[ 0..127 ] of char
	SDB			SDB_Rec
	Found_File		Dir_Rec
	Drive_CDSCopy		CDSV3
	FCB_FN1			array[ 0..10 ] of char
	Filler4			byte
	FCB_FN2			array[ 0..10 ] of char
	Filler5			array[ 0..8 ] of byte
	Search_Attributes	byte
	FCB_Type		byte
	Extended_Attributes	byte
	Open_Mode		byte
	Filler6			array[ 0..2 ] of byte
	DOS_Flag		byte
	Filler7			array[ 0..8 ] of byte
	Termination_Type	byte
	Filler8			byte
	Replace_Byte		byte
	Error_DPB		pointer
	Stack_Frame		pointer
	Stored_SP1		word
	DPB_Ptr			pointer
	Filler9			array[ 0..7 ] of byte
	Media_ID		byte
	Filler10		array[ 0..4 ] of byte
	Current_SFT		pointer
	Drive_CDSPTR		pointer
	Caller_FCB		pointer
	Filler11		word
	Temp			word
	JFT			pointer
	FN1_CSOFS		word
	FN2_CSOFS		word
	Filler12		array[ 0..17 ] of byte
	Current_Offset		longint
	Filler13		array[ 0..11 ] of byte
	Appended		longint
	Disk_Buffer		pointer
	SFT			pointer
	Stored_BX		word
	Stored_DS		word
	Temp1			word
	Call_Frame		pointer
	Ren_SrcFile		SDB_Rec
	Ren_File		Dir_Rec
	Error_Stack		array[ 0..330 ] of byte
	Disk_Stack		array[ 0..383 ] of byte
	Char_Stack		array[ 0..383 ] of byte

Description:

	SDA (Swappable DOS Area), DOS 3.n.

SDAV33							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Critical_Error_Flag	byte
	InDOS_Flag		byte
	Error_Drive		byte
	Error_Locus		byte
	Extended_Error_Code	word
	Suggested_Action	byte
	Error_Class		byte
	Error_ES_DI		pointer
	Current_DTA		pointer
	Current_PSP		word
	Stored_SP		word
	Return_Code		word
	Current_Drive		byte
	Break_Flag		byte
							Swap following only if
							in DOS.
	Stored_AX		word
	Sharing_PSP		word
	Sharing_Number		word
	First_MB		word
	Best_MB			word
	Last_MB			word
	Filler			array[ 0..9 ] of byte
	DD			byte
	MM			byte
	YY_1980			word
	DD_1980			word
	Day_Of_Week		byte
	Filler1			array[ 0..2 ] of byte
	Driver_Request_Header	array[ 0..25 ] of byte
	Entry_Point		pointer
	Driver_Request_Header1	array[ 0..21 ] of byte
	Driver_Request_Header2	array[ 0..21 ] of byte
	PSP_Type		byte
	Filler2			array[ 0..6 ] of byte
	CLOCK_Record		array[ 0..5 ] of byte
	Filler3			array[ 0..1 ] of byte
	FN1			array[ 0..127 ] of char
	FN2			array[ 0..127 ] of char
	SDB			SDB_Rec
	Found_File		Dir_Rec
	Drive_CDSCopy		CDSV3
	FCB_FN1			array[ 0..10 ] of char
	Filler4			byte
	FCB_FN2			array[ 0..10 ] of char
	Filler5			array[ 0..8 ] of byte
	Search_Attributes	byte
	FCB_Type		byte
	Extended_Attributes	byte
	Open_Mode		byte
	Filler6			array[ 0..2 ] of byte
	DOS_Flag		byte
	Filler7			array[ 0..8 ] of byte
	Termination_Type	byte
	Filler8			byte
	Replace_Byte		byte
	Error_DPB		pointer
	Stack_Frame		pointer
	Stored_SP1		word
	DPB_Ptr			pointer
	Filler9			array[ 0..7 ] of byte
	Media_ID		byte
	Filler10		array[ 0..4 ] of byte
	Current_SFT		pointer
	Drive_CDSPTR		pointer
	Caller_FCB		pointer
	Filler11		word
	Temp			word
	JFT			pointer
	FN1_CSOFS		word
	FN2_CSOFS		word
	Filler12		array[ 0..17 ] of byte
	Current_Offset		longint
	Filler13		array[ 0..11 ] of byte
	Appended		longint
	Disk_Buffer		pointer
	SFT			pointer
	Stored_BX		word
	Stored_DS		word
	Temp1			word
	Call_Frame		pointer
	Ren_SrcFile		SDB_Rec
	Ren_File		Dir_Rec
	Error_Stack		array[ 0..330 ] of byte
	Disk_Stack		array[ 0..383 ] of byte
	Char_Stack		array[ 0..383 ] of byte
	Flag			byte
	Drive			byte
	Filler14		word

Description:

	SDA (Swappable DOS Area), DOS 3.3.

SDAV4							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Critical_Erro_Flag	byte
	InDOS_Flag		byte
	Error_Drive		byte
	Error_Locus		byte
	Extended_Error_Code	word
	Suggested_Action	byte
	Error_Class		byte
	Error_ES_DI		pointer
	Current_DTA		pointer
	Current_PSP		word
	Stored_SP		word
	Return_Code		word
	Current_Drive		byte
	Break_Flag		byte
	Filler			array[ 0..1 ] of byte
							Swap following only if
							in DOS.
	Stored_AX		word
	Sharing_PSP		word
	Sharing_Number		word
	First_MB		word
	Best_MB			word
	Last_MB			word
	Filler1			array[ 0..9 ] of byte
	DD			byte
	MM			byte
	YY_1980			word
	DD_1980			word
	Day_Of_Week		byte
	Filler2			array[ 0..2 ] of byte
	Driver_Request_Header	array[ 0..29 ] of byte
	Entry_Point		pointer
	Driver_Request_Header1	array[ 0..21 ] of byte
	Driver_Request_Header2	array[ 0..29 ] of byte
	Filler3			array[ 0..5 ] of byte
	CLOCK_Record		array[ 0..5 ] of byte
	Filler4			array[ 0..1 ] of byte
	FN1			array[ 0..127 ] of char
	FN2			array[ 0..127 ] of char
	SDB			SDB_Rec
	Found_File		Dir_Rec
	Drive_CDSCopy		CDSV4
	FCB_FN1			array[ 0..10 ] of char
	Filler5			byte
	FCB_FN2			array[ 0..10 ] of char
	Filler6			array[ 0..10 ] of byte
	Search_Attributes	byte
	Open_Mode		byte
	Filler7			array[ 0..2 ] of byte
	DOS_Flag		byte
	Filler8			array[ 0..8 ] of byte
	Termination_Type	byte
	Filler9			array[ 0..2 ] of byte
	Error_DPB		pointer
	Stack_Frame		pointer
	Stored_SP1		word
	DPB_Pointer		pointer
	Disk_Buffer		word
	Filler10		array[ 0..7 ] of byte
	Media_ID		byte
	Filler11		byte
	Filler12		pointer
	Current_SFT		pointer
	Drive_CDSPTR		pointer
	Caller_FCB		pointer
	Filler13		array[ 0..3 ] of byte
	JFT			pointer
	FN1_CSOFS		word
	FN2_CSOFS		word
	Filler14		array[ 0..11 ] of byte
	Directory_Cluster	word
	Filler15		array[ 0..9 ] of byte
	Offset			longint
	Filler16		word
	Partial_Bytes		word
	Sectors			word
	Filler17		array[0..5] of byte
	Appended_Bytes		longint
	Disk_Buffer1		pointer
	SFT1			pointer
	Store_BX		word
	Store_DS		word
	Temp			word
	Previous_Call_Frame	pointer
	Filler18		array[ 0..4 ] of byte
	Filler19		pointer
	Special_Open_Action	word
	SPop_Attr		word
	SPop_Mode		word
	Filler20		array[ 1..9 ] of byte
	Save_DS			word
	Filler21		array[ 0..4 ] of byte
	Filename		pointer
	Filler22		pointer
	Save_SS			word
	Save_SP			word
	Stack_Switch		byte
	Ren_SrcFile		SDB_Rec
	Ren_File		Dir_Rec
	Error_Stack		array[ 0..330 ] of byte
	Disk_Stack		array[ 0..383 ] of byte
	Char_Stack		array[ 0..383 ] of byte
	AH_Flag			byte
	Drive			byte
	Flag			byte
	Filler23		array[ 0..8 ] of byte

Description:

	SDA (Swappable DOS Area), DOS 4.n.

SDB							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Drive_Letter		byte
	Search_Template		array[ 0..10 ] of char
	Search_Attributes	byte
	Directory_Entry		word
	Parent_Cluster		word
	Filler			array[ 1..4 ] of byte
	Found_Attribute		byte
	Time			word
	Date			word
	Size			longint
	Name			array[ 0..12 ] of char

Description:

	SDB (Search Data Block).

SDB_Rec							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Drive_Letter		byte
	Search_Template		array[ 0..10 ] of char
	Search_Attributes	byte
	Directory_Entry		word
	Parent_Cluster		word
	Filler			array[ 1..4 ] of byte

Description:

	DOS Directory entry.

Select_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Select_Window( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to select.

Description:

	Makes the specified window the current window.

Select_Window						SMU.H
							C

Type: void

Call format: Select_Window( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to select.

Description:

	Makes the specified window the current window.

SelectTool						WINSTD
							Windows

Type: procedure

Call format: SelectTool( Window, Tool ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window		HWND			Handle of toolbox.
	Tool		Integer			Command ID of tool to select.

Description:

	Selects the specified tool of the specified toolbox.

Set_Cursor						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Set_Cursor( Vr, Vc ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	VR		Integer			Row.  0 to leave unchanged.
	VC		Integer			Column.  0 to leave unchanged.

Description:

	This procedure sets the cursor position to the specified row and
column.

Set_Cursor						SMU.H
							C

Type: void

Call format; Set_Cursor( Vr, Vc ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Vr		int			Row.  0 to leave unchanged.
	Vc		int			Column.  0 to leave unchanged.

Description:

	This procedure sets the cursor position to the specified row and
column.

Set_Default_Window					SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Set_Default_Window( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Window_Record		The record returned by a
						Get_Default_Window call.

Description:

	This procedure sets the current window to the specified window.

Set_Default_Window					SMU.H
							C

Type: void

Call format: Set_Default_Window( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Window_Record		The record returned by a
						Get_Default_Window call.

Description:

	This procedure sets the current window to the specified window.

Set_Length						Standard
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Set_Length( X, L ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		var String		String whose length is to be
						set.
	L		integer			Length to set string to.

Description:

	This procedure sets the length of the specified string to the
specified length.  Note that if the string length is expanded, the additional
characters are not changed in any way by this procedure.

Set_Screen						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Set_Screen( Model, Printer_Model, Input_Buffers, Mode ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Model		Integer			Computer model:
						0	Do not change
						1	Unknown
						2	DEC Rainbow
						3, 4	IBM PC in text mode
						>4	IBM PC in graphics mode
	Printer_Model	Integer			Printer model:
						0	Do not change.
						1	Unknown (generic text)
						2	DEC LA50/LA75
						3	IBM graphics
	Input_Buffers	Integer			Number of lines of input
						history to keep.  0 to leave
						unchanged.
	Mode		Integer			Print mode.

Description:

	This procedure changes SMU characteristics after the Init_SMU call.

Set_Screen						SMU.H
							C

Type: void

Call format: Set_Screen( Model, Printer_Model, Input_Buffers, Mode ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Model		int			Computer model:
						0	Do not change
						1	Unknown
						2	DEC Rainbow
						3, 4	IBM PC in text mode
						>4	IBM PC in graphics mode
	Printer_Model	int			Printer model:
						0	Do not change.
						1	Unknown (generic text)
						2	DEC LA50/LA75
						3	IBM graphics
	Input_Buffers	int			Number of lines of input
						history to keep.  0 to leave
						unchanged.
	Mode		int			Print mode.

Description:

	This procedure changes SMU characteristics after the Init_SMU call.

Set_Viewport						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Set_Viewport( Row, Column ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Row		Byte			Row of window which will be at
						top row of viewport.
	Column		Byte			Column of window which will be
						at left column of viewport.

Description:

	This procedure redefines the window viewport to the specified row and
column.

Set_Viewport						SMU.H
							C

Type: void

Call format: Set_Viewport( Row, Column ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Row		short int		Row of window which will be at
						top row of viewport.
	Column		short int		Column of window which will be
						at left column of viewport.

Description:

	This procedure redefines the window viewport to the specified row and
column.

Set_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Set_Window( Window_P, Row, Column, Flag, Attributes ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to affect.
	Row		Integer			Row to move to.  0 to leave
						unchanged.
	Column		Integer			Column to move to.  0 to
						leave unchanged.
	Flag		Integer			Window flags.  0 to leave
						unchanged.
	Attributes	Integer			New default attributes.
						    and  1 = Reverse-video
						    and  2 = High-intensity
						    and  4 = Blink
						    and  8 = Low-intensity
						    and 16 = No blink
						    and 32 = Normal video
						    and 64 = Modify existing
							     flags

Description:

	Flags are always set if the row and/or column is less than zero.  Note
that the attributes value must be negative or it is ignored.  The routine
changes it to a positive value and then checks the flags as described above.

Set_Window						SMU.H
							C

Type: void

Call format: Set_Window( Window_P, Row, Column, Flag, Attributes ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to affect.
	Row		int			Row to move to.  0 to leave
						unchanged.
	Column		int			Column to move to.  0 to
						leave unchanged.
	Flag		int			Window flags.  0 to leave
						unchanged.
	Attributes	int			New default attributes.
						    &  1 = Reverse-video
						    &  2 = High-intensity
						    &  4 = Blink
						    &  8 = Low-intensity
						    & 16 = No blink
						    & 32 = Normal video
						    & 64 = Modify existing
							     flags

Description:

	Flags are always set if the row and/or column is less than zero.  Note
that the attributes value must be negative or it is ignored.  The routine
changes it to a positive value and then checks the flags as described above.

SetLength						Standard
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: SetLength( X, L ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		PChar			String whose length is to be
						set.
	L		Integer			New length for string.

Description:

	This procedure sets the length of the specified string to the specified
value.  This simply places a null in the proper position, no other changes
occur to the string.

SFTV2							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
variant:
	Handle_Count		byte
	Open_Mode		byte
	Attributes		byte
	Drive			byte
	Name			array[ 0..10 ] of char
	Filler			array[ 0..1 ] of word
	Size			longint
	Date			word
	Time			word
	Device_Attribute	byte
	Driver			pointer
	Absolute_Cluster	word
	Filler1			word
	Current_Position	longint
variant:
	Filler2			array[ 0..27 ] of byte
	Start			word
	Relative_Cluster	word

Description:

	SFT (System File Table), DOS V2.n.

SFTV3							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
	Handle_Count		word
	Open_Mode		word
	Attributes		byte
	Device_Info		word
	Driver			pointer
	Start_Cluster		word
	Time			word
	Date			word
	Size			longint
	Current_Position	longint
	Relative_Cluster	word
	Absolute_Cluster	word
	Dir_Sector		word
	Directory_Entry		byte
	FCB_FN			array[ 0..10 ] of char
	Previous_SFT		pointer
	Owner			word
	Sharing_Record		word

Description:

	SFT (System File Table), DOS V3.n.

SFTV4								TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name			Type			Description
	----			----			-----------
Variant:
	Handle_Count		word
	Open_Mode		word
	Attributes		byte
	Device_Info		word
	Driver			pointer
	Start_Cluster		word
	Time			word
	Date			word
	Size			longint
	REDIRIFS		pointer
	Filler			array[ 0..2 ] of byte
	FCB_FN			array[ 0..10 ] of char
	Previous_SFT		pointer
	Machine_Number		word
	Owner			word
	Sharing_Record		word
	Absolute_Cluster	word
	IFS_Driver		pointer
Variant:
	Filler1			array[ 0..24 ] of byte
	Relative_Cluster	word
	Directory_Sector	word
	Directory_Entry		byte

Description:

	SFT (System File Table), DOS V4.n.

SGN							Maths
							DOS, DPMI, Windows

Type: Real function

Call format: R := SGN( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Real			Value to return sign of.

Description:

	This function returns the sign of the passed value, as follows:

	Value passed		Result
	------------		------
	< 0			-1
	= 0			 0
	> 0			 1

Sgn							CLIB.H
							C

Type: double

Call format: D = Sgn( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		double			Value to return sign of.

Description:

	This function returns the sign of the passed value, as follows:

	Value passed		Result
	------------		------
	< 0			-1
	= 0			 0
	> 0			 1

Sharing_Record						TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Flag		byte
	Size		word
	Checksum	byte
	Lock_Record	word
	SFT		pointer
	Sequence	word
	Pathname	char			First byte of variable area.

Description:

	Sharing Record.

Single_List

Type: Object( TSList )

Fields:

	Name		Type			Description
	----		----			-----------
	Context		List_Pointer		Current context in list.

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  If
		Flag is True, the elements are object pointers.  In this case,
		Size must be 4.  Objects are automatically deleted when the
		object destructs.


	procedure Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of the list.


	procedure Get( var Data ) ; virtual ;

		Retrieves the item at the current context and places it in the
		specified buffer.


	procedure Insert( var Data ) ; virtual ;

		Inserts the item in the specified buffer into the list at the
		current position.


	procedure Delete; virtual ;

		Deletes the item at the current position.  The context is
		invalid after this operation.


	procedure Last( var Data ) ; virtual ;

		Sets the context to the last item in the list and places a
		copy of it in the specified buffer.  If the list is empty,
		the context is invalid.


	procedure First( var Data ) ; virtual ;

		Sets the context to the first item in the list and places a
		copy of it in the specified buffer.  if the list is empty,
		the context is invalid.


	function EOL : boolean ; virtual ;

		Returns True if the context is at the end of the list.


	function BOL : boolean ; virtual ;

		Returns True if the context is at the first item in the list.


Description:

	Defines a single-linked list object with a context.  The context defines
the current item in the list.  The context is invalid when the current item is
deleted or when Next or Previous walk off the list.

SizeWindow						WINSTD
							Windows

Type: procedure

Call format: SizeWindow( Window, XDelta, YDelta ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window		HWND			Window to size.
	XDelta		Integer			Width change.
	YDelta		Integer			Height change.

Description:

	This changes the size of a window by specified values.  A negative
value for XDelta or YDelta shrinks the appropriate dimension and a positive
value increases it.

Sleep							Misc
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Sleep( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Integer			Number of seconds to pause.

Description:

	This function causes the computer to pause for the requested number of
seconds.  If negative, the pause terminates as soon as any input is pending,
otherwise it pauses for a number of seconds equal to the absolute value of the
passed number.  Negative values are not allowed in Windows.

SN_Record						TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Level		word
	Serial_Number	longint
	Volume_Label	array[ 0..10 ] of char
	File_System	array[ 0..7 ] of char

Description:

	Disk Serial Number Record.

Soundex							DOS, DPMI
							Delphi

Type: String function

Call format: S := Soundex( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		string			String to convert.

Description:

	This function returns a string containing the soundex equivalent of
the passed string.

Space							Misc
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Space( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		Byte			Number of spaces to return

Description:

	This function returns a string containing the number of spaces
requested.

Space							CLIB.H
							C

Type: char*

Call format: S = Space( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		int			Number of spaces to return

Description:

	This function returns a string containing the number of spaces
requested.

Space							ASCIIDef
							ASCIIDEF.H
							DOS, DPMI, Windows
							Delphi
							C, C Windows
							C++, C++ Windows

Type: const Space = #32 (Pascal)
      #define Space '\x20' (C)

Description:

	This defines the ASCII space character.

Sparse_Array

Type: Object( TSList )

Fields:

	Name		Type			Description
	----		----			-----------
	Default		List_Pointer		Pointer to default item.

Methods:

	constructor Init( Size : word ; Flag : boolean ; var Def ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored in the list are destroyed when
		the list object destructs.


	procedure Get( Offset : longint ; var Data ) ; virtual ;

		Copies the information from the specified offset into the
		specified buffer.


	procedure Put( Offset : longint ; var Data ) ; virtual ;

		Copies the item from the specified buffer into the specified
		offset.


	procedure List_Add( var Data ) ; virtual ;

		Adds the item from the specified buffer to the end of the list
		used for the array.


	procedure List_Get( Index : List_Pointer; var Data ) ; virtual ;

		Copies the item from the specified location on the list used
		by the array to the specified buffer.


	procedure List_Insert( Index : List_Pointer; var Data ) ; virtual ;

		Inserts the item from the specified buffer into the specified
		position of the list used by the array.


	procedure List_Delete( Index : List_Pointer ) ; virtual ;

		Deletes the item from the specified location in the list used
		by the array.


	function List_First : List_Pointer; virtual ;

		Returns a pointer to the first item in the list used by the
		array.


	function List_Last : List_Pointer; virtual ;

		Returns a pointer to the last item in the list used by the
		array.


	function List_Next( Index : List_Pointer ) : List_Pointer; virtual ;

		Returns a pointer to the next item from the specified item on
		the list used by the array.


Description:

	Defines a standard sparse array object.

Split							Wildcard
							DOS, DPMI, Windows

Type: procedure

Call format: Split( Path, Dir, Name, Ext ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Path		String			Full path and filename to be
						split into component parts.
	Dir		var String		Ignored when passed.  The
						device and directory portion of
						Path on return.
	Name		var String		Ignored when passed.  The
						filename portion of Path on
						return.
	Ext		var String		Ignored when passed.  The
						extension portion of Path on
						return.

Description:

	This function splits a path into directory, filename, and extension
parts.

Stack

Type: Object( TStack )

Fields:

	Name		Type			Description
	----		----			-----------
	Stack_Top	word			Top of stack element offset.

Methods:

	constructor Init( Cnt, Size : word ; Flag : boolean ) ;

		Constructs a static stack object with the given number of
		elements of the given size.  Flag is true if objects are stored
		in the stack.  In this case, Size must be 4.  Objects are
		destructed when the stack is destructed.

	function Empty : boolean ; virtual ;

		Returns true if the stack is empty.

	procedure Pop( var Data ) ; virtual ;

		Pops data from the top of the stack into the specified buffer.

	procedure Push( var Data ) ; virtual ;

		Pushes data from the specified buffer onto the stack.

	procedure Top( var Data ) ; virtual ;

		Places data from the top of the stack into the specified buffer.

Description:

	This defines a STACK object.

Static_Array						Structures
							DOS, DPMI, Windows

Type: Object( TSArray )

Fields:

	Name		Type			Description
	----		----			-----------
	High		word			High bound for array.
	Low		word			Low bound for array.

Methods:

	constructor Init( LBound, UBound : integer ; Size : word ;
		Flag : boolean ) ;

		Constructs a static array with the specified upper and lower
		bounds, and the specified element size.  The flag is true if
		the array stores objects.  In this case, the objects are
		destructed when the array is.

	procedure Get( Offset : integer ; var Data ) ; virtual ;

		This retrieves the data from the specified array element and
		places it into the specified buffer.

	procedure Put( Offset : integer ; var Data ) ; virtual ;

		This places the data from the specified buffer into the
		specified element of the array.

Description:

	This object implements a static array.

Static_EMS_Array					Structure
							DOS, DPMI

Type: object( TS_EMSArray )

Fields:

	Name		Type			Description
	----		----			-----------
	High		word			High bounds for array
	Low		word			Low bounds for array

Methods:

	constructor Init( LBound, UBound : integer ; Size : word ;
	    Flag : boolean ) ;

		Constructs a static EMS array object with the given upper and
		lower bounds, and element size.  Flag is true if objects are
		stored in the array, in which case, the size must be 4.  Objects
		are destructed when the array is destructed.

	procedure Get( Offset : integer ; var Data ) ; virtual ;

		Returns the contents of the specified offset into the specified
		buffer.

	procedure Put( Offset : integer ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specified
		offset in the array.

Description:

	This object defines a static EMS array object.  EMS stands for Extended
Memory System.

Store_Font						FontMana.H
							C++ Windows

Type: void function

Call format: Store_Font( File, All ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	File		FILE*			File to store fonts in.
	All		BOOL			TRUE to store all fonts, FALSE
						to store only used fonts.

Description:

	This function writes all font information to the specified file.  These
can be read in by Load_Font.

strc							CLIB.H
							C

Type: char*

Call format: S = strc( X ) ;

Parameters Passed:

	Name		Type			Description
	----		----			-----------
	X		char*			String to convert.

Description:

	This function converts a Pascal style string into a zero-terminated
string.  The passed buffer must begin with the length byte.  See also strpas.

STree

Type: Object( TTree )

Fields:

	Name		Type			Description
	----		----			-----------
	Ptr		Tree_Pointer		Pointer to root node.
	Item_Size	Word			Size of items in tree.
	Key_Size	Word			Size of key in tree items.
	Storing_Objects	Boolean			True if storing objects.

Methods:

	constructor Init( Size, Key : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored on the tree are destroyed when
		the tree object destructs.


	destructor Done; virtual ;

		Destructs the object.


	procedure Add( var Data ) ; virtual ;

		Adds the node in the specified buffer to the tree.


	function Empty : boolean ; virtual ;

		Returns True if the tree is empty.


	procedure Tree_Delete( Index : Tree_Pointer ) ; virtual ;

		Deletes the specified node from the tree.


	function Tree_Find( var Key ) : Tree_Pointer; virtual ;

		Returns a pointer to the node which has the specified key.
		Returns nil if not found.


	function Tree_First : Tree_Pointer; virtual ;

		Returns a pointer to the node with the lowest key value.


	procedure Tree_Get( Index : Tree_Pointer; var Data ) ; virtual ;

		Copies the specified node into the specified buffer.


	function Tree_Last : Tree_Pointer; virtual ;

		Returns a pointer to the node with the highest key value.


	function Tree_Next( Index : Tree_Pointer ) : Tree_Pointer; virtual ;

		Returns a pointer to the node with the next key from the
		specified node.  Nil is returned if at the last item in the
		tree or if the tree is empty.


	function Tree_Previous( Index : Tree_Pointer ) : Tree_Pointer; virtual ;

		Returns a pointer to the node with the previous key from the
		specified node.  Nil is returned if at the first item in the
		tree or if the tree is empty.


	procedure Tree_Prune( Index : Tree_Pointer ) ; virtual ;

		Deletes the specified node, and its subtree.


	procedure Tree_Put( Index : Tree_Pointer; var Data ) ; virtual ;

		Copies the specified buffer into the specified node.


Description:

	Defines a standard binary tree object.

String_To_Boolean					UStrings
							DOS, DPMI, Windows
							Delphi

Type: boolean function

Call format: B := String_To_Boolean( X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	X		string			String value to convert.

Description:

	This function converts a string into a boolean value, which can be used
to convert back the result of the Boolean_To_String function.

strpas							CLIB.H
							C

Type: void

Call format: strpas( Result, X ) ;

Parameters Passed:

	Name		Type			Description
	----		----			-----------
	Result		char*			Ignored when passed.  The
						converted string is placed in
						the buffer on return.
	X		char*			The zero-terminated string to
						convert.

Description:

	This function converts a zero-terminated string into a Pascal style
string.  See also strc.

Substitute						UStrings
							DOS, DPMI, Windows
							Delphi

Type: string function

Call format: S := Substitute( A, B ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	A		String			String to convert.
	B		String			Conversion string.

Description:

    This function returns the string passed as A, translated via B.  Each
character in A is replaced by the character in B at the offset of the ASCII
value of the character in A.

Switch_Present						Parse
							DOS, DPMI, Windows

Type: Integer function

Call format: I := Switch_Present( Command ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		String			String to check for switches.

Description:

	Returns position of first switch in passed string.  Returns 0 if no
switches found.

Switch_Present						CLIB.H
							C

Type: int

Call format: I = Switch_Present( Command ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		char*			String to check for switches.

Description:

	Returns position of first switch in passed string.  Returns 0 if no
switches found.

System							CLIB.H
							C

Type: char*

Call format: S = System() ;

Parameters: None

Description:

	This function returns a string identifying the current version of
MSDOS.

Tab2Space						Format
							DOS, DPMI, Windows

Type: String function

Call format: S := Tab2Space( Count, X ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Count		Integer			Number of spaces between tab
						stops.
	X		var String		String to convert.

Description:

	Convert string with tabs to string with appropriate spaces.

TAllocation_Record					FSFH
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Cluster		Array[ 0..62 ] of longint Array of cluster pointers.
	Next		Longint			Pointer to next allocation
						record.

Description:

	This record defines the File System's File Allocation record
structure.

tAllocator						Heap
							DOS, DPMI, Windows

Type: object( TObject )

Methods:

	Init		constructor Init ;

			Constructs the allocator.

	Done		destructor Done ; virtual ;

			Destructs the allocator.

	Allocate	function Allocate( Size : longint ) : longint ; virtual ;

			Allocate the specified number of bytes and returns a
			longint pointer to the allocated space.

	Deallocate	procedure Deallocate( PTR, Size : longint ) ; virtual ;

			Deallocates specified bytes at the specified location.

	Read_Heap	procedure Read_Heap( PTR, Size : longint ; var Buffer ) ;
			    virtual ;

			Reads the specified number of bytes from the specified
			location into the specified buffer.

	Write_Heap	procedure Write_Heap( PTR, Size : longint ; var Buffer ) ;
			    virtual ;

			Writes data from the specified buffer, of the specified
			length in bytes, to the specified location.

	SpaceAvail	function SpaceAvail : longint ; virtual ;

			Returns total available space.

	XSpaceAvail	function XSpaceAvail : longint ; virtual ;

			Returns total available space, including any
			additional that can be allocated for this object.

	MaxSpace	function MaxSpace : longint ; virtual ;

			Returns maximum contiguous space.

	Get_Root	procedure Get_Root( var Buf ) ; virtual ;

			Returns information from Root area.

Description:

	This is the abstract ancestor for all allocator objects.  This object
may not be constructed, it serves only as a base for all allocators.

TAllocator						CPPLIB.H
							C++ Windows, C++ DOS

Type: class TAllocator

Public methods:

	virtual ~TAllocator()

		Destructs the allocator.


	virtual long int Allocate( long int Size )

		Allocate the specified number of bytes and returns a long int
		pointer to the allocated space.


	virtual void Deallocate( long int PTR, long int Size )

		Deallocates specified bytes at the specified location.


	virtual void Read_Heap( long int PTR, long int Size, void *Buffer )

		Reads the specified number of bytes from the specified location
		into the specified buffer.


	virtual void Write_Heap( long int PTR, long int Size, void *Buffer )

		Writes data from the specified buffer, of the specified length
		in bytes, to the specified location.


	virtual long int SpaceAvail()

		Returns total available space, including any additional that
		can be allocated for this object.


	virtual long int MaxSpace()

		Returns maximum contiguous space.


Description:

	This is the abstract ancestor for all allocator objects.  This object
may not be constructed, it serves only as a base for all allocators.

TArray							Structures
							DOS, DPMI, Windows

Type: object( TObject )

Methods:

	constructor Init ;

		Constructs a TArray object.

	destructor Done ; virtual ;

		Destructs a TArray object.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Gets the specified data from the specified array offset.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places specified data at the specified array offset.

Description:

	This defines an abstract array object.

TBig_Array						FSFH
							DOS, DPMI, Windows

Type: Array[ 0..32767 ] of byte ;

Description:

	This defines a 32K array of bytes.

TBlock_Device						Files
							DOS, DPMI, Windows

Type: object( TFile )

Fields:

	Name		Type			Description
	----		----			-----------
	Drive		integer			Drive number (A=1, etc).
	Position	longint			Position on disk (byte offset).

Methods:

	Init		constructor Init ;

			Initalizes the device object.

	Done		destructor Done ; virtual ;

			Destructs the object.

	Append		procedure Append( Name : String ) ; virtual ;

			Invalid for devices.  Causes an error.

	Blockread	procedure Blockread( var Buf ; Count : Word ; var Result : Word ) ; virtual ;

			Reads a block from the device into the specified buffer.
			The number of bytes to read is specified.  Result is an
			error code.

	Blockwrite	procedure Blockwrite( var Buf ; Count : Word ; var Result : Word ) ; virtual ;

			Writes a block to the device from the specified buffer.
			The number of bytes to write is specified.  Result is an
			error code.

	Close		procedure Close ; Virtual ;

			Does nothing.

	EOF		function Eof : boolean ; virtual ;

			Returns true if positioned at the end of device.  False
			otherwise.

	EOLN		function Eoln : boolean ; virtual ;

			Invalid.  Causes an error.

	Erase		procedure Erase( Name : String ) ; virtual ;

			Invalid.  Causes an error.

	Filepos		function Filepos : longint ; virtual ;

			Returns the position on the device.

	Get_Size	function Get_Size : longint ; virtual ;

			Returns the size of the device, in bytes.

	Initialize	procedure Initialize ; virtual ;

			Initializes (low-level format) the device.

	Set_Extend	procedure Set_Extend( State : boolean ) ; virtual

			Invalid.  Causes an error.

	Set_Size	procedure Set_Size( New_Size : longint ) ; virtual ;

			Invalid.  Causes an error.

	Flush		procedure Flush ; virtual ;

			Does nothing.

	GetfAttr	procedure Getfattr( Name : String ; var Attr : Word ) ; virtual ;

			Invalid.  Causes an error.

	GetFTime	procedure Getftime( var Time : Longint ) ; virtual ;

			Invalid.  Causes an error.

	Read		procedure Read( var Buffer ) ; virtual ;

			Reads a record into the buffer.

	Readln		procedure Readln( var Buffer : String ) ; virtual ;

			Invalid.  Causes an error.

	Rename		procedure Rename( Old, New : String ) ; virtual ;

			Invalid, causes an error.

	Reset		procedure Reset( Name : String ) ; virtual ;

			Opens the specified device.

	Rewrite		procedure Rewrite( Name : String ) ; virtual ;

			Invalid.  Causes an error.

	Seek		procedure Seek( Position : Longint ) ; virtual ;

			Positions the current position to the specified byte
			offset.

	SeekEOF		function Seekeof : Boolean ; virtual ;

			Positions the current position to the end of the device.

	SeekEOLN	function Seekeoln : Boolean ; virtual ;

			Invalid.  Causes an error.

	SetFAttr	procedure Setfattr( Name : String ; Attr : Word ) ; virtual ;

			Invalid.  Causes an error.

	SetFTime	procedure Setftime( Time : Longint ) ; virtual ;

			Invalid.  Causes an error.

	SetTextBuf	procedure Settextbuf( var buf ; size : Word ) ; virtual ;

			Invalid.  Causes an error.

	Write		procedure Write( var Buffer ) ; virtual ;

			Writes a record from the specified buffer to the file.

	Writeln		procedure Writeln( Buffer : String ) ; virtual ;

			Invalid.  Causes an error.

Description:

	This object implements a block device.

TByte_Array						Types
							DOS, DPMI, Windows

Type: array

Description:

	This defines an array of bytes as large as allowed, starting at offset
0.

TCache_Handler						Cache
							DOS, DPMI, Windows

Type: type TCache_Handler = function( Siz, Code : longint ) : longint ;

Description:

	Cache handlers are passed a size (Siz) to free.  If size is zero (0)
then Code indicates a special operation to perform.  For now, the only defined
code is 0, which indicates that the function should return the amount of memory
currently allocated in its cache.  If Size is not zero, Code is ignored.  If
size is negative, then the cache should be completly zeroed.  Other functions
may be added later.

	Cache handlers are called by Free_Cache.  They are added to the cache
handler list with Add_Handler.  They are removed from the list with
Delete_Handler.

TDArray

Type: Object( TSArray )

Methods:

	constructor Init( Cnt, Size : word ; Flag : boolean ) ;

		Constructs a dynamic array with the specified number of
		initial elements of the specified size.  Flag is True to
		indicate an object.  Objects must have size 4.  Objects are
		destructed when the array is.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Returns the data at the specified offset in the specified
		buffer.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specified
		offset.

Description:

	This defines the standard dynamic array object.

TDirectory_Entry					FSFH
							DOS, DPMI, Windows

Type: Record

Fields:

	Name			Type			Description
	----			----			-----------
	Name			String			File name.  The first
							byte is the length of
							the name, followed by
							the name itself.
	Version			Integer			File version number.
	Version_Limit		Integer			File version limit.
	Size			Longint			File size.
	Owner			Longint			File owner.
	Created_By		Longint			Created by.
	Creation_Time		Longint			Creation time.
	Creation_Date		Longint			Creation date.
	Revision_Time		Longint			Last revision time.
	Revision_Date		Longint			Last revision date.
	Access_Time		Longint			Last access time.
	Access_Date		Longint			Last access date.
	Backup_Time		Longint			Last backup time.
	Backup_Date		Longint			Last backup date.
	Expiration_Time		Longint			File expiration time.
	Expiration_Date		Longint			File expiration time.
	Protection		Longint			Pointer to protection
							record.
	Attributes		Longint			File attributes (See
							FSFF_* flags).
	Extension		Longint			Extend size.  This is
							the number of bytes to
							allocate for this file
							when it needs to be
							extended.  This is also
							called the
							"clustersize".
	End_Of_File		Longint			Current end of file.
	Record_Size		Longint			File record size.
	Uncompressed_Size	Longint			File size.
	Caching_Info		Longint			Pointer to cache record.
	Access_Info		Longint			Pointer to access
							history information
							record.
	Locks			Longint			Pointer to lock record.
	Auditing_Info		Longint			Pointer to auditing
							record.
	Access_Stats		Longint			Pointer to access
							statistics record.
	Allocation_Info		Longint			Pointer to allocation
							record.
	Next_Alpha_Entry	Longint			Pointer to next alpha
							file entry in directory.
	Organization		Byte			File organization.
	Record_Format		Byte			File record format.
	Left_Pointer		Longint			Left pointer.
	Right_Pointer		Longint			Right pointer.
	Back_Pointer		Longint			Father node pointer.
	Reserved		Array[ 0..5 ] of byte	Reserved for future
							use.

Description:

	This record defines a directory entry used in the TFile_System
directory tree.  Each directory entry defines a single file.

TDList

Type: Object( TList )

Fields:

	Name		Type			Description
	----		----			-----------
	Item_Size	Word			Size of items in list.
	Ptr		List_Pointer		Pointer to end of list.
	Storing_Objects	Boolean			True if storing objects.

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored in the list are destroyed when
		the list object destructs.


	destructor Done; virtual ;

		Destructs the object.


	procedure List_Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of the list.


	function Empty : boolean ; virtual ;

		Returns True if the list is empty.


	procedure List_Get( Index : List_Pointer; var Data ) ; virtual ;

		Copies the specified item into the specified buffer.


	procedure List_Insert( Index : List_Pointer; var Data ) ; virtual ;

		Inserts the item from the specified buffer into the list at
		the specified location.


	procedure List_Delete( Index : List_Pointer ) ; virtual ;

		Deletes the specified item from the list.


	function List_Last : List_Pointer; virtual ;

		Returns a pointer to the last item on the list.  Nil is returned
		if the list is empty.


	function List_First : List_Pointer; virtual ;

		Returns a pointer to the first item on the list.  Nil is
		returned if the list is empty.


	function List_Previous( Index : List_Pointer ) : List_Pointer; virtual ;

		Returns a pointer to the item preceeding the specified item on
		the list.  Returns Nil if at the beginning of the list.


	function List_Next( Index : List_Pointer ) : List_Pointer; virtual ;

		Returns a pointer to the item following the specified item on
		the list.  Returns Nil if at the end of the list.


Description:

	Defines a standard double-linked list object.

TDStack

Type: Object( TDArray )

Methods:

	constructor Init( Cnt, Size : word ; Flag : boolean ) ;

		Constructs an object with the specified initial number of
		elements of the specified size.  Flag is True if objects are
		stored in each element.  In this case, Size must be 4.  Objects
		are destructed when the stack is destructed.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Places the value from the specified offset into the specified
		buffer.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specified
		offset.

	function Empty : boolean ; virtual ;

		Returns True if the stack is empty.

	procedure Get( Offset : integer ; var Data ) ; virtual ;

		Places the value from the specified offset into the specified
		buffer.

	procedure Pop( var Data ) ; virtual ;

		Pops the top of stack into the specified buffer.

	procedure Push( var Data ) ; virtual ;

		Pushes data from the specified buffer onto the stack.

	procedure Put( Offset : integer ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specified
		offset.

	procedure Top( var Data ) ; virtual ;

		Returns top of stack in the specified buffer.

Description:

	This defines an abstract dynamic stack object.

TEditor							UEditor
							DOS, DPMI, Windows

Type: object

Fields:

	Name			Type		Description
	----			----		-----------
	Anchor			Anchor_Type	Current selection anchor.
	Any_Changes		Boolean		True if ANY changes made to
						file.
	Border			Integer		Size of border around window.
	Changes			Boolean		True if changes made to the
						current line.
	Current_Line		Line_Pointer	Pointer to current line in
						buffer.
	Cursor_Column		Integer		Current column of cursor.
	Cursor_Row		Integer		Current row of cursor.
	End_Of_Buffer_String	String		What to show as end-of-buffer.
	End_Of_Line_Character	Char		What to show as
						end-of-long-line.
	Error_Flag		Boolean		TRUE if error currently
						displayed.
	File_Root		pLine_Buffer	Text buffer.
	Last_Screen_Line	Longint		Previous Screen_Line as of
						last Redraw.
	Logical			String		Logical text representation.
	Logical_Column		Integer		Logical column position
						(position on screen).
	Physical_Column		Integer		Current internal position.
	Logical_Text		String		Logical text representation.
	Physical_Text		String		Current line text (internal).
	Lower_Third_Row		Integer		Position of top of lower 1/3 of
						window.
	Max_Row			Integer		Maxmimum row on window.
	Middle_Row		Integer		Mid-point of window.
	Upper_Third_Row		Integer		Position of bottom of upper 1/3
						of window.
	Options			Longint		Operational options (see EDS_*).
	Quiet_Mode		Boolean		True to not update the window.
	Screen_Column		Integer		First column visible on window.
	Screen_Line		Longint		Line in buffer corresponding to
						line 1 of screen.
	Screen_Window		Window_Pointer	Window to draw on.
	Selection		Boolean		True if a selection in progress.
	Tab_Size		Byte		Size of tab.
	Text_Height		Integer		Height of text.
	Translation		Translation_Type Current character translation
						array.
	Window_Height		Integer		Height of window.
	Window_Width		Integer		Width of window.
	Notification_Routine	tNotify		Notification routine in caller.

Methods:

	constructor Init ;

		Constructs the object.


	destructor Done ;

		Destructs the object.


	function At_EOB : boolean ;

		Returns True if positioned at the end of the buffer.


	function At_BOB : boolean ;

		Returns True if positioned at the beginning of the buffer.


	function At_EOL : boolean ;

		Returns True if positioned at the end of the line.


	function At_BOL : boolean ;

		Returns True if positioned at the beginning of the line.


	procedure Scroll_Columns( X : integer ) ;

		Adjusts the window by scrolling it X positions (negative
		scrolls the window right).


	procedure Set_Buffer( X : pLine_Buffer ) ;

		Changes the buffer used by the editor to the specified buffer
		object.


	procedure Clear( Draw : boolean ) ;

		Clears the current buffer.


	Procedure Format( Var X : String ) ;

		Returns specified string formatted for display.


	Procedure Redraw( Start : integer ) ;

		Redraws the window starting at the specified line.


	Procedure Cursor_Up ;

		Moves the cursor up one line.


	Procedure Cursor_Down ;

		Moves the cursor down one line.


	Procedure Cursor_Left ;

		Moves the cursor left one line.


	Procedure Cursor_Right ;

		Moves the cursor right one line.


	Procedure Delete_Char_Back ;

		Delete character to the left of the cursor, taking indent into
		consideration.


	Procedure Delete_Char( Explicit : Boolean ) ;

		Delete the character to the left of the cursor.  If Explicit is
		false, CRLF (line end) is not deleted if the cursor is at the
		first column on the line.  Otherwise, CRLF is deleted.


	Procedure Insert_Chars( Character : String ) ;

		Inserts the specified text into the buffer at the current
		position.  If CR is being inserted, only one may be inserted per
		call.


	function Do_Search( Search_Text : string ) : boolean ;

		Searches for the specified text, starting at the current
		position.  If found, the cursor is moved to the text and the
		function returns True, otherwise it returns False.


	procedure Search( Search_Text : string ; Start_Line,
	    Start_Column : longint ; var Result_Line,
	    Result_Column : longint ) ;

		Searches for the specified text between the specified lines
		and returns the line and column of the start of the text.  A
		Start_Line value of 1 indicates to begin the search at the
		current line.  Result_Line and Result_Column are zero (0) if
		the text is not found.


	Procedure Advance ;

		Moves the cursor to the beginning of the next line.  If the
		cursor is at the end of the buffer, an exception occurs.


	Procedure Move_Word ;

		Moves the cursor to the next non-white space or tab.  If the
		cursor is at the end of the buffer, and exception occurs.


	Procedure EOL ;

		Moves the cursor to the end of the current line.


	Procedure Copy_Text( Paste_Buffer : pLine_Buffer ) ;

		Copies the selected text in the current buffer into the
		specified buffer.


	Procedure Delete_Text ;

		Deletes the currently selected text.


	Procedure Page ;

		Moves the cursor down one window.  If the cursor is at the end
		of the buffer, an exception occurs.


	Procedure Half_Page ;

		Moves the cursor down one half window.  If the cursor is at the
		end of the buffer, an exception occurs.


	Procedure Select ;

		Begins the selection process by setting the anchor to the
		current position.


	Procedure Delete_Word ;

		Deletes the word at the current position.  If the cursor is at
		the end of the buffer, an exception occurs.


	Procedure Delete_Current_Line ;

		Deletes the current line starting at the current position.  If
		the cursor is at the end of the buffer, an exception occurs.


	Procedure Unselect ;

		Cancels the current selection.


	Procedure Insert_Blank_Line ;

		Inserts a new line at the current position.


	Procedure Change_Case ;

		Changes the case of the character to the right of the cursor and
		moves the cursor right.


	Procedure Bottom ;

		Moves the cursor to the end of the buffer.


	Procedure Top ;

		Moves the cursor to the top of the buffer.


	Procedure Paste( Paste_Buffer : pLine_Buffer ) ;

		Copies the contents of the specified buffer into the current
		buffer at the current position.


	Procedure Do_Update ;

		Completes any pending line updates.


	procedure Resize ;

		Causes the metrics to be recalculated for the current window
		size.


	function Fetch_Line( Line_Number : longint ) : string ;

		Returns the text of the specified line.


	procedure Convert_Offset_To_Position( Offset : longint ;
	    var Line, Column : longint ) ;

		Converts from a byte offset to a line and column position.


	function Convert_Position_To_Offset( Line, Column : longint ) : longint ;

		Converts from a line and column position to a byte offset.  If
		Line is -1, the current line is used.  If Column is -1, the
		current column is used.


	procedure Position_Cursor( Line, Column : longint ) ;

		Positions the cursor to the specified line and column and
		updates the screen to show the appropriate text.


	procedure Set_Cursor_Row( X : integer ) ;

		Sets the current row to the specified row.


	procedure Set_Cursor_Column( X : integer ) ;

		Sets the current column to the specified column.


	procedure Position_Caret ;

		Updates the caret to correspond to the current cursor position
		in the text.

Private Methods:

	function Offset_Position( var S : string; Offset : integer ) : integer ;

		Converts a screen Offset to string position.


	procedure Notify( X : integer ) ;

		Notifies parent by using callback, sending the specified
		message.


	procedure Calculate_Rows ;

		Determines the maximum number of rows in the window and the
		1/3, 1/2, and 2/3 row numbers.


	Procedure Flag_Changes ;

		Sets a flag indicating that changes have been made to the
		buffer.


	function Tab_Position( X : integer ) : integer ;

		Returns the next tab position for the specified column.


	function Get_Line_Pointer( Line : longint ) : Line_Pointer ;

		Returns a pointer to the specified line in the buffer.


	Procedure Handle_Selection( Row, Column : Byte ;
		    Var _Text : String ) ;

		Adjusts highlighting based on selection anchor and current
		position.


	Procedure Adjust ;

		Adjusts the cursor based on previous position.


	Procedure Deletecrlf( Explicit : Boolean ) ;

		Delete CRLF between last line and this line.  WARNING: Should
		only be called from Delete_Char.  Use Delete_Char to delete
		lines.


	Procedure New_Line ;

		Creates a new line.


	procedure Redraw_Line ;

		Redraws the current line.


Description:

	This object implements a general text editor.  The editor handles most
operations on its own, passing notification messages (or exceptions) back to
its parent via the callback specified in the constructor (see EDN_*).  For
performance reasons, the current line is edited in a separate buffer.  The
internal buffer is updated on Do_Update.

TEntry_Record						Tables
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Low		Integer			Low range value.
	High		Integer			High range value.
	Next		PEntry_Record		Pointer to next table entry.
	Txt		String			Text for this entry.

Description:

	This record defines one entry for a selection table.

tError_Procedure					Backups
							DOS, DPMI, Windows

Type: type Terror_Procedure = Procedure( S : String ) ;

Description:

	This defines the XBACKUP Error reporting callback.  See Backup_Backup.

TEU_TEU							TEU
							DOS, DPMI

Type: procedure

Call format: TEU_TEU( Command ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		String			Editor command line.

Description:

	This procedure is the entry-point to the TEU Text Editor Utility.  Any
command line that you can enter in DOS can be passed.  For details, see the TEU
User's Guide.

Teu_Teu							CLIB.H
							C

Type: void

Call format: Teu_Teu( Passed_Command ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Command		char*			Editor command line.

Description:

	This procedure is the entry-point to the TEU Text Editor Utility.  Any
command line that you can enter in DOS can be passed.  For details, see the TEU
User's Guide.

Text_Out						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Text_Out( Window_P, T, L ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to output to.
	T		String			Text to write to window.
	L		Integer			Size of text to output.

Description:

	This procedure writes the specified text to the current position on
the specified window.

TFH							FSFH
							DOS, DPMI, Windows

Type: Object( tAllocator )


Fields:

	Name		Type			Description
	----		----			-----------
	FH_File		PFile			File containing heap.
	AT_Offset	Longint			Allocation table offset in file.
	AT		^AT_Array		Loaded AT segment.
	AT_Modified	Boolean			True if current AT segment has
						been changed.
	AT_Segment	Longint			Currently loaded segment number.
	AT_Segment_Size	Word			Size of currently loaded
						segment.
	AT_Size		Longint			Size of AT in file.
	Byte_Mapping	Longint			How much one AT byte maps.
	Device		Integer			File device.
	Flags		Integer			Processing flags:
							1 = Don't extend file
							2 = Don't close file
							    when done.
							4-32768 = reserved
	Memory		pAllocator		Cached memory handler.
	Resolution	Longint			How much one AT bit maps.
	Segment_Mapping	Longint			How much one AT segment maps.


Methods:

	Init			constructor Init( Minimum, F : integer ;
					Name : string ; var Result : longint ;
					Mem : pAllocator ) ;

				Constructs the File Heap in the specified file,
				with the specified minimum allocation size.
				Result indicates success or failure.  If name
				is a device specification ("x:", where x is
				the drive letter), the file heap is
				constructed on the specified drive.  Note
				that if a non-zero-length file, or a device,
				is used then the file or device must have
				already been initialized as a FH heap.  You
				must also supply a memory cache handler.

	Done			destructor Done ; virtual ;

				This destructs the File Heap object.

	Determine_AT_Metrics	procedure Determine_AT_Metrics ; virtual ;

				This determines the metrics of the Allocation
				Table.

	Get_AT_Segment		function Get_AT_Segment( Segment : longint ) :
					longint ; virtual ;

				This reads the specified Allocation Table
				segment into the Allocation Table buffer.

	New			procedure New( Size : longint ) ; virtual ;

				Creates a new File Heap, if empty.

	Allocate		function Allocate( Size : longint ) : longint ;
				    virtual ;

				Allocate Size bytes on the File Heap and
				returns the address of the allocated memory.

	Deallocate		procedure Deallocate( PTR, Size : longint ) ;
					virtual ;

				Deallocates Size bytes in the File Heap,
				starting at the specified address.

	Read_Heap		procedure Read_Heap( PTR, Size : longint ;
				    var Buffer ) ; virtual ;

				Reads data from File Heap at the specified
				address into the specified buffer.  Size bytes
				are copied.

	Write_Heap		procedure Write_Heap( PTR, Size : longint ;
				    var Buffer ) ; virtual ;

				Writes data to File Heap from the specified
				buffer to the specified address.  Size bytes are
				copied.

	Set_Root		procedure Set_Root( var Buffer ) ; virtual ;

				Writes data to root block of the File Heap from
				the specified buffer.

	Get_Root		procedure Get_Root( var Buffer ) ; virtual ;

				Reads data from root block of the File Heap
				into the specified buffer.

	SpaceAvail		function SpaceAvail : longint ; virtual ;

				Returns amount of space available in File
				Heap without file being extended (in bytes).

	XSpaceAvavil		function XSpaceAvail : longint ; virtual ;

				Returns amount of space available in File
				Heap with the file being extended (in bytes).

	MaxSpace		function MaxSpace : longint ; virtual ;

				Returns the largest amount of contigous heap
				space available in the File Heap.

Description:

	This object implements a virtual heap up to 4 Gb in size.  A File Heap
operates just like a memory heap with one exception.  A root block is reserved
at the beginning of the heap.  The address of the root block is 0, and its size
is the same as the minimum heap allocation size specified in the constructor.

TFile							Files
							DOS, DPMI, Windows
							Delphi

Type: object( Tobject )

Fields:

	Name		Type			Description
	----		----			-----------
	File_Rec	File_Record		DOS file record for access.
	Text_Buffer	array[ 0..127 ] of char	Default buffer for text
						files.
	Text_File	Boolean			True if a text file, false
						if record-oriented.
	Record_Size	Word			Size of records in file.
	IO_Error	longint			Error code of last operation.
						0 indicates success.  See
						FSErr_* for details.
	Extendable	boolean			True if file can be
						extended when more space is
						needed.

Methods:

	Init		constructor Init( Tf : Boolean ; Size : Word ) ;

			Initalizes the file object as a Text or Nontext file,
			with the specified record size.

	Done		destructor Done ; virtual ;

			Destructs the file object.

	Append		procedure Append( Name : String ) ; virtual ;

			Opens the specified file in append mode.

	Blockread	procedure Blockread( var Buf ; Count : Word ; var Result : Word ) ; virtual ;

			Reads a block from the file into the specified buffer.
			The number of bytes to read is specified.  Result is an
			error code.

	Blockwrite	procedure Blockwrite( var Buf ; Count : Word ; var Result : Word ) ; virtual ;

			Writes a block to the file from the specified buffer.
			The number of bytes to write is specified.  Result is an
			error code.

	Close		procedure Close ; Virtual ;

			Closes the file after flushing its buffer.

	EOF		function Eof : boolean ; virtual ;

			Returns true if positioned at the end of file.  False
			otherwise.

	EOLN		function Eoln : boolean ; virtual ;

			Returns true if positioned at the end of line.  False
			otherwise.

	Erase		procedure Erase( Name : String ) ; virtual ;

			Deletes the specified file.

	Filepos		function Filepos : longint ; virtual ;

			Returns the current record offset within the file.

	Get_Size	function Get_Size : longint ; virtual ;

			Returns the current size of the file, in records.

	Initialize	procedure Initialize ; virtual ;

			Initializes file by rewriting it.

	Set_Extend	procedure Set_Extend( State : boolean ) ; virtual

			Sets the file to extendable (true) or non-extendable
			(false).

	Set_Size	procedure Set_Size( New_Size : longint ) ; virtual ;

			Sets the size of the file, either expanding or
			truncating it.  If New_Size is -1, the file is
			truncated to the current file position.

	Flush		procedure Flush ; virtual ;

			Flushes the file buffer.

	GetfAttr	procedure Getfattr( Name : String ; var Attr : Word ) ; virtual ;

			Returns the attributes for the specified file.

	GetFTime	procedure Getftime( var Time : Longint ) ; virtual ;

			Returns the creation date/time for the specified file.

	Read		procedure Read( var Buffer ) ; virtual ;

			Reads a record into the buffer.

	Readln		procedure Readln( var Buffer : String ) ; virtual ;

			Reads a line into the buffer.

	Rename		procedure Rename( Old, New : String ) ; virtual ;

			Renames a file.

	Reset		procedure Reset( Name : String ) ; virtual ;

			Opens the specified file for reading.

	Rewrite		procedure Rewrite( Name : String ) ; virtual ;

			Creates and opens the specified file.  If the passed
			name is null, the current file is erased and the
			file pointer is set to the beginning of the file.

	Seek		procedure Seek( Position : Longint ) ; virtual ;

			Positions the file pointer to the specified record
			offset.

	SeekEOF		function Seekeof : Boolean ; virtual ;

			Positions the file pointer to the end of the file.

	SeekEOLN	function Seekeoln : Boolean ; virtual ;

			Positions the file pointer to the end of the current
			line.

	SetFAttr	procedure Setfattr( Name : String ; Attr : Word ) ; virtual ;

			Sets the file attributes for the specified file.

	SetFTime	procedure Setftime( Time : Longint ) ; virtual ;

			Sets the file date/time for the specified file.

	SetTextBuf	procedure Settextbuf( var buf ; size : Word ) ; virtual ;

			Defines the file buffer.

	Write		procedure Write( var Buffer ) ; virtual ;

			Writes a record from the specified buffer to the file.

	Writeln		procedure Writeln( Buffer : String ) ; virtual ;

			Writes a line from the specified buffer to the file.

Description:

	This object implements a generalized DOS file.

TFile_Processor						FSFH
							DOS, DPMI, Windows

Type: Object( TObject )

Private Fields:

	Name		Type			Description
	----		----			-----------
	DOS_FS		PFile_System		DOS file system.
	FS_List		PCollection		List of used file systems.

Private Methods:

	Parse_FileName		procedure Parse_FileName( var Nam,
				    DN : string ) ;

				Breaks passed filename in Nam into DOS file
				(DN) and File system filename (Nam).  DN is
				ignored when passed.  Nam is null on return
				if the passed name is a DOS file and nothing
				more.

Public Methods:

	Init			constructor Init ;

				Creates the file processor object.


	Done			destructor Done ; virtual ;

				Closes all files opened through the file
				processor, removes all associated file systems,
				returns allocated memory and destroys the
				object.


	Lookup			function Lookup( Filename : String;
				    var Find_Record : TFind_Record ) : String ;
				    virtual ;

				Looks up the specified file and returns a
				record indicating information about the file.
				The return string is the filename.


	Close			procedure Close( Fil : PFile ) ; virtual ;

				Closes the specified file.


	Open			function Open( Nam : string; Mode : integer;
				    Siz : longint ;
				    var Result : longint ) : PFile ; virtual ;

				Opens the specified file with the specified
				mode (see FSOM_*), and record size (in bytes).
				Result is ignored when passed and is the open
				result upon return.


	Initialize		function Initialize( Nam,
				    ID : string ) : longint ; virtual ;

				Initializes a file sytem file device with the
				specified DOS file name and ID.


	DeviceSize		function DeviceSize( Nam : string ) : longint ;
				    virtual ;

				Returns the total size of the specified device.


	DeviceFree		function DeviceFree( Nam : string ) : longint ;
				    virtual ;

				Returns the amount of free space on the
				specified device.


	MKDir			function MKDir( Nam : string ) : longint ;
				    virtual ;

				Creates a directory with the specified path
				name.

Description:

	The File Processor object provides a single interface to both DOS and
File System files.  It keeps track of created TFile_System objects and
destructs them when its destructor is called or when their associated files
are closed.  Files opened through the file processor should also be closed
through the file processor (don't directly call the file's Close method).
Also, a file should not be closed through the file processor unless it was
opened through the file processor first.

TFile_System						FSFH
							DOS, DPMI, Windows

Type: Object( TObject )

Fields:

	Name		Type			Description
	----		----			-----------
	DOS_Mode	Integer			Type of file:
							0 = not yet determined.
							1 = DOS
							2 = FS
							all other values are
							reserved.
	DOS_Name	String			Name of DOS root for FS file.
	DOS_Find	TSearchRec		Wildcard search record.
	File_Heap	PFH			File heap which controls file.
	File_Object	PFile			File opened on file system.
	Memory_Heap	PMemory			Cache handler passed to
						File_Heap.

Methods:

	Init			constructor Init( Mode : integer ) ;

				Constructs the object with the type of file
				specified.

	Done			destructor Done ; virtual ;

				Destructs the object.

	Lookup_File		function Lookup_File( Filename : String;
				    var Find_Record : TFind_Record ) : String ;
				    virtual ;

				Does a wildcard lookup, returning the name of
				the file and a search record.

	Lookup			Function Lookup( Filename : String;
				    var Find_Record : TFind_Record ) : String ;
				    virtual ;

				Does a wildcard lookup, returning the name of
				the file and a search record.

	Copy_Directory_Entry	procedure Copy_Directory_Entry( var
				    Find_Record : TFind_Record ) ; virtual ;

				
	FindFirst		function FindFirst( Nam : string;
				    Attributes : longint ;
				    var Find_Record : TFind_Record ) : longint ;
				    virtual ;

				Finds first file matching wildcard name and
				attributes specified.

	FindNext		function FindNext( var Find_Record :
				    TFind_Record ) : longint ; virtual ;

				Finds subsequent wildcard matches after a
				successful FindFirst.

	Open			function Open( Nam : string; Mode : integer;
				    Siz : longint ; var Result : longint ) :
				    PFile ; virtual ;

				Opens the specified file with the specified
				access mode.  Returns result in Result.  Returns
				a pointer to the file object.

	Close			procedure Close ; virtual ;

				Closes the currently open file.

	Initialize		function Initialize( Nam, ID : string ) :
				    longint ; virtual ;

				Initializes the device, giving it a name and
				ID.

	DeviceSize		function DeviceSize( Nam : string ) : longint ;
				    virtual ;

				Returns the size of the specified device or
				File System file.

	DeviceFree		function DeviceFree( Nam : string ) : longint ;
				    virtual ;

				Returns the free space on the specified device
				or File System file.

	MKDir			function MKDir( Nam : string ) : longint ;
				    virtual ;

				Creates a directory with the specified path.

Description:

	This is the interface to the File System.  You can open any file through
this.  If the file is a DOS file, a pointer to a TFile is returned.  If the
file is a File System file, a pointer to a TNative_File is returned.
	o Each device is a separate file system
	o In this implementation, a device is a DOS file.
	o Each file system is implemented as a file heap, with allocation
	  resolution of 256.

TFind_Record						FSFH
							DOS, DPMI, Windows

Type: Record

Fields:

	Name			Type			Description
	----			----			-----------
	Wildcard_Context	String			Wildcard context.
	Wildcard_Attributes	Longint			Wildcard attributes.
	Last_Name		String			Previous matching name.
	File_Name		String			File name being
							searched.
	File_List		String			List of paths.
	File_Type		String			Type of file being
							searched.
	Path_Name		String			Path to search.
	Device_Name		String[ 3 ]		Device being searched.
	Directories		Array[ 1..33 ] Of String Directory context.
	Directory_Name		String			Name of directory.
	Directory_Wildcard	Array[ 0..33 ] Of Boolean Wildcard flags
	Wildcard_Level		Byte			Starting level of ...
							specification.
	Entry			TDirectory_Entry	File directory entry.

Ddescription:

	This is the internal record structure used during wildcard searches
and should not be used by the application.

TFontSetupDlg						WINSTD
							Windows

Type: object( TDialog )

Fields:

		Name			Type		Description
		----			----		-----------
		Notification_Message	Word		Notification message.
		Default_Font		String		Name of default font.
		FontProc		TFarProc	Instance of DoFonts.
		Current_Printer		String		Name of current printer.
		Printer_Default_Font	String		Name of default font
							for default printer.
		LogFont			TLogFont	Logical font.

Methods:

	constructor Init( AParent : PWindowsObject ; AName : PChar ;
	    Message : Word ; Default, Printer : String ) ;

		Initializes the dialog with the specified parent and name,
		the specified response message number, and the default printer
		and font names.

	procedure SetupWindow ; virtual ;

		Sets up the dialog.

	procedure OK( var Msg : TMessage ) ; virtual id_First + IDOK ;

		Handles the pressing of the OK button on the dialog.

	procedure New_Font( var Msg : TMessage ) ; virtual wm_User ;

		Handles selection of a new font on the dialog.

Description:

	This implements a font setup dialog.

TFS_Record						FSFH
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	DOS_Name	String			Name of DOS file.
	Users		Longint			Count of open files.
	FH		PFH			File heap object which controls
						file.
	Boot		FS_Boot_Record		Copy of FS boot record.
	Next		PFS_Record		Next item in list.

Description:

	This record defines each element of a list which the File System uses
to keep track of FS files so that only one copy of a FS file is open at a time.

tHeap							Heap
							DOS, DPMI, Windows

Type: object( TAllocator )

Fields:

	Name		Type			Description
	----		----			-----------
	Root		pointer			Pointer to root information.
	Resolution	integer			Size of root information.

Methods:

	Init		constructor Init ;

			Constructs the allocator.

	Done		destructor Done ; virtual ;

			Destructs the allocator.

	Allocate	function Allocate( Size : longint ) : longint ; virtual ;

			Allocate the specified number of bytes and returns a
			longint pointer to the allocated space.

	Deallocate	procedure Deallocate( PTR, Size : longint ) ; virtual ;

			Deallocates specified bytes at the specified location.

	Read_Heap	procedure Read_Heap( PTR, Size : longint ; var Buffer ) ;
			    virtual ;

			Reads the specified number of bytes from the specified
			location into the specified buffer.

	Write_Heap	procedure Write_Heap( PTR, Size : longint ; var Buffer ) ;
			    virtual ;

			Writes data from the specified buffer, of the specified
			length in bytes, to the specified location.

	SpaceAvail	function SpaceAvail : longint ; virtual ;

			Returns total available space.

	XSpaceAvail	function XSpaceAvail : longint ; virtual ;

			Returns total available space.  This procedure
			simply calls SpaceAvail.

	MaxSpace	function MaxSpace : longint ; virtual ;

			Returns maximum contiguous space.

	Get_Root	procedure Get_Root( var Buf ) ; virtual ;

			Returns information at Root^.

Description:

	This object is used to allocate memory from the far heap.

Time							Standard
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := Time ;

Parameters: None

Description:

	Returns the current time in the format: hh:mm am

Time							CLIB.H
							C

Type: char*

Call format: S = Time() ;

Parameters: None

Description:

	Returns the current time in the format: hh:mm am

Time_Seconds						Standard
							DOS, DPMI, Windows

Type: longint function

Parameters: None

Description:

	Returns the time since Midnight, in 100th of seconds.

TInteger_Array						Types
							DOS, DPMI, Windows

Type: array of integer

Description:

	Defines an array with the maximum number of integers that an array can
contain, offset at 0.

TLine_Buffer						UEditor
							DOS, DPMI, Windows

Type: object

Fields:

	Name		Type			Description
	----		----			-----------
	Start		Line_Pointer		Pointer to first line in buffer.
	Ending		Line_Pointer		Pointer to last line in buffer.
	Last_Line	Longint			Number of last line in buffer
						(line count).

Methods:

	constructor Init ;

		Constructs the object.

	destructor Done ;

		Destructs the object by calling Zero.

	procedure Append( S : string ) ;

		Appends the line specified by S to the end of the buffer.

	procedure Zero ;

		This method zeroes the buffer, releasing any allocated memory
		and reducing the buffer to zero (0) lines of text.

TList

Type: Object( TObject )

Methods:

	constructor Init;

		Constructs a list object.

	destructor Done; virtual ;

		Destructs the object.

	function Empty : boolean ; virtual ;

		Returns True if the list is empty.

	procedure List_Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the list.

	procedure List_Delete( Index : List_Pointer ) ; virtual ;

		Deletes the item pointed to with the specified pointer.

	function List_First : List_Pointer ; virtual ;

		Returns a pointer to the first item in the list.  Nil if none.

	procedure List_Get( Index : List_Pointer ; var Data ) ; virtual ;

		Places the item from the specified element into the specified
		buffer.

	procedure List_Insert( Index : List_Pointer ; var Data ) ; virtual ;

		Inserts the item in the specified buffer into the list
		immediately after the specified element.

	function List_Last : List_Pointer ; virtual ;

		Returns a pointer to the last item on the list.  Nil if empty.

	function List_Next( Index : List_Pointer ) : List_Pointer ; virtual ;

		Returns a pointer to the next list item following the specified
		item.

Description:

	Abstract list object.  List elements are referred to via pointers.

TLongint_Array						Types
							DOS, DPMI, Windows

Type: array of longint

Description:

	This defines an array with the maximum number of longints that an
array can contain.

TLStack							Structures
							DOS, DPMI, Windows

Type: Object( TSList )

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored on the stack are destroyed when
		the stack object destructs.

	procedure Push( var Data ) ; virtual ;

		Pushes the data in the specified buffer onto the stack.


	procedure Top( var Data ) ; virtual ;

		Places a copy of the item on the top of the stack into the
		specified buffer.


	procedure Pop( var Data ) ; virtual ;

		Pops the top of stack item into the specified buffer.


	procedure List_Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of the list
		used by the stack.


	procedure List_Get( Index : List_Pointer; var Data ) ; virtual ;

		Copies the specified item into the specified buffer from the
		list used by the stack.


	procedure List_Insert( Index : List_Pointer; var Data ) ; virtual ;

		Inserts the item in the specified buffer into the list at the
		specified location.


	procedure List_Delete( Index : List_Pointer ) ; virtual ;

		Deletes the specified item on the list used by the stack.


	function List_First : List_Pointer; virtual ;

		Returns a pointer to the first item on the list used by the
		stack.


	function List_Last : List_Pointer; virtual ;

		Returns a pointer to the last item on the list used by the
		stack.


	function List_Next( Index : List_Pointer ) : List_Pointer; virtual ;

		Returns a pointer to the next item after the specified item on
		the list used by the stack.

Description:

	Defines an abstract list stack object.  Calling methods in this object
will result in errors.  You must derive a new object from this and override its
methods.

TMemory							CPPLIB.H
							C++ Windows, C++ DOS

Type: class TMemory : public TAllocator

Public methods:

	virtual ~TMemory()

		Destructs the allocator.


	virtual long int Allocate( long int Size ) ;

		Allocate the specified number of bytes and returns a longint
		pointer to the allocated space.


	virtual void Deallocate( long int PTR, long int Size ) ;

		Deallocates specified bytes at the specified location.


	virtual void Read_Heap( long int PTR, long int Size, void *Buffer ) ;

		Reads the specified number of bytes from the specified location
		into the specified buffer.


	virtual void Write_Heap( long int PTR, long int Size, void *Buffer ) ;

		Writes data from the specified buffer, of the specified length
		in bytes, to the specified location.


	virtual long int SpaceAvail() ;

		Returns total available space.


	virtual long int MaxSpace() ;

		Returns maximum contiguous space.


Description:

	This object is used to allocate memory from the far heap.

TNative_File						FSFH
							DOS, DPMI, Windows

Type: Object( TFile )

Fields:

	Name		Type			Description
	----		----			-----------
	FH		PAllocator		Pointer to file heap manager.
	Append_Mode	Boolean			True if append mode.
	Boot		FS_Boot_Record		Boot record.
	Root		Longint			Root directory pointer.
	Directory_Entry	Longint			File's directory's root pointer.
	File_Entry	Longint			File's directory entry pointer.
	File_Offset	Longint			Offset within file for next I/O.

Methods:

	Init		constructor Init( Tf : Boolean ; Size : Word ;
				Name : string ) ;

			Constructs a TNative_File object with the specified
			record size.  The Tf flag indicates a Text file.  If
			Name is not null, the specified file is opened as a
			FH (file heap) and used for all access.

	Done		destructor Done ; virtual ;

			Destructs the TNative_File object.

	Valid_Filename	function Valid_Filename( var S : string ) : boolean ;
			    virtual ;

			Returns True if the passed string is a valid Native
			File System file name.

	Tree_Find	function Tree_Find( PTR : longint ; Key : string ) :
			    longint ; virtual ;

			Returns pointer to first matching key starting at
			root PTR.

	Tree_Add	procedure Tree_Add( var PTR : longint ;
			    Entry : TDirectory_Entry ) ; virtual ;

			Adds a directory entry to the tree whose root is at
			PTR.

	Tree_Delete	procedure Tree_Delete( Index : longint ) ; virtual ;

			Deletes the entry at the specified address.

	Tree_Next	function Tree_Next( Index : longint ) : longint ;
			    virtual ;

			Finds the next entry after the specified address.

	Get_Absolute	function Get_Absolute( Allocation, Offset : longint ) :
			    longint ; virtual ;

			Returns a pointer to the specified cluster offset using
			the specified allocation record root.

	Find_File	procedure Find_File( Name : string ) ; virtual ;

			Sets up internal pointers to specified file.

	Reset		procedure Reset( Name : String ) ; virtual ;

			Opens an existing file with the specified name.

	Rewrite		procedure Rewrite( Name : String ) ; virtual ;

			Creates a file with the specified name.

	Append		procedure Append( Name : String ) ; virtual ;

			Opens an existing file with the specified name in
			append mode.

	Close		procedure Close ; Virtual ;

			Closes the file.

	Seek		procedure Seek( Position : Longint ) ; virtual ;

			Sets the file position to the specified location.

	Read		procedure Read( var Buffer ) ; virtual ;

			Reads a record from the file into the specified
			buffer.

	Write		procedure Write( var Buffer ) ; virtual ;

			Writes a record to the file from the specified buffer.

	Readln		procedure Readln( var Buffer : String ) ; virtual ;

			Reads a line from the file into the specified buffer.

	Writeln		procedure Writeln( Buffer : String ) ; virtual ;

			Writes a line to the file from the specified string.

	Blockread	procedure Blockread( var Buf ; Count : Word ;
			    var Result : Word ) ; virtual ;

			Reads Count records from the file into the specified
			buffer.  Result indicates the number of records
			actually read.

	Blockwrite	procedure Blockwrite( var Buf ; Count : Word ;
			    var Result : Word ) ; virtual ;

			Write Count records to the file from the specified
			buffer.  Result indicates the number of records
			actually written.

	EOF		function Eof : boolean ; virtual ;

			Returns True if file position is at the end of file,
			False otherwise.

	EOLN		function Eoln : boolean ; virtual ;

			Returns True if file position is at the end of a line,
			False otherwise.

	Filepos		function Filepos : longint ; virtual ;

			Returns current file position.

	Get_Size	function Get_Size : longint ; virtual ;

			Returns current file size.

	Set_Size	function Set_Size( New_Size : longint ) ; virtual ;

			Sets the current file size, expanding or truncating
			the file.

	Flush		procedure Flush ; virtual ;

			Flushes file buffer.

	GetFAttr	procedure Getfattr( Name : String ; var Attr : Word ) ;
			    virtual ;

			Returns file attributes.

	Erase		procedure Erase( Name : String ) ; virtual ;

			Deletes the specified file.

	Rename		procedure Rename( Old, New : String ) ; virtual ;

			Renames the specified file to the new specified name.

	SeekEOF		function Seekeof : Boolean ; virtual ;

			Sets the file position to the end of file.

	SeekEOLN	function Seekeoln : Boolean ; virtual ;

			Sets the file position to the end of the line.

	SetFAttr	procedure Setfattr( Name : String ; Attr : Word ) ;
			    virtual ;

			Sets the specified file's file attributes to those
			specified.

	GetFTime	procedure Getftime( var Time : Longint ) ; virtual ;

			Returns the file creation date/time.

	SetFTime	procedure Setftime( Time : Longint ) ; virtual ;

			Sets the file creation date/time.

	SetTextBuf	procedure Settextbuf( var buf ; size : Word ) ;
			    virtual ;

			Sets file's buffer to the specified buffer and size.

Private methods:

	Extend_File	procedure Extend_File( New_Size : longint ) ;
			    virtual ;

			Extends file's length to specified new size.

Description:

	This object is the Native File System file object.

TNotify							UEditor
							DOS, DPMI, Windows

Type: procedure( X : integer ) ;

Description:

	This defines the call-back type for editor messages.

TPChar_Array						Types
							DOS, DPMI, Windows

Type: array

Description:

	This defines an array of PChars as large as allowed, starting at offset
0.

TPrinterSetupDlg					WINSTD
							Windows

Type: object( TDialog )

Fields:

	Name			Type			Description
	----			----			-----------
	Notification_Message	Word			Message to use for
							notification.
	Default_Printer		String			Name of default printer.

Methods:

	constructor Init( AParent : PWindowsObject ; AName : PChar ;
	    Message : Word ; Default : String ) ;

		Initializes the dialog using the parent object, the dialog
		title, response message, and default printer.

	procedure SetupWindow ; virtual ;

		Sets up the dialog.

	procedure OK( var Msg : TMessage ) ; virtual id_First + IDOK ;

		Handles press of OK button on dialog.

Description:

	This implements the TPrinterSetupDlg dialog box.

TProperty						Property.H
							C++ Windows

Type: struct

Fields:

	Name		Type			Description
	----		----			-----------
	Name		char*			Name of property.
	Value		char*			Value of property.
	Next		TProperty*		Next property in list.

Description:

	This defines the property records used by TProperty_Box.

TProperty_Box						Property.H
							C++ Windows

Type: class TProperty_Box : public TWindow

Protected Fields:

	Name		Type			Description
	----		----			-----------
	Root		TProperty*		First property in box.

Methods:

	TProperty_Box( TWindow* parent ) ;

		Constructs the object with the specified parent window.


	~TProperty_Box() ;

		Destructs the object by releasing all memory and closing the
		window.


	void Clear() ;

		Frees all memory by deleting all properties from the box.


	void Add_Property( char *name, char *value ) ;

		Adds a property with the specified name and value to the end
		of the current list of properties.


	virtual void Paint( TDC& dc, BOOL, TRect& ) ;

		Responds to WM_PAINT messages to display the property box.


	virtual void EvSize( UINT sizeType, TSize& size ) ;

		Responds to WM_SIZE messages.


Description:

	This class defines a general property box window.

tPSP							TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	INT_20H		word
	Size		word
	Filler		byte
	FAR_Jump	array[ 0..4 ] of byte
	INT_22H		longint
	INT_23H		longint
	INT_24H		longint
	Parent		word
	Files		array[ 0..19 ] of byte
	Environment	word
	SS_SP		longint
	Max_Files	word
	File_Table	pointer
	Previous_PSP	pointer
	Filler1		array[ 0..19 ] of byte
	Dispatch	array[ 0..2 ] of byte
	Filler2		array[ 0..8 ] of byte
	FCB1		array[ 0..15 ] of byte
	FCB2		array[ 0..19 ] of byte
	Command_Tail	string[ 127 ]

Description:


TQueue

Type: Object( TDList )

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored in the queue are destroyed when
		the queue object destructs.


	procedure Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of the queue.


	procedure Front( var Data ) ; virtual ;

		Copies the item at the front (head) of the queue into the
		specified buffer.


	procedure Delete( var Data ) ; virtual ;

		Copies the item at the front (head) of the queue into the
		specified buffer and deletes the item.


	procedure List_Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of the list
		used by the queue.


	procedure List_Get( Index : List_Pointer; var Data ) ; virtual ;

		Copies the specified item in the list used by the queue into
		the specified buffer.


	procedure List_Insert( Index : List_Pointer; var Data ) ; virtual ;

		Inserts the item in the specified buffer into the specified
		position in the list used by the queue.


	procedure List_Delete( Index : List_Pointer ) ; virtual ;

		Deletes the specified item in the list used by the queue.


	function List_First : List_Pointer; virtual ;

		Returns a pointer to the first item in the list used by the
		queue.


	function List_Last : List_Pointer; virtual ;

		Returns a pointer to the last item in the list used by the
		queue.


	function List_Next( Index : List_Pointer ) : List_Pointer; virtual ;

		Returns a pointer to the next item from the specified item in
		the list used by the queue.


Description:

	Defines an abstract queue object.  Calling the methods in this object
will result in an error.  You must create a descendant and override these
methods.

Translate_Font						FontMana.H
							C++ Windows

Type: int function

Call format: I = Translate_Font( Index ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Index		int			Handle of font to translate.

Description:

	This function returns a new handle for the passed handle.  The new
handle reflects what the font's handle would be if all unused fonts were
removed from the list.

Translation_Type					UEditor
							DOS, DPMI, Windows

Type: Array[ 0..255 ] Of String[ 5 ] ;

Description:

	This array defines a string for each of the 256 ASCII codes which can
be displayed in place of the character itself.

TRecord_Size						Types
							DOS, DPMI, Delphi

Type: type (integer)

Description:

	This type is the largest integer type that can be used to represent the
full range of Max_Memory.

TRect							SMU
							DOS, DPMI
							Delphi

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Top		Integer			Top row of rectangle.
	Bottom		Integer			Bottom row of rectangle.
	Left		Integer			Left column of rectangle.
	Right		Integer			Right column of rectange.

Tree

Type: Object( STree )

Fields:

	Name		Type			Description
	----		----			-----------
	Last_Error	Integer			Error code of last error.
	Context		Tree_Pointer		Context of current node.

Methods:

	constructor Init( Size, Key : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored on the tree are destroyed when
		the tree object destructs.


	procedure Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the tree.


	procedure Delete; virtual ;

		Deletes the current node.  The context is invalid after this
		operation.


	function Error : Integer ; virtual ;

		Returns the error code from the last operation.  It is 0 if
		the operation was successful.  Return values:

			Value	Description
			-----	-----------
			 0	No errors on last operation.
			-6	Operation on current node when there was no
				current node.
			-11	End of tree encountered (may indicate that the
				Tree is empty).
			-138	Duplicate key.
			-155	Key not found.


	procedure Find( var Key, Data ) ; virtual ;

		Sets the context to the node with the specified key and
		returns a copy of the node in the specified buffer.


	procedure First( var Data ) ; virtual ;

		Sets the context to the node with the first key in the tree
		and returns a copy of the node in the specified buffer.


	procedure Last( var Data ) ; virtual ;

		Sets the context to the node with the last key in the tree
		and returns a copy of the node in the specified buffer.


	procedure Previous( var Data ) ; virtual ;

		Sets the context to the previous node from the current and
		copies the node into the specified buffer.


	procedure Prune; virtual ;

		Deletes the current node and its subtree.


	procedure Next( var Data ) ; virtual ;

		Sets the context to the next node from the current and copies
		the node into the specified buffer.


	procedure Set_Error( E : Integer ) ; virtual ;

		Forces an error condition to the specified value.


	procedure Update( var Data ) ; virtual ;

		Updates the current node in the tree after changing its key.


Description:

	Defines a standard binary tree object with a context.  The context
indicates the current node.  The context is invalid if the tree is empty, the
current node is deleted, or an attempt is made to next/previous from the
first/last node.

Tree_Image						Structures
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Back		Tree_Pointer		Pointer to parent node.
	Left		Tree_Pointer		Pointer to left subtree.
	Right		Tree_Pointer		Pointer to right subtree.
	D		array[ 0..65507 ] of byte Data area.

Tree_Pointer						Structures
							DOS, DPMI, Windows

Type: ^Tree_Image

Description:

	This defines a pointer to a Tree_Image record.

tRequest_Procedure					Backups
							DOS, DPMI, Windows

Type: type Trequest_Procedure = Procedure( S : String ; T : Integer ) ;

Description:

	This defines the XBACKUP Request callback.  See Backup_Backup.

TRibbonWindow						Ribbons
							Windows

Type: object( TWindow )

Fields:

	Name		Type			Description
	----		----			-----------
	GrayBrush	HBrush			Handle to gray brush.
	GrayPen		HPen			Handle to gray pen.
	WhitePen	HPen			Handle to white pen.
	Height		Integer			Height of ribbon window, in
						pixels.
	Status_Text	array[ 0..80 ] of Char	Current status text.
	Font		HFont			Handle to font.
	IsStockFont	Boolean			True if font is a stock font.

Methods:

	Init		constructor Init( AParent : PWindowsObject ) ;

			Constructs the ribbon window.

	Done		destructor Done ; virtual ;

			Destructs the ribbon window.

	SetupWindow	procedure SetupWindow ; virtual ;

			Handles window setup.

	GetClassName	function GetClassName : PChar ; virtual ;

			Returns class name of ribbon window.

	GetWindowClass	procedure GetWindowClass( var WndClass : TWndClass) ;
			     virtual ;

			Returns window class information.

	Paint		procedure Paint( PaintDC : HDC ;
			     var PS : TPaintStruct ) ; virtual ;

			Draws the ribbon window.

	SetText		procedure SetText( Txt : PChar ) ;

			Set the text for a ribbon window.

	Store		procedure Store( var S : TStream ) ; virtual ;

			Store the ribbon window object on a stream.

	Load		constructor Load( var S : TStream ) ;

			Load the ribbon window object from a stream.

	WMSetText	procedure WMSetText( var Msg : TMessage ) ;
			     virtual wm_First + wm_SetText ;

			Responds to WM_SetText message.

Description:

	This object defines a ribbon window.  Ribbon windows are used for
displaying text.

True							CLIB.H
							C

Type: #define True -1

Description:

	This constant defines a boolean True value.  See also False.

TS_EMSArray						Structures
							DOS, DPMI

Type: Object( TArray )

Fields:

	Name		Type			Description
	----		----			-----------
	Current_Handle	integer			Current expanded memory handle.
	Current_Page	integer			Current expanded memory page.
	Element_Count	word			Number of elements in array.
	Element_Size	word			Size of elements in array.
	Handle		integer			EMM handle.
	Internal_Size	word			Internal size of each element.
	Page_Count	integer			Number of 16K pages in array.
	Page_Frame	integer			Segment of the expanded memory
						window.
	Storing_Objects	boolean			True if storing objects.

Methods:

	constructor Init( Cnt, Size : word ; Flag : boolean ) ;

		Constructs the EMS array with the specified element count,
		with the specified element size.  The flag is true if objects
		are being stored.  In this case, the size must be 4.  Objects
		are destructed when the array is destructed.

	destructor Done ; virtual ;

		Destructs the array.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Retrieves the data from the specified element and places it in
		the specified buffer.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specified
		element.

Description:

	This is an abstract static EMS array object.

TString_Array						Types
							DOS, DPMI, Windows

Type: array

Description:

	This defines an array of strings as large as allowed, starting at offset
0.

TRect							SMU
							DOS, DPMI
							Delphi

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
	Top		Integer			Top of rectangle.
	Bottom		Integer			Bottom of rectangle.
	Left		Integer			Left side of rectangle.
	Right		Integer			Right side of rectangle.

Description:

	This record defines a windows-compatible rectangle record.

TRegisters						SMU
							DOS, DPMI
							Delphi

Type: Registers

Description:

	This simply defines a windows-compatible type for Registers.

TSArray							Structures
							DOS, DPMI, Windows

Type: Object( TArray )

Fields:

	Name		Type			Description
	----		----			-----------
	Element_Count	word			Number of elements in array.
	Element_Size	word			Size of elements in array.
	Ptr		Array_Pointer		Pointer to data in heap.
	Storing_Objects	boolean			True if storing objects.

Methods:

	constructor Init( Cnt, Size : word ; Flag : boolean ) ;

		Constructs the array with the specified element count, each
		of the specified size.  Flag is true if objects are being
		stored in the array.  If so, the size must be 4, and the
		objects are destructed when the array is.

	destructor Done ; virtual ;

		Destructs the array.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Returns the data from the specified offset into the specified
		buffer.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified buffer into the array at the
		specified element.

Description:

	This object is an abstract static array.  This array is zero-based.

TSList							Structur
							DOS, DPMI, Windows
							Delphi

Type: Object( TList )

Fields:

	Name		Type			Description
	----		----			-----------
	Item_Size	Word			Size of items in list.
	Ptr		List_Pointer		Pointer to end of list.
	Storing_Objects	Boolean			True if storing objects.

Methods:

	constructor Init( Size : word ; Flag : boolean ) ;

		Constructs the object with the specified size (in bytes).  Flag
		is true if the object will be storing other objects.  In this
		case, the size must be 4.  Objects are automatically destroyed
		when the object destructs.


	destructor Done; virtual ;

		Destructs the object.


	procedure List_Add( var Data ) ; virtual ;

		Adds the item in the specified buffer to the end of the list.


	function Empty : boolean ; virtual ;

		Returns TRUE if the list is empty.


	procedure List_Get( Index : List_Pointer; var Data ) ; virtual ;

		Places the item at the specified index into the specified
		buffer.


	procedure List_Insert( Index : List_Pointer; var Data ) ; virtual ;

		Inserts the item in the specified buffer into the list
		immediately after the specified element.


	procedure List_Delete( Index : List_Pointer ) ; virtual ;

		Deletes the specified item from the list.


	function List_First : List_Pointer; virtual ;

		Returns a pointer to the first item in the list.


	function List_Last : List_Pointer; virtual ;

		Returns a pointer to the last item in the list.


	function List_Next( Index : List_Pointer ) : List_Pointer; virtual ;

		Returns a pointer to the item following the specified item
		in the list.


Description:

	Standard single-linked list object.

TSparse_Matrix						Structur
							DOS, DPMI, Windows
							Delphi

Type: object( TMatrix )

Fields: None

Methods:

	Init			constructor Init( Size, Subscripts : longint ) ;

				Constructs the matrix, having elements of the
				specified number of bytes.  Subscripts specifies
				the number of subscripts (dimensions) of the
				matrix.


	Done			destructor Done ;

				Destroys the matrix and erases the storage.


	Clear			procedure Clear ;

				Deallocates all allocated matrix data.


	Matrix_Exists		function Matrix_Exists( Index : string ) : boolean ;

				Returns true if the element at the specified
				index exists.


	Matrix_Get		procedure Matrix_Get( Index : string ;
					var Data ) ;

				Places the data from the specified element into
				the Data variable.


	Matrix_Put		procedure Matrix_Put( Index : string ;
					var Data ) ;

				Writes the data from Data into the specified
				element.

Description:

	This class allows the creation of sparse matricies.  The default value
for elements is 0.  Any element not explicitly set to a value other than 0
returns a value of 0.  Indexing into the array is specified with a string
containing the subscripts, separated by commas.  For instance: "1,4,0"

TSpeedBar						Ribbons
							Windows

Type: object( TWindow )

Fields:

	Name		Type			Description
	----		----			-----------
	StatusLine	PRibbonWindow		Status line window object.
	GrayBrush	HBrush			Handle to gray brush.
        GrayPen		HPen			Handle to gray pen.
	Height		Integer			Height of speed bar, in pixels.
        Buttons		PSpeedButton_Record	Pointer to list of speed
						buttons.
        Current_Tool	PSpeedButton		Pointer to current speed
						button.

Methods:

	Init			constructor Init( AParent : PWindowsObject ;
                        	     H : Integer ; P : PRibbonWindow ) ;

				Constructs the object with the specified
				ribbon window and speed bar height, in pixels.

	Done			destructor Done ; virtual ;

				Destructs the object.

	Store			procedure Store( var S : TStream ) ; virtual ;

				Stores the speed bar object on a stream.

	Load			constructor Load( var S : TStream ) ;

				Loads the speed bar object from a stream.

	SetupWindow		procedure SetupWindow ; virtual ;

				Sets up the speed bar window.

	GetClassName		function GetClassName : PChar ; virtual ;

				Returns the speed bar class name.

	GetWindowClass		procedure GetWindowClass( var WndClass : TWndClass) ;
				     virtual ;

				Returns window class information.

	AddAButton		procedure AddAButton( AnID : Word ;
                        	     AHeight, AWidth : Integer ;
                        	     ABitMap1, Help_Text : PChar ;
                        	     AFrame : boolean ) ;

				Adds a button to the end of the button list
				with the specified width, height, hint text,
				and bitmap.

	NewGroup		procedure NewGroup ; virtual ;

				Adds a separator space after the last button.

	WMDrawItem		procedure WMDrawItem( var Msg : TMessage ) ;
		        	     virtual wm_First + wm_DrawItem ;

				Responds to WM_DrawItem messages.

	Paint			procedure Paint( PaintDC : HDC ;
				     var PS : TPaintStruct ) ; virtual ;

				Paints the speed bar.

	WMCommand		procedure WMCommand( var Msg : TMessage ) ;
			        	virtual wm_First + wm_Command ;

				Responds to WM_Command messages.

	Redisplay_Button	procedure Redisplay_Button( I : Integer ;
                	             H : HWnd ) ; virtual ;

				Forces redraw of the specified button.

	Enable_Button		procedure Enable_Button( I : Integer ) ;
        	                     virtual ;

				Enables the button with the specified ID.

	Disable_Button		procedure Disable_Button( I : Integer ) ;
	                             virtual ;

				Disables the button with the specified ID.

Description:

	This object defines the speed bar window object.

TSpeedButton						Ribbons
							Windows

Type: object( TButton )

Fields:

	Name		Type			Description
	----		----			-----------
	BMP		hBitmap			Button bitmap image.
	Disabled	Boolean			True if button disabled.
        Width		Word			Width of button, in pixels.
	Height		Word			Height of button, in pixels.
        Help_Text	PChar			Hint text for button.
        Frame		Boolean			True to notify frame of click.

Methods:

	Init		constructor Init( AParent : PWindowsObject ;
			    AnID : Integer ; H, W, X, Y : Integer ;
			    ABitMap1, Help : PChar ; AFrame : boolean ) ;

			Constructs the button with the specified ID, position,
			size, bitmap, and hint text.

	Done		destructor Done ; virtual ;

			Destructs the Speed button.

	Store		procedure Store( var S : TStream ) ; virtual ;

			Stores the Speed button on a stream.

	Load		constructor Load( var S : TStream ) ;

			Loads the Speed button from a stream.

	WMLButtonDown	procedure WMLButtonDown( var Msg : TMessage ) ;
			    virtual wm_First + wm_LButtonDown ;

			Handles processing of WM_LButtonDown messages.

	WMLButtonUp	procedure WMLButtonUp( var Msg : TMessage ) ;
			    virtual wm_First + wm_LButtonUp ;

			Handles processing of WM_LButtonUp messages.

Description:

	This object defines buttons for speedbars.

TSpeedButton_Record					Ribbons
							Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	ID		Integer			Menu ID to use when clicked.
	P_Up		PChar			Up position bit map.
	Help_Text	PChar			Hint text.
	X		Integer			X position on speed bar.
	Height		Integer			Height of button, in pixels.
	Width		Integer			Width of button, in pixels.
	Next		PSpeedButton_Record	Link to next button.
	Frame		Boolean			True to notify frame when
						clicked.

Description:

	This record defines the properties of a Speed Button.

TSpeller						SpellCHK
							DOS, DPMI, Windows

Type: object

Private fields:

	Name		Type				Description
	----		----				-----------
	Max_Offsets	array[ 0..Max_Word_Set ] of	Max offsets in Word_Sets
			integer
	Word_Set_Count	integer				How many sets of words
							defined.
	Word_Sets	array[ 0..Max_Word_Set ] of	Defined word sets.
			PString_Array
	Sorted		array[ 0..Max_Word_Set ] of	True if corresponding
			boolean				word set is sorted in
							ascending alphanumeric
							order.

Methods:

	Init		constructor Init ;

			Constructs the object.

	Done		destructor Done ;

			Destructs the object.

	Add_Word	procedure Add_Word( Set : integer ; Word : string ) ;

			Adds the specified word to the end of the specified
			word set.  This clears the Sorted flag for this set.

	Check		function Check( X : string ) : boolean ;

			Returns true if the specified word is found in any
			defined word set.

	Define_Set	procedure Define_Set( X : string ) ;

			The file specified in X is opened and read into the
			next available word set.  The file format is required
			to be one word per line with no blank lines.  Although
			not required, if the file is in ascending alphanumeric
			order, corresponding calls to Check will operate an
			average of 10 times faster than with an unsorted set.
			Note that no string may contain an ASCII 255 or may
			exceed 253 characters in length.

	Is_Word		function Is_Word( X : string ) : boolean ;

			Returns true if the passed string qualifies as a
			word.

Description:

	This object provides a way of checking strings with a pre-defined
set of strings.  This can be used for spell-checkers.  The Check routine will
run faster with fewer word sets, given the same number of words.  It will
also run faster with fewer words.

TSR							TSRS
							DOS, DPMI, Windows

Type: Procedure

Parameters: None

Description:

	Use in place of Turbo Pascal's KEEP procedure.  It frees the
environment and keeps the size of the TSR in memory smaller than KEEP.  Note
that this function does nothing in Windows.

TStack

Type: object( TSArray )

Methods:

	constrcutor Init( Cnt, Size : word ; Flag : boolean ) ;

		Constructs a static stack with the specified number of elements
		of the specified size.  The flag is true if the elements are
		objects.  In this case, the size must be 4.  Objects are
		destructed when the stack is destructed.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified ZERO-based offset into the
		specified buffer.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places data from the specified buffer into the specified
		ZERO-based offset.

	function Empty : boolean ; virtual ;

		Returns true if the stack has nothing in it.

	procedure Get( Offset : integer ; var Data ) ; virtual ;

		Places the data from the specified ZERO-based offset into the
		specified buffer.

	procedure Pop( var Data ) ; virtual ;

		Pops the data fro the stack to the specified buffer.

	procedure Push( var Data ) ; virtual ;

		Pushes the data from the specified buffer onto the stack.

	procedure Put( Offset : integer ; var Data ) ; virtual ;

		Places data from the specified buffer into the specified
		ZERO-based offset.

	procedure Top( var Data ) ; virtual ;

		Returns the data from the top of the stack to the specified
		buffer.

Description:

	This defines an abstract stack object.

TTable							Tables
							DOS, DPMI, Windows

Type: object

Fields:

	Name		Type			Description
	----		----			-----------
	Minimum_Heap	Longint			Unused.
	Root		PTable_Record		Root of table tree.

Methods:

	constructor Init( MinFree : Longint ) ;

		This constructs the object.  0 should always be passed.

	destructor Done ;

		Destructs the object.

	procedure Find_Table( Table : Longint ; Inp : String ;
	    var Current : PTable_Record ) ;

		Returns the table entry for the specified table in the
		specified file.  The table is loaded if it is not in memory.

	procedure Free_Memory ;

		Frees first entry in table list.  Repeated calls to this
		routine will free all memory for this object.

	function Generate_Entry( Table : Longint; Inp : String ) : String ;

		Generates a random entry for the specified table from the
		specified file and returns the entry text.

	function Get_Entry( Table, Ent : Longint; Inp : String ) : String ;

		Returns the text for the specified entry from the specified
		table for the specified file.

Description:

	This object defines a collection of selection tables.  Each selection
table has a numeric ID.  Within each table are one or more entries which contain
text plus a range.  This is typically used to generate random values.  Tables
may reference other tables.  The format of a table in a source file is as
follows:

ID	comment
Selection equation
range	text
.
.
.

where "ID" is the table ID.  This must be the only item on the line or else it
must be immediately followed by a tab character.  Following the tab character
can be comment text, which is ignored by the object.  "Selection equation" is
an equation which defines how a random value is to be generated.  The generated
random value is then used to select one entry.  Equations are discussed in the
following paragraphs.  "range" is one value, or two values separated by a dash
(-), which indicates a range of values (inclusive).  The random value from the
selection equation is used to select one of these entries based on the range
for the entry.  Immediately following the range must be a tab character and
then the text which is to be returned for this entry.  If the text begins with
an at-sign (@), the following number is used as the table to redirect to.  The
object will go to the new table, generate a new number, and return the value
from there.  Tables can be nested to any depth, including recursively.  Finally,
a table can be aliased, such that any access to the table is redirected to
another table.  This is done by defining the table with no entries or selection
equation.  In place of the selection equation is an at-sign and the alias table
number.  A table's entries end with a blank line.

Example tables:

1	Example table 1
1d100
1-50	50%
51-75	25%
76-90	15%
91-100	10%

2	Example table 2 - alias for table 1
@1

3	Example table 3
1d3
1	@1
2	@2
3	@3

Equations can have the following format:

	Operator	Description
	--------	-----------
	-		Subtraction (or unary minus).
	+		Addition (or unary plus).
	/		Division
	*		Multiplication
	!		Factorial
	%		Percentage
	^		Exponentiation
	REM		Division remainder only
	MOD		Modulus division
	MIN		Return left side value if greater than the right side
			value, otherwise, return the right side value
	MAX		Return left side value if less than the right side
			value, otherwise, return the right side value

	Constant name		Description
	-------------		-----------
	PI			3.14159265...

	Trigonometric function	Description
	----------------------	-----------
	TAN			Tangent
	SIN			Sine
	COS			Cosine
	SEC			Secant
	COT			Cotangent
	CSC			Cosecant

	ARC and Hyperbolic functions are available by prefixing the
	trigonometric function name with "ARC", "HYP", or "HYPARC".

	Function name		Description
	-------------		-----------
	ABS			Absolute value
	DEG			Radian to degree conversion
	EXP			Constant E raised to the specified power
	FIB			Fibonacci sequence
	INT			Integer
	LOG			Natural logrithm
	LOG10			Common logrithm
	RAD			Degree to radian conversion
	RND			Random number between 0 and the specified value.
	SGN			Sign (returns -1 if negative, 1 if positive, or
				0 if 0)
	SQR			Square root

  Numeric values may be integers, reals, or randoms.  Integers are values with
no decimal point.  They may be positive or negative.  Reals are like integers
except that they can be fractional by using a decimal place.  Reals may also be
specified in E-notation.  The form is: nEsd
where "n" is an integer value, "s" is an optional sign (+ or -), and "d" is an
integer.  If "s" is omitted, it defaults to "+".  "n" is multiplied by 10 to the
power of "d" to give the value of the whole specification.
  Randoms are specified as nDr
where "n" is a number and "r" is an integer.  This evaluates to an integer value
equal to the sum of "n" random numbers between 1 and r, inclusive.  For example,
"2D6" is equivalent to "RND(5)+1 + RND(5)+1".

TTable_Record						Tables
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Table_ID	Longint			Table ID number.
	Roll		PChar			Random selection equation.  This
						equation is used to select one
						entry from this table.  The
						result is compared to the high
						and low range for each entry
						record until a match is found.
	Indirection	Integer			Table to redirect to; 0 if none.
	First_Entry	PEntry_Record		Pointer to first entry record
						for this table.
	Next		PTable_Record		Pointer to next table header
						record.

Description:

	This record defines a selection table header.

TTool							WINSTD
							Windows

Type: object(TCheckBox)


Fields:

		Name		Type			Description
		----		----			-----------
		Buttons		PTool_Record		Pointer to a button
							definition record.

Methods:


		constructor Init( AParent : PWindowsObject;
                     AnID : Integer; ATitle : PChar; X, Y, W, H : Integer;
                     AGroup : PGroupBox; ATool : PTool_Record ) ;

			Constructs a TTool object with the specified parent,
			control ID, Text, X and Y positions, Width, Height,
			group assignment and tool definition.


		procedure SetupWindow ; virtual ;

			Performs TTool setup.


		procedure SetS( var Msg : TMessage ) ; virtual
                     wm_First + bm_SetState;

			Handle the BM_SetState message.


		procedure WMLButtonUp( var InMsg : TMessage ) ; virtual
                     wm_First + wm_LButtonUp;

			Handle Left Button up messages for tool.


		procedure WMLButtonDblClk( var Msg : TMessage ) ; virtual
                     wm_First + wm_LButtonDblClk;

			Handles Left Button double-clicks for tool.


		procedure Paint( DC : HDC; var PaintInfo : TPaintStruct ) ;
                     virtual ;

			Paints the tool.


		procedure WMPaint( var Msg : TMessage ) ;
                     virtual wm_First + wm_Paint;

			Responds to the WM_Paint message by calling the Paint
			method.

Description:

	This object defines a general tool, usually a button.

TTool_Box						ToolBox.H
							C++ Windows

Type: class TTool_Box : public TFloatingFrame

Methods:

	TTool_Box( TWindow* parent, char* title = 0, TWindow* clientWnd = 0,
	    TModule* module = 0 ) ;

		Constructs the object with the specified parent, caption,
		clientwindow, and module.

Private methods:

	void SetupWindow() ;

		Sets up the window.


	void CleanupWindow() ;

		Cleans up resources used by the window.


	void EvClose() ;

		Responds to WM_CLOSE message to close the window.

Description:

	This class implements a tool box object which is the same as the
TFloatingFrame, but uses TXButtonGadgets for the buttons.

TTool_Record						WINSTD
							Windows

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Ptr		PTool			Pointer to button object.
	ID		Integer			Button control ID.
	Up		String			Bitmap for button in "up"
						position.
	Down		String			Bitmap for button in "down"
						position.
	Row		Integer			Relative button row.
	Column		Integer			Relative button column.
	State		Boolean			State of button.
	Next		PTool_Record		Pointer to next tool.

Description:

	This record defines a tool button item within a list of tools for a
TToolbox object.

TToolBox						WINSTD
							Windows

Type: object(TDialog)

Fields:

		Name			Type		Description
		----			----		-----------
		Buttons			PTool_Record	List of buttons.
		Last_Selected		Integer		Last selected button ID.
		Selection_Message	Word		Selection message to
							send to parent.
		Rows			Integer		Size of toolbox in rows.
		Columns			Integer		Size of toolbox in
							columns.

Methods:

		constructor Init( AParent : PWindowsObject;
		    ATitle : PChar; ATool : PTool_Record;
		    Selection : Word ) ;

			Constructs a toolbox object with the specified parent,
			title (ignored), list of tools, and the currently
			selected tool, by command.


		procedure SetUpWindow ; virtual ;

			Sets up the toolbox window.


		procedure WMCommand( var Msg : TMessage ) ; virtual
		    wm_First + wm_Command ;

			Handles WM_Command messages for the toolbox.

Description:

	This object defines a toolbox.  Toolboxes consist of one or more rows of
buttons which are mutually exclusive and act as check boxes.

TToolbox						Ribbons
							Windows

Type: object( TWindow )

Fields:

	Name		Type			Description
	----		----			-----------
	StatusLine	PWindowsObject		Pointer to status line window.

Methods:

	Init	 	constructor Init( AParent : PWindowsObject ;
			    AStatusLine : PWindowsObject ) ;

			Constructs a toolbox window.

	GetClassName	function GetClassName : PChar ; virtual ;

			Returns class name for toolbox window.

	GetWindowClass	procedure GetWindowClass( var WndClass : TWndClass ) ;
			    virtual;

			Returns class information for the toolbox.

	AddATool	procedure AddATool( AnID : Word ; ABitMap : PChar ) ;

			Adds a tool to the toolbox with the specified bitmap.

	WMDrawItem	procedure WMDrawItem( var Msg : TMessage ) ;
		            virtual wm_First + wm_DrawItem ;

			Responds to the WM_DrawItem message.

	WMSetFocus	procedure WMSetFocus( var Msg : TMessage ) ;
		            virtual wm_First + wm_SetFocus;

			Responds to the WM_SetFocus message.

	WMCommand	procedure WMCommand( var Msg : TMessage ) ;
		            virtual wm_First + wm_Command ;

			Responds to the WM_Command message.

Description:

	This defines a toolbox window object.

TToolButton						Ribbons
							Windows

Type: object( TButton )

Fields:

	Name		Type			Description
	----		----			-----------
	BMP		hBitmap			Bitmap handle for button image.
	Width		Word			Width of button, in pixels.
	Height		Word			Height of button, in pixels.

Methods:

	Init		constructor Init( AParent : PWindowsObject ;
			    AnID : Integer ; x, y : Integer ;
			    ABitMap : PChar ) ;

			Constructs the button object with the specified ID,
			position, and bitmap.

	Done		destructor Done ; virtual ;

			Destructs the button object.

	GetClassName	function GetClassName : PChar ; virtual ;

			Returns the button class name.

	WMLButtonDown	procedure WMLButtonDown( var Msg : TMessage ) ;
			    virtual wm_First + wm_LButtonDown ;

			Responds to WM_LButtonDown messages.

	WMLButtonUp	procedure WMLButtonUp( var Msg : TMessage ) ;
			    virtual wm_First + wm_LButtonUp ;

			Responds to WM_LButtonUp messages.

Description:

	This object defines buttons for ToolBoxes.

TTree

Type: Object( TObject )

Methods:

	constructor Init( Size, Key : word ; Flag : boolean ) ;

		Constructs the object with elements of the specified size.  Flag
		is True if the elements are object pointers.  In this case, the
		Size must be 4.  Objects stored in the array are destroyed when
		the array object destructs.


	destructor Done; virtual ;

		Destructs the object.


	procedure Add( var Data ) ; virtual ;

		Adds the node in the specified buffer to the tree.


	function Empty : boolean ; virtual ;

		Returns True if the tree is empty.


	procedure Tree_Delete( Index : Tree_Pointer ) ; virtual ;

		Deletes the specified node from the tree.


	function Tree_Find( var Key ) : Tree_Pointer; virtual ;

		Returns a pointer to the node which has the specified key.
		Returns nil if not found.


	function Tree_First : Tree_Pointer; virtual ;

		Returns a pointer to the node with the lowest key value.


	procedure Tree_Get( Index : Tree_Pointer; var Data ) ; virtual ;

		Copies the specified node into the specified buffer.


	function Tree_Last : Tree_Pointer; virtual ;

		Returns a pointer to the node with the highest key value.


	function Tree_Next( Index : Tree_Pointer ) : Tree_Pointer; virtual ;

		Returns a pointer to the node with the next key from the
		specified node.  Nil is returned if at the last item in the
		tree or if the tree is empty.


	function Tree_Previous( Index : Tree_Pointer ) : Tree_Pointer; virtual ;

		Returns a pointer to the node with the previous key from the
		specified node.  Nil is returned if at the first item in the
		tree or if the tree is empty.


	procedure Tree_Prune( Index : Tree_Pointer ) ; virtual ;

		Deletes the specified node, and its subtree.


	procedure Tree_Put( Index : Tree_Pointer; var Data ) ; virtual ;

		Copies the specified buffer into the specified node.


Description:

	Defines an abstract tree object.  Calling these methods will result in
	an error.  You must create a descendant and override them.

TVArray

Type: Object( TArray ) 

Fields:

	Name		Type			Description
	----		----			-----------
	Element_Count	Word			Number of elements in array.
	Element_Size	Word			Size of elements in array.
	Image		File			Array image file.
	Start		Longint			Starting position in file.
	Storing_Objects	Boolean			True if storing objects.

Methods:

	constructor Init( Cnt, Size, Strt : word ; Flag : boolean ; Nam : string ) ;

		Constructs the object with the specified number of elements of
		the specified size.  Strt is the beginning offset of the array
		in the file.  Nam is the name of the file.  Flag is True if the
		elements are objects.  In this case, Size must be 4.  Objects
		are destructed when the array is destructed.

	destructor Done; virtual ;

		Destructs the object.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified element into the specified
		buffer.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places data from the specified buffer into the specified
		element.

Description:

	Standard virtual array object.

TVStack

Type: Object( TVArray )

Methods:

	constructor Init( Cnt, Size, Strt : word ; Flag : boolean ;
	    Nam : string ) ;

		This constructs the object with the specified count of elements
		of the specified size.  Nam is the name of the file to store
		the stack in.  Strt indicates the file offset where the stack
		is to begin.  Flag is True if the stack stores objects.  In this
		case, Size must be 4.  Objects are destructed when the stack
		is destructed.

	procedure Array_Get( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified offset into the specified
		buffer.

	procedure Array_Put( Offset : word ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specfied
		offset.

	function Empty : boolean ; virtual ;

		Returns True if the stack is empty.

	procedure Get( Offset : integer ; var Data ) ; virtual ;

		Places data from the specified offset into the specified
		buffer.

	procedure Pop( var Data ) ; virtual ;

		Pops the top of the stack into the specified buffer.

	procedure Push( var Data ) ; virtual ;

		Pushes data from the specified buffer onto the stack.

	procedure Put( Offset : integer ; var Data ) ; virtual ;

		Places data from the specified buffer into the specified
		offset.

	procedure Top( var Data ) ; virtual ;

		Places the top of the stack into the specified buffer.

Description:

	Abstract virtual stack object.

TFile							Files
							DOS, DPMI, Windows
							Delphi

Type: object( Tobject )

Fields:

	Name		Type			Description
	----		----			-----------
	File_Rec	File_Record		DOS file record for access.
	Text_Buffer	array[ 0..127 ] of char	Default buffer for text
						files.
	Text_File	Boolean			True if a text file, false
						if record-oriented.
	Record_Size	Word			Size of records in file.
	IO_Error	longint			Error code of last operation.
						0 indicates success.  See
						FSErr_* for details.
	Extendable	boolean			True if file can be
						extended when more space is
						needed.
	Handle		integer			Windows file handle.
	Nam		string			File name.
	Position	integer			Current position.

Methods:

	Init		constructor Init( Tf : Boolean ; Size : Word ) ;

			Initalizes the file object as a Text or Nontext file,
			with the specified record size.

	Done		destructor Done ; virtual ;

			Destructs the file object.

	Append		procedure Append( Name : String ) ; virtual ;

			Opens the specified file in append mode.

	Blockread	procedure Blockread( var Buf ; Count : Word ; var Result : Word ) ; virtual ;

			Reads a block from the file into the specified buffer.
			The number of bytes to read is specified.  Result is an
			error code.

	Blockwrite	procedure Blockwrite( var Buf ; Count : Word ; var Result : Word ) ; virtual ;

			Writes a block to the file from the specified buffer.
			The number of bytes to write is specified.  Result is an
			error code.

	Close		procedure Close ; Virtual ;

			Closes the file after flushing its buffer.

	EOF		function Eof : boolean ; virtual ;

			Returns true if positioned at the end of file.  False
			otherwise.

	EOLN		function Eoln : boolean ; virtual ;

			Returns true if positioned at the end of line.  False
			otherwise.

	Erase		procedure Erase( Name : String ) ; virtual ;

			Deletes the specified file.

	Filepos		function Filepos : longint ; virtual ;

			Returns the current record offset within the file.

	Get_Size	function Get_Size : longint ; virtual ;

			Returns the current size of the file, in records.

	Initialize	procedure Initialize ; virtual ;

			Initializes file by rewriting it.

	Set_Extend	procedure Set_Extend( State : boolean ) ; virtual

			Sets the file to extendable (true) or non-extendable
			(false).

	Set_Size	procedure Set_Size( New_Size : longint ) ; virtual ;

			Sets the size of the file, either expanding or
			truncating it.  If New_Size is -1, the file is
			truncated to the current file position.

	Flush		procedure Flush ; virtual ;

			Flushes the file buffer.

	GetfAttr	procedure Getfattr( Name : String ; var Attr : Word ) ; virtual ;

			Returns the attributes for the specified file.

	GetFTime	procedure Getftime( var Time : Longint ) ; virtual ;

			Returns the creation date/time for the specified file.

	Read		procedure Read( var Buffer ) ; virtual ;

			Reads a record into the buffer.

	Readln		procedure Readln( var Buffer : String ) ; virtual ;

			Reads a line into the buffer.

	Rename		procedure Rename( Old, New : String ) ; virtual ;

			Renames a file.

	Reset		procedure Reset( Name : String ) ; virtual ;

			Opens the specified file for reading.

	Rewrite		procedure Rewrite( Name : String ) ; virtual ;

			Creates and opens the specified file.  If the passed
			name is null, the current file is erased and the
			file pointer is set to the beginning of the file.

	Seek		procedure Seek( Position : Longint ) ; virtual ;

			Positions the file pointer to the specified record
			offset.

	SeekEOF		function Seekeof : Boolean ; virtual ;

			Positions the file pointer to the end of the file.

	SeekEOLN	function Seekeoln : Boolean ; virtual ;

			Positions the file pointer to the end of the current
			line.

	SetFAttr	procedure Setfattr( Name : String ; Attr : Word ) ; virtual ;

			Sets the file attributes for the specified file.

	SetFTime	procedure Setftime( Time : Longint ) ; virtual ;

			Sets the file date/time for the specified file.

	SetTextBuf	procedure Settextbuf( var buf ; size : Word ) ; virtual ;

			Defines the file buffer.

	Write		procedure Write( var Buffer ) ; virtual ;

			Writes a record from the specified buffer to the file.

	Writeln		procedure Writeln( Buffer : String ) ; virtual ;

			Writes a line from the specified buffer to the file.

Description:

	This object implements a Windows file.

TWord_Array						Types
							DOS, DPMI, Windows

Type: Array of word

Description:

	This defines an array of words with as many words as an array can
contain.

TXButtonGadget						Toolbox.H
							C++ Windows

Type class TXButtonGadget : public TButtonGadget

Private fields:

	Name		Type			Description
	----		----			-----------
	DIB		TDib*			Bitmap object for button.
	Width		int			Display width of button.
	Height		int			Display height of button.

Methods:

	TXButtonGadget( TResId bmpResId, int id, TType type, BOOL enabled,
	    TState state, BOOL repeat, int width, int height ) ;

		Constructs the object with the specified bitmap, ID, type,
		state, width, and height.


	TDib* GetGlyphDib() ;

		Returns the bitmap for this button.

Description:

	This object implements a button for a gadget window.  It is the same
as the TButtonGadget object except that it stretches or shrinks the bitmap to
fit in the specified width and height.

TXStatusBar						StatusBa.H
							C++ Windows

Type: class TXStatusBar : public TStatusBar

Methods:

	TXStatusBar( TWindow* parent )

		Constructs the object with the specified parent.


Protected Methods:

	void PaintGadgets( TDC& dc, BOOL erase, TRect& rect )

		Paints the gadgets on the status bar.

Description:

	This class implements a status bar based on TStatusBar.  Hints are
shown over the status bar when active.

Unmap_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Unmap_Window( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to unmap.

Description:

	This procedure removes a window from the screen.

Unmap_Window						SMU.H
							C

Type: void

Call format: Unmap_Window( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to unmap.

Description:

	This procedure removes a window from the screen.

Update							Lib
							DOS, DPMI, Windows

Type: Procedure

Call format: Update ;

Parameters: None

Description:

	Update library header with current date/time for change.

Update							LIB.H
							C

Type: void

Call format: Update() ;

Parameters: None

Description:

	Update library header with current date/time for change.

Update_Screen						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Update_Screen ;

Parameters: None

Description:

	Update all windows on the screen, applying all pending changes.

Update_Screen						SMU.H
							C

Type: void

Call format: Update_Screen() ;

Parameters: None

Description:

	Update all windows on the screen, applying all pending changes.

Update_Window						SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Update_Window( Window ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window		Window_Pointer		Window to update.

Description:

	This procedure updates the specified window, applying all pending
changes to the screen (if mapped).

Update_Window						SMU.H
							C

Type: void

Call format: Update_Window( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to update.

Description:

	This procedure updates the specified window, applying all pending
changes to the screen (if mapped).

Valid_Base						CVT
							DOS, DPMI, Windows

Type: Boolean function

Call format: B := Valid_Base( Value, Base ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Value		String			Value to validate.
	Base		Integer			Base to validate for.

Description:

	This function determines whether or not a string of characters is valid
for a specific base.  If not, false is returned.  If valid, true is returned.
Valid bases to check for are zero (0) through 49.

Valid_Base						CLIB.H
							C

Type: int

Call format: I = Valid_Base( Value, Base ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Value		char*			Value to validate.
	Base		int			Base to validate for.

Description:

	This function determines whether or not a string of characters is valid
for a specific base.  If not, false is returned.  If valid, true is returned.
Valid bases to check for are zero (0) through 49.

Variables						Evals
							DOS, DPMI, Windows

Type: array[ 0..1, 0..25 ] of extended ;

Description:

	This array defines the variables used by the Eval expression analyzer.
Variable "A" is offset 0 (second subscript), "Z" is 25.  The first subscript is
0 for the real part, and 1 for the imaginary part.

Virtual_Array

Type: Object( TVArray )

Fields:

	Name		Type			Description
	----		----			-----------
	High		Word			High bounds for array.
	Low		Word			Low bounds for array.

Methods:

	constructor Init( LBound, UBound : integer ; Size, Strt : word ;
	    Flag : boolean ; Nam : string ) ;

		Constructs the array object with the specified upper and lower
		bounds, with the specified element size.  Strt indicates the
		starting position of the array within the file.  Nam is the name
		of the file where the array is stored.  Flag is True to
		indicate that objects are stored in the array.  In this case,
		size must be 4.  Objects are destructed when the array is.

	procedure Get( Offset : integer ; var Data ) ; virtual ;

		Places the data from the specified element offset (zero-based)
		into the specified buffer.

	procedure Put( Offset : integer ; var Data ) ; virtual ;

		Places the data from the specified buffer into the specified
		element offset (zero-based).

Description:

	Virtual array object.

Virtual_Stack

Type: Object( TVStack ) 

Fields:

	Name		Type			Description
	----		----			-----------
	Stack_Top	Word			Top of stack element.

Methods:

	constructor Init( Cnt, Size, Strt : word ; Flag : boolean ;
	    Nam : string ) ;

		Constructs a virtual stack object with the specified number of
		elements of the specified size.  Nam is the file which stores
		the stack and Strt is the starting offset of the stack within
		the file.  Flag is True if the stack stores objects.  In this
		case, Size must be 4.  Objects are destructed when the stack is.

	function Empty : boolean ; virtual ;

		Returns True if the stack is empty.

	procedure Pop( var Data ) ; virtual ;

		Pops data from the stack into the specified buffer.

	procedure Push( var Data ) ; virtual ;

		Pushes data from the specified buffer onto the stack.

	procedure Top( var Data ) ; virtual ;

		Places the data from the top of the stack into the specified
		buffer.

Description:

	This defines a virtual stack object.

Volume_Header						Backups
							DOS, DPMI, Windows

Type: Record

Fields:

	Name		Type		Description
	----		----		-----------
	Saveset		String[ 12 ]	Name of saveset.
	Version		Integer		Version of saveset.
	Volume		Integer		Volume of saveset.
	Date_Y		Word		Date of saveset, year.
	Date_M		Word		Date of saveset, month.
	Date_D		Word		Date of saveset, day of month.
	Expire_Y	Word		Volume expiration date, year.
	Expire_M	Word		Volume expiration date, month.
	Expire_D	Word		Volume expiration date, day of month.
	Filler				15 bytes of filler.

Description:

	This record defines the format of an XBACKUP Volume header.

WC_Match						XLate
							DOS, DPMI, Windows

Type: Boolean function

Call format: WC_Match( Wildcard, Filename ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Wildcard	String			Wildcard to match against.
	Filename	String			Filename to match.

Description:

	Compare a filename and a wildcard specification and return TRUE if a
match.

Wc_Match						CLIB.H
							C

Type: int

Call format: I = Wc_Match( Passed_Wildcard, Passed_Filename ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Wildcard	char*			Wildcard to match against.
	Filename	char*			Filename to match.

Description:

	Compare a filename and a wildcard specification and return TRUE if a
match.

WC_XLate						XLate
							DOS, DPMI, Windows

Type: String function

Call format: WC_XLate( Reference, Filename, Wildcard ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Reference	String			Input wildcard.
	Filename	String			Name of source file.
	Wildcard	String			Destination wildcard
						specification.

Description:

	Translate a wildcard specification and an input file to an output spec.
This is typically used when coping wildcard files to another wildcard.  The
filename is a file which matches the input wildcard.

Wc_Xlate						CLIB.H
							C

Type: char*

Call format: S = Wc_Xlate( Passed_Reference, Passed_Filename, Passed_Wildcard ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Reference	char*			Input wildcard.
	Filename	char*			Name of source file.
	Wildcard	char*			Destination wildcard
						specification.

Description:

	Translate a wildcard specification and an input file to an output spec.
This is typically used when coping wildcard files to another wildcard.  The
filename is a file which matches the input wildcard.

Wind							Weather

Type: Real function

Call format: R := Wind( Speed, Temperature ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Speed		Real			Wind speed (MPH)
	Temperature	Real			Ambient temperature (Farenheit)

Description:

	This function returns the Wind Chill Factor for a given wind speed and
ambient temperature.

Wind							CLIB.H
							C

Type: double

Call format: D = Wind( Speed, Temperature ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Speed		double			Wind speed (mph)
	Temperature	double			Ambient temperature (Farenheit)

Description:

	This function returns the Wind Chill Factor for a given wind speed and
ambient temperature.

Window							SMU
							DOS, DPMI, Windows
							Delphi

Type: Record

Fields:

	Name		Type			Description
	----		----			-----------
	Level		Integer			Display level of window.
	Attribute	Byte			Current default attribute value.
	Rows		Integer			Number of rows in window.
	Columns		Integer			Number of columns in window.
	Map_Row		Integer			Row on physical screen for
						upper row of window.
	Map_Column	Integer			Column on physical screen for
						left column of window.
	Map_Rows	Integer			Number of rows used on screen
						for window.
	Map_Columns	Integer			Number of columns used on
						screen for window.
	View_Row	Integer			Row of window visible at top
						of view port.
	View_Column	Integer			Column of window visible at
						left of view port.
	Position_Row	Integer			Current cursor row position
						in window.
	Position_Column	Integer			Current cursor column position
						in window.
	Low_Update	Integer			Low offset of region needing
						screen update in window.
	High_Update	Integer			High offset of region needing
						screen update in window.
	Size		Integer			Window size in bytes (columns
						times rows).
	Flags		Integer			Window flags:
						    AND   1 = No scroll -
							      vertical wrap
						    AND   2 = 100% occluded
						    AND   4 = No wrap
						    AND   8 = No auto-update
						    AND  16 = 100% unoccluded
						    AND  32 = Cursor is disabled
							      in this window
						    AND  64 = Graphics window
						    AND 128 = NCM on input
						    AND 256-32768 = reserved
	Data_Pointer	Window_Def_Pointer	Pointer to window data.
	Attribute_Pointer Window_Def_Pointer	Pointer to window attributes.
	Next_Window	Window_Pointer		Pointer to next screen in list.
	Id		Integer			Window ID.

Description:

	This defines the data for an SMU window.

Window							SMU.H
							C

Type: struct

Fields:

	Name		Type			Description
	----		----			-----------
	Level		int			Level of window.
	Attribute	short int		Current attribute value.
	Rows		short int		Window row count.
	Columns		short int		Window column count.
	Map_Row		short int		Top row of window on screen.
	Map_Column	short int		Left row of window on screen.
	Map_Rows	short int		Number of rows mapped.
	Map_Columns	short int		Number of columns mapped.
	View_Row	short int		Top row of window visible.
	View_Column	short int		Left column of window visible.
	Position_Row	short int		Current character row.
	Position_Column	short int		Current character column.
	Low_Update	int			Offset of first character which
						needs to be updated on screen.
	High_Update	int			Offset of last character which
						needs to be updated on screen.
	Size		int			Window size (in bytes).
	Flags		int			Flags for window:
						    &   1 = No scroll - vertical
							    wrap
						    &   2 = 100% occluded
						    &   4 = No wrap
						    &   8 = No auto-update
						    &  16 = 100% unoccluded
						    &  32 = Cursor is disabled
							    in this window
						    &  64 = Graphics window
						    & 128 = NCM on input
						    & 256-32768 = reserved
	Data_Pointer	char*			Pointer to window data.
	Attribute_Pointer char*			Pointer to window attributes.
	Next_Window	Window*			Pointer to next screen in list.
	Id		int			Window ID.

Description:

	This structure defines an SMU window.

Window_Def						SMU
							DOS, DPMI, Windows
							Delphi

Type: Record

Fields:

	Name		Type				Description
	----		----				-----------
	Bytes		Array[ 0..32767 ] Of Byte	Byte representation
							of window data.  This
							overlays the Chars
							array.
	Chars		Array[ 0..32767 ] Of Char	Char representation of
							window data.  This
							overlays the Bytes
							array.

Description:

	This record defines the image data for a window.

Window_Def_Pointer					SMU
							DOS, DPMI, Windows
							Delphi

Type: ^Window_Def ;

Description:

	This defines a pointer to a Window_Def record.

Window_Input_Line					SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Window_Input_Line( Window_P, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to direct input echo to.
	Flags		Integer			Input flags: 0 = normal
							     128 = CR allowed.

Description:

	This procedure reads a line of input and echoes it to the specified
window.  The input is stored in KB_Buffer.  This does not store the input in
the window history list.  Generally, Window_Read should be used.

Window_Input_Line					SMU.H
							C

Type: void

Call format: Window_Input_Line( Window_P, Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window*			Window to direct input echo to.
	Flags		int			Input flags: 0 = normal
							     128 = CR allowed.

Description:

	This procedure reads a line of input and echoes it to the specified
window.  The input is stored in KB_Buffer.  This does not store the input in
the window history list.  Generally, Window_Read should be used.

Window_Mapped						SMU
							DOS, DPMI, Windows
							Delphi

Type: Boolean function

Call format: B := Window_Mapped( Window_P ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_P	Window_Pointer		Window to check.

Description:

	Returns true if window is mapped to the screen, false otherwise.

Window_Mapped						SMU.H
							C

Type: int

Call format: I = Window_Mapped( Window_Pointer ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Window_Pointer	Window*			Window to check.

Description:

	Returns non-zero if window is mapped to the screen, zero otherwise.

Window_Output						SMU.H
							C

Type: void

Call format: Window_Output( Buffer ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Buffer		char*			Buffer to output.

Description:

	Outputs the contents of the specified buffer to the current location on
the screen.

Window_Pointer						SMU
							DOS, DPMI, Windows
							Delphi

Type: ^Window ;

Description:

	This defines a pointer to a Window record.  This pointer type is
used to reference all SMU windows.

Window_Read						SMU
							DOS, DPMI, Windows
							Delphi

Type; Procedure

Call format: Window_Read ;

Parameters: None

Description:

	This procedure reads a line of input and echoes it to the current
window.  This is equivalent to a Window_Read_Input( 0 ).

Window_Read						SMU.H
							C

Type: void

Call format: Window_Read() ;

Parameters: None

Description:

	This procedure reads a line of input and echoes it to the current
window.  This is equivalent to a Window_Read_Input( 0 ).

Window_Read_Input					SMU
							DOS, DPMI, Windows
							Delphi

Type: Procedure

Call format: Window_Read_Input( Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Flags		Integer			0 = normal.
						128 = Don't allow CR.

Description:

	This procedure reads a line of input and echoes it to the current
window.

Window_Read_Input					SMU.H
							C

Type: void

Call format: Window_Read_Input( Flags ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	Flags		int			0 = normal.
						128 = Don't allow CR.

Description:

	This procedure reads a line of input and echoes it to the current
window.

Window_Record						SMU
							DOS, DPMI, Windows
							Delphi

Type: Record ;

Fields:

	Name		Type			Description
	----		----			-----------
	Pointer		Window_Pointer		Pointer to a window.
	Id		Byte			Window's ID.

Description:

	Used to store a window state.

Window_Record						SMU.H
							C

Type: struct

Fields:

	Name		Type			Description
	----		----			-----------
	Pointer		Window*			Pointer to window record.
	Id		short int		Window's ID.

Description:

	Used to store/restore a window's state.

XRegisters						TSRS
							DOS, DPMI, Windows

Type: record

Fields:

	Name		Type			Description
	----		----			-----------
Variant:
	BP		Word			Base pointer
	ES		Word			Extra segment
	DS		Word			Data segment
	DI		Word			Destination Index
	SI		Word			Source Index
	DX		Word			DX register
	CX		Word			CX register
	BX		Word			BX register
	AX		Word			AX register
	SS		Word			Stack segment
	SP		Word			Stack pointer
	CS		Word			Code segment
	IP		Word			Instruction pointer
	Flags		Word			Processor flag word
Variant:
	Fill1a		Byte			Unused.
	Fill1b		Byte			Unused.
	Fill2a		Byte			Unused.
	Fill2b		Byte			Unused.
	Fill3a		Byte			Unused.
	Fill3b		Byte			Unused.
	Fill4a		Byte			Unused.
	Fill4b		Byte			Unused.
	Fill5a		Byte			Unused.
	Fill5b		Byte			Unused.
	DL		Byte			DL register
	DH		Byte			DH register
	CL		Byte			CL register
	CH		Byte			CH register
	BL		Byte			BL register
	BH		Byte			BH register
	AL		Byte			AL register
	AH		Byte			AH register

Description:

	Extended Registers type.

XTime							Standard
							DOS, DPMI, Windows
							Delphi

Type: String function

Call format: S := XTime ;

Parameters: None

Description:

	Returns the current time in the format: hh:mm:ss.tt am

XTime							CLIB.H
							C

Type: char*

Call format: S = XTime() ;

Parameters: None

Description:

	Returns the current time in the format: hh:mm:ss.tt am

XVal							Num1s
							DOS, DPMI, Windows
							Delphi

Type: Extended function

Call format: E := XVal( S, F ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	S		String			String to convert.
	F		var Integer		Position of error.  0 if no
						error.

Description:

	Returns a value converted from the passed string.

XVal							CLIB.H
							C

Type: long 

Call format: L = XVal( S ) ;

Parameters:

	Name		Type			Description
	----		----			-----------
	S		char*			String to convert.

Description:

	Returns a value converted from the passed string.

Year							Lib
							DOS, DPMI, Windows

Type: Integer

Description:

	This variable is used to return the year of the library creation or
modification from the librarian.

