-- file OverviewDefs
-- edited by Kierr, April 27, 1978 12:58 PM.
-- Conversion to Mesa 4.0: May 17, 1978 4:25 PM.

-- Standard abbreviations for the definitions files
-- DIRECTORY
--
ovD: FROM "OverviewDefs",
--
inD: FROM "InteractorDefs",
--
dsD: FROM "DisplayDefs",
--
opD: FROM "OperationsDefs",
--
vmD: FROM "VirtualManagerDefs",
--
mfD: FROM "MailFormatDefs",
--
crD: FROM "CoreDefs",
--
gsD: FROM "GlobalStorageDefs";
ovD: DEFINITIONS =
BEGIN
-- This file describes the overall structure of MC, and serves as a guide to other documentation. The MC program is separated into large functional units called divisions. A division is composed of departments, each of which is made up of Mesa modules. All public files of the MC system are maintained on [Maxc1]<DMS>.
-- The divisions of the MC program are:
-- Interactor Division - handles user interactions including the display, keyboard and mouse. This division gathers together commands and their arguments and is responsible for the display of all error messages.
-- Departments: TOC, DisplayedMessage, ComposedMessage, Commands, Editor, BackgroundTasks, Startup
-- Files: InteractorDefs.Mesa
-- Display Division - contains those procedures that directly use the cursor, fonts, and bitmaps.
-- Files: DisplayDefs.Mesa
-- Operations Division - performs operations on explicitly given data. This division does not interact with the user.
-- Departments: GetMail, Send, ...
-- Files: OperationsDefs.Mesa
-- Global Storage Division - the memory czar. This division provides the memory space needed by other divisions by interfacing with the Mesa runtime storage allocator.
-- Files: GlobalStorage-Div.Bravo (will soon become GlobalStorageDefs.Mesa)
-- Virtual Structures Division - manages virtual structures
-- Departments: TOC, VirtualMessage
-- Files: VirtualMgrDefs.Mesa
-- Mail Format Division - interprets message and stamp structure.
-- Files: MailFormalDefs.Mesa
-- Core Division - provides an MC interface to communication procedures such as FTP.
-- Departments: DistributedFile, Mailbox, Attachments, NameLookup
-- Files: CoreDefs.Mesa
-- Other relevant design documents are: Functions-1, Screen.Ears, MCStorage, MCDisplay, and MCEditor.
-- System-Wide Types and Constants
CharIndex: TYPE = CARDINAL;
PseudoCR: CHARACTER = 177C;
ErrorCode: TYPE = CARDINAL;
-- Error Code Registry
-- Next available ErrorCode is: 27.
-- Last ErrorCode defined was: cancelCode.
ok: ErrorCode = 0; -- success return code

-- Misc. (Somebody: Can you move these to catagories?)
storageNotAvailable: ErrorCode = 1; -- requested storage could not be obtained
notAStamp: ErrorCode = 2;
badFieldName: ErrorCode = 3; -- in a message header
badFieldBody: ErrorCode = 4; -- in a message header
badMailFile: ErrorCode = 5;

-- ErrorCodes from Vitrual Storage Manager.
tOCNotFound: ErrorCode = 6; -- VirtualizeTOC couldn’t find your file. (VirtualMgr)
notATOCFile: ErrorCode = 7; -- VirtualizeTOC didn’t like your file. (VirtualMgr)
tOCOverflow: ErrorCode = 8; -- Too many msgs. from VirtualizeTOC, ExtendTOC.
cMTooBig: ErrorCode = 24; -- Attemp to extend CM beyond cMOCharMapTableSize.

-- ErrorCodes from Operations.
cantAccessMailbox: ErrorCode = 9; -- from MailFileOps.
ftpError: ErrorCode = 10; -- from Operations
notAMailFile: ErrorCode = 11; -- from MailFileOps.
badDMSUser: ErrorCode = 12; -- Operations, user and password provided didn’t work.
messageSyntaxError: ErrorCode = 13; -- Operations, error inparsing message to be sent.
invalidRecipient: ErrorCode = 14; -- Operations, couldn’t lookup specified recipient.
mailboxBusy: ErrorCode = 15; -- Operations, attempt to connect to mail server failed for the indicated reason.
cantConnect: ErrorCode = 16; -- Operations, generic connection failure.
noMessagesMoved: ErrorCode = 17; -- Operations, AppendMailToFileOperation moved no messages.
cancelCode: ErrorCode = 26; -- Operations, generic cancelled by user.

-- ErrorCodes from Core.
diskError: ErrorCode = 18; -- An I/O data error (Core).
diskCorrupted: ErrorCode = 19; -- Disk structure is logically inconsistent; run Scavenger.
diskFull: ErrorCode = 20; -- Deleted some files and try again.
fileInUse: ErrorCode = 21; -- Attempt to open a file that has already been opened (with another UFileHandle), from OpenFile.
illegalFilename: ErrorCode = 22; -- Either (1) bad character(s) in filename, or (2) name too long. From OpenFile.
fileNotFound: ErrorCode = 23; -- Opening a non-existing file for input only. From OpenFile.
fileTooBig: ErrorCode = 25; -- Attempt to extend a file beyond max allowed (from WritePages) or to open a file that is already longer than that max (OpenFile).
-- System-Wide Procedures
SysBugSignal: SIGNAL [description: STRING];
SysBug: PROCEDURE [description: STRING];
-- To be called when an impossible situation arrises. For debugging only. description describes the error.
NotYetImplemented: PROCEDURE[description: STRING];
-- To be called by the stubs for procedures not yet implemented. For system development only. This routine causes an explanatory message to appear on the screen. The stub is to return as best it can.
LogEvent: PROCEDURE[event: STRING];
-- Logs event as having occured. The sequence of logged events is to be used by the system implementors for tuning and possibly debugging.
ReportError: PROCEDURE [error: ErrorCode, proc: STRING,
msg: STRING];
-- Another error reporting procedure, for immediate debugging purposes.
GetVersionString: PROCEDURE RETURNS [STRING];
-- Returns a pointer to the MC version number string.

END. -- of ovD --