Page Numbers: Yes First Page: 2 X: 527 Y: 10.5"
Margins: Binding: 13
Odd Heading:
Definitions and Interfaces
Even Heading: Not-on-first-page
Definitions and Interfaces
2. Definitions and Interfaces
The following list enumerates the public system modules of interest to Alto/Mesa programmers. The interface name is followed by the title of the section of this document (or other reference material) which describes the facilities the interface provides. The parenthesized names following the DEFINITIONS module identify the programs which implement that interface -- the ultimate documentation, after all.
AllocDefs (Swapper) Segment Package
Low level memory allocation functions are defined here. Complete control of segment allocation and swapping can be obtained using this interface. Many of the functions of this interface are also available through the interface SegmentDefs.
AltoDefs (Hardware) Mesa Language Manual
Contains a number of machine dependent constants describing physical characteristics of the Alto and its basic data types (bits per character, characters per word, etc.).
AltoDisplay (Hardware) Alto: A Personal Computer System; Hardware Manual
Provides a Mesa definition of the properties of the Alto display: its dimensions, Resolution, Background, the DCB chain, and the DCB format.
AltoFileDefs (BCPL) Alto Operating System Reference Manual
Defines the data structures (but not the operations) used in manipulating the Alto file system. Note that these structures are shared by several software systems running on the Alto.
AltoHardware (Hardware) Alto: A Personal Computer System; Hardware Manual
Defines most structures of the Alto hardware, including the processor, display, keyboard, mouse, keyset, printer interface, disk, and Ethernet.
Ascii (ANSI) Mesa Language Manual
Provides names for common character codes, such as SP, CR, ESC, etc. Also contains names for various control characters, ControlA, etc. These declarations are also contained in the older interface IODefs.
BitBltDefs (Hardware) Alto: A Personal Computer System; Hardware Manual
Provides a Mesa definition of the hardware BitBlt (bit boundary block transfer) operation.
CharIO (CharIOPack) StreamIO Package
A simple Teletype style I/O interface is provided by these procedures. Minimal editing and input and output conversion routines are included. Similar to IODefs except that an explicit handle must be supplied to each operation.
DirectoryDefs (Directory) Directory Package
Common operations on the Alto’s file directory are defined here; they are all based on a single primitive which enumerates entries in a directory.
DisplayDefs (SystemDisplay, DisplayControl) Display Package
Provides device-dependent operations for the display. Simple operations are implemented using the standard stream interface (see StreamDefs).
FontDefs (AlFont) Display Package
Defines a uniform interface for all font formats. It includes facilities for dynamically swapping font files.
Format (FormatImpl) Tajo Functional Specification
Defines a set of operations for converting numeric values to strings. It is not exported by Mesa.image, but does contain the definition of NumberFormat that is copied into CharIO and IODefs.
FrameDefs (Miscellaneous, Modules, Swapper, UnNewConfig) Modules
Provides low level operations on modules and their runtime representation (global frames). It includes facilities for controlling residency of a module’s code segment and for loading and unloading configurations.
FSPDefs (FSP) Storage Management
This memory allocation package provides temporary storage for small, transient data structures whose size is not known at compile time.
ImageDefs (CheckPoint, MakeImage) Image Files
Image files are used to save the state of a computation so that it can be restarted later (perhaps in a different environment). Different types of image files can be created using the procedures defined in this interface; each type makes different assumptions about the state of the environment when it is restarted.
InlineDefs (InlineDefs) Miscellaneous
Defines a set of instructions not accessible at the language level. Logical operations and some extended precision arithmetic is included.
IODefs (StreamIO) StreamIO Package
A simple Teletype style I/O interface is provided by these procedures. Minimal editing and input and output conversion routines are included.
KeyDefs (Keyboard, KeyStreams) Keyboard Package
Provides device-dependent operations for the keyboard, keyset, and mouse. Simple operations are implemented using the standard stream interface (see StreamDefs).
MiscDefs (Miscellaneous) Miscellaneous
A set of miscellaneous but useful procedures that don’t obviously belong in any of the other interfaces.
OsStaticDefs (BCPL) Alto Operating System Reference Manual
Defines information available through the Alto Operating System Swat resident.
ProcessDefs (OurProcess) Processes and Monitors
Includes a number of extensions to the language facilities for processes, monitors, and condition variables. Priorities and timeouts can be adjusted, and processes can be detached and aborted.
SegmentDefs (SegmentsA, SegmentsB, Files, Swapper) Segment and File Packages
Operations on data and file segments are contained here; this includes virtual memory management and swapping. Basic operations on files and their attributes are also included.
Storage (FSP, SegmentsB) Storage Management
Provides a simplified interface to the segment and free storage package for allocating and releasing temporary storage.
StreamDefs (KeyStreams, StreamsA, StreamsB) Disk, Display, Keyboard, and Streams Packages
Defines the operations common to all streams. It also includes some device-dependent operations unique to the disk, keyboard, and display.
StreamScan (StreamsC) Disk Streams Package
Defines operations for reading a stream at full disk speed.
StringDefs (StringsA, StringsB) String Package
A utility package for copying, comparing, and converting strings and substrings.
SystemDefs (FSP, SegmentsB) Storage Management
Provides a simplified interface to the segment and free storage package for allocating and releasing temporary storage. Most of the same functions are available through the newer interface Storage.
TimeDefs (TimeConvert) Time Package
Includes a number of procedures for converting between internal (32 bit GMT), intermediate (unpacked record) and external (string) time formats.
TrapDefs (Resident, Faults) Traps
Defines the runtime implementation of traps generated by the hardware and software.
The Alto Mesa System also implements a number of other interfaces for compatibility with other software systems. These include Inline, Process, Runtime, String, System, and Time.