mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-12-01 18:50:30 +00:00
321 lines
9.0 KiB
OpenEdge ABL
321 lines
9.0 KiB
OpenEdge ABL
{************************************************************
|
|
Connections.p
|
|
Pascal Interface to the Connection Manager
|
|
|
|
Copyright Apple Computer, Inc. 1988-1991
|
|
All rights reserved
|
|
|
|
This file is used in these builds: BigBang
|
|
|
|
Change History (most recent first):
|
|
|
|
<11> 8/28/91 CH Updated interface headers for consistency.
|
|
<10> 8/20/91 BH remove CMSetupCleanup from public interfaces
|
|
<9> 7/25/91 JL Checked in database generated file from DSG. Added
|
|
ConnectionSearchCallBackProcPtr,
|
|
ConnectionCompletionProcPtr, and ConnectionChooseIdleProcPtr and
|
|
used them to match C file.
|
|
<8> 6/25/91 JNG Finish adding 1.1 stuff
|
|
<7> 6/18/91 BH move 1.1 stuff here
|
|
<6> 3/13/91 JL MPW-ized inclusion of other files. Include files from the
|
|
shells pinterfaces variable explicitly.
|
|
<5> 1/14/91 CP Added cmStatusReserved0 bit to the flags field
|
|
<4> 6/4/90 BBH moved stuff to ConnectionsExtensions.x
|
|
<3> 4/12/90 BBH added cmUnknownError
|
|
<2> 4/12/90 BBH add cmUserCancel error code
|
|
<1> 3/14/90 BBH first checked in
|
|
|
|
To Do:
|
|
************************************************************}
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT Connections;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingConnections}
|
|
{$SETC UsingConnections := 1}
|
|
|
|
{$I+}
|
|
{$SETC ConnectionsIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingDialogs}
|
|
{$I $$Shell(PInterfaces)Dialogs.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingCTBUtilities}
|
|
{$I $$Shell(PInterfaces)CTBUtilities.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := ConnectionsIncludes}
|
|
|
|
CONST
|
|
|
|
{ current Connection Manager version }
|
|
curCMVersion = 2;
|
|
|
|
{ current Connection Manager Environment Record version }
|
|
curConnEnvRecVers = 0;
|
|
|
|
{ CMErr }
|
|
cmGenericError = -1;
|
|
cmNoErr = 0;
|
|
cmRejected = 1;
|
|
cmFailed = 2;
|
|
cmTimeOut = 3;
|
|
cmNotOpen = 4;
|
|
cmNotClosed = 5;
|
|
cmNoRequestPending = 6;
|
|
cmNotSupported = 7;
|
|
cmNoTools = 8;
|
|
cmUserCancel = 9;
|
|
cmUnknownError = 11;
|
|
|
|
TYPE
|
|
CMErr = OSErr;
|
|
|
|
CONST
|
|
|
|
{ Low word of CMRecFlags is same as CMChannel }
|
|
cmData = $00000001;
|
|
cmCntl = $00000002;
|
|
cmAttn = $00000004;
|
|
|
|
cmDataNoTimeout = $00000010;
|
|
cmCntlNoTimeout = $00000020;
|
|
cmAttnNoTimeout = $00000040;
|
|
|
|
cmDataClean = $00000100;
|
|
cmCntlClean = $00000200;
|
|
cmAttnClean = $00000400;
|
|
|
|
{ only for CMRecFlags (not CMChannel) below this point }
|
|
cmNoMenus = $00010000;
|
|
cmQuiet = $00020000;
|
|
cmConfigChanged = $00040000;
|
|
|
|
TYPE
|
|
CMRecFlags = LONGINT;
|
|
|
|
|
|
CMChannel = INTEGER;
|
|
|
|
CONST
|
|
|
|
{ CMStatFlags }
|
|
cmStatusOpening = $00000001;
|
|
cmStatusOpen = $00000002;
|
|
cmStatusClosing = $00000004;
|
|
cmStatusDataAvail = $00000008;
|
|
cmStatusCntlAvail = $00000010;
|
|
cmStatusAttnAvail = $00000020;
|
|
|
|
cmStatusDRPend = $00000040; {data read pending}
|
|
cmStatusDWPend = $00000080; {data write pending}
|
|
cmStatusCRPend = $00000100; {cntl read pending}
|
|
cmStatusCWPend = $00000200; {cntl write pending}
|
|
cmStatusARPend = $00000400; {attn read pending}
|
|
cmStatusAWPend = $00000800; {attn write pending}
|
|
|
|
cmStatusBreakPend = $00001000;
|
|
cmStatusListenPend = $00002000;
|
|
cmStatusIncomingCallPresent = $00004000;
|
|
|
|
cmStatusReserved0 = $00008000;
|
|
|
|
TYPE
|
|
CMStatFlags = LONGINT;
|
|
|
|
CMBufFields = (cmDataIn,cmDataOut,cmCntlIn,cmCntlOut,cmAttnIn,cmAttnOut,
|
|
cmRsrvIn,cmRsrvOut);
|
|
|
|
|
|
CMBuffers = ARRAY[CMBufFields] OF Ptr;
|
|
CMBufferSizes = ARRAY[CMBufFields] OF LONGINT;
|
|
|
|
CONST
|
|
|
|
{ CMSearchFlags }
|
|
cmSearchSevenBit = $0001;
|
|
|
|
TYPE
|
|
CMSearchFlags = INTEGER;
|
|
|
|
|
|
CONST
|
|
|
|
{ CMFlags }
|
|
cmFlagsEOM = $0001;
|
|
|
|
TYPE
|
|
CMFlags = INTEGER;
|
|
|
|
|
|
ConnEnvironRecPtr = ^ConnEnvironRec;
|
|
ConnEnvironRec = RECORD
|
|
version: INTEGER;
|
|
baudRate: LONGINT;
|
|
dataBits: INTEGER;
|
|
channels: CMChannel;
|
|
swFlowControl: BOOLEAN;
|
|
hwFlowControl: BOOLEAN;
|
|
flags: CMFlags;
|
|
END;
|
|
|
|
ConnPtr = ^ConnRecord;
|
|
ConnHandle = ^ConnPtr;
|
|
ConnRecord = RECORD
|
|
procID: INTEGER;
|
|
flags: CMRecFlags;
|
|
errCode: CMErr;
|
|
refCon: LONGINT;
|
|
userData: LONGINT;
|
|
defProc: ProcPtr;
|
|
config: Ptr;
|
|
oldConfig: Ptr;
|
|
asyncEOM: LONGINT;
|
|
reserved1: LONGINT;
|
|
reserved2: LONGINT;
|
|
cmPrivate: Ptr;
|
|
bufferArray: CMBuffers;
|
|
bufSizes: CMBufferSizes;
|
|
mluField: LONGINT;
|
|
asyncCount: CMBufferSizes;
|
|
END;
|
|
|
|
|
|
{ application routines type definitions }
|
|
ConnectionSearchCallBackProcPtr = ProcPtr;
|
|
ConnectionCompletionProcPtr = ProcPtr;
|
|
ConnectionChooseIdleProcPtr = ProcPtr;
|
|
|
|
CONST
|
|
|
|
{ CMIOPB constants and structure }
|
|
cmIOPBQType = 10;
|
|
cmIOPBversion = 0;
|
|
|
|
TYPE
|
|
CMIOPBPtr = ^CMIOPB;
|
|
CMIOPB = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER; { cmIOPBQType }
|
|
hConn: ConnHandle;
|
|
theBuffer: Ptr;
|
|
count: LONGINT;
|
|
flags: CMFlags;
|
|
userCompletion: ConnectionCompletionProcPtr;
|
|
timeout: LONGINT;
|
|
errCode: CMErr;
|
|
channel: CMChannel;
|
|
asyncEOM: LONGINT;
|
|
reserved1: LONGINT;
|
|
reserved2: INTEGER;
|
|
version: INTEGER; { cmIOPBversion }
|
|
refCon: LONGINT; { for application }
|
|
toolData1: LONGINT; { for tool }
|
|
toolData2: LONGINT; { for tool }
|
|
END;
|
|
|
|
|
|
FUNCTION InitCM: CMErr;
|
|
FUNCTION CMGetVersion(hConn: ConnHandle): Handle;
|
|
FUNCTION CMGetCMVersion: INTEGER;
|
|
|
|
FUNCTION CMNew(procID: INTEGER;flags: CMRecFlags;desiredSizes: CMBufferSizes;
|
|
refCon: LONGINT;userData: LONGINT): ConnHandle;
|
|
|
|
PROCEDURE CMDispose(hConn: ConnHandle);
|
|
|
|
FUNCTION CMListen(hConn: ConnHandle;async: BOOLEAN;completor: ConnectionCompletionProcPtr;
|
|
timeout: LONGINT): CMErr;
|
|
FUNCTION CMAccept(hConn: ConnHandle;accept: BOOLEAN): CMErr;
|
|
|
|
FUNCTION CMOpen(hConn: ConnHandle;async: BOOLEAN;completor: ConnectionCompletionProcPtr;
|
|
timeout: LONGINT): CMErr;
|
|
FUNCTION CMClose(hConn: ConnHandle;async: BOOLEAN;completor: ConnectionCompletionProcPtr;
|
|
timeout: LONGINT;now: BOOLEAN): CMErr;
|
|
|
|
FUNCTION CMAbort(hConn: ConnHandle): CMErr;
|
|
|
|
FUNCTION CMStatus(hConn: ConnHandle;VAR sizes: CMBufferSizes;VAR flags: CMStatFlags): CMErr;
|
|
PROCEDURE CMIdle(hConn: ConnHandle);
|
|
|
|
PROCEDURE CMReset(hConn: ConnHandle);
|
|
|
|
PROCEDURE CMBreak(hConn: ConnHandle;duration: LONGINT;async: BOOLEAN;completor: ConnectionCompletionProcPtr);
|
|
|
|
FUNCTION CMRead(hConn: ConnHandle;theBuffer: Ptr;VAR toRead: LONGINT;theChannel: CMChannel;
|
|
async: BOOLEAN;completor: ConnectionCompletionProcPtr;timeout: LONGINT;
|
|
VAR flags: CMFlags): CMErr;
|
|
FUNCTION CMWrite(hConn: ConnHandle;theBuffer: Ptr;VAR toWrite: LONGINT;
|
|
theChannel: CMChannel;async: BOOLEAN;completor: ConnectionCompletionProcPtr;
|
|
timeout: LONGINT;flags: CMFlags): CMErr;
|
|
|
|
FUNCTION CMIOKill(hConn: ConnHandle;which: INTEGER): CMErr;
|
|
|
|
PROCEDURE CMActivate(hConn: ConnHandle;activate: BOOLEAN);
|
|
PROCEDURE CMResume(hConn: ConnHandle;resume: BOOLEAN);
|
|
FUNCTION CMMenu(hConn: ConnHandle;menuID: INTEGER;item: INTEGER): BOOLEAN;
|
|
|
|
FUNCTION CMValidate(hConn: ConnHandle): BOOLEAN;
|
|
PROCEDURE CMDefault(VAR theConfig: Ptr;procID: INTEGER;allocate: BOOLEAN);
|
|
|
|
FUNCTION CMSetupPreflight(procID: INTEGER;VAR magicCookie: LONGINT): Handle;
|
|
FUNCTION CMSetupFilter(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
|
|
VAR theEvent: EventRecord;VAR theItem: INTEGER;VAR magicCookie: LONGINT): BOOLEAN;
|
|
PROCEDURE CMSetupSetup(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
|
|
VAR magicCookie: LONGINT);
|
|
PROCEDURE CMSetupItem(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
|
|
VAR theItem: INTEGER;VAR magicCookie: LONGINT);
|
|
PROCEDURE CMSetupXCleanup(procID: INTEGER;theConfig: Ptr;count: INTEGER;
|
|
theDialog: DialogPtr;OKed: BOOLEAN;VAR magicCookie: LONGINT);
|
|
PROCEDURE CMSetupPostflight(procID: INTEGER);
|
|
|
|
FUNCTION CMGetConfig(hConn: ConnHandle): Ptr;
|
|
FUNCTION CMSetConfig(hConn: ConnHandle;thePtr: Ptr): INTEGER;
|
|
|
|
FUNCTION CMIntlToEnglish(hConn: ConnHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
|
|
language: INTEGER): OSErr;
|
|
FUNCTION CMEnglishToIntl(hConn: ConnHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
|
|
language: INTEGER): OSErr;
|
|
|
|
FUNCTION CMAddSearch(hConn: ConnHandle;theString: Str255;flags: CMSearchFlags;
|
|
callBack: ConnectionSearchCallBackProcPtr): LONGINT;
|
|
PROCEDURE CMRemoveSearch(hConn: ConnHandle;refnum: LONGINT);
|
|
PROCEDURE CMClearSearch(hConn: ConnHandle);
|
|
|
|
FUNCTION CMGetConnEnvirons(hConn: ConnHandle;VAR theEnvirons: ConnEnvironRec): CMErr;
|
|
|
|
FUNCTION CMChoose(VAR hConn: ConnHandle;where: Point;idleProc: ConnectionChooseIdleProcPtr): INTEGER;
|
|
|
|
PROCEDURE CMEvent(hConn: ConnHandle;theEvent: EventRecord);
|
|
|
|
PROCEDURE CMGetToolName(procID: INTEGER;VAR name: Str255);
|
|
FUNCTION CMGetProcID(name: Str255): INTEGER;
|
|
|
|
PROCEDURE CMSetRefCon(hConn: ConnHandle;refCon: LONGINT);
|
|
FUNCTION CMGetRefCon(hConn: ConnHandle): LONGINT;
|
|
|
|
FUNCTION CMGetUserData(hConn: ConnHandle): LONGINT;
|
|
PROCEDURE CMSetUserData(hConn: ConnHandle;userData: LONGINT);
|
|
|
|
PROCEDURE CMGetErrorString(hConn: ConnHandle;id: INTEGER;VAR errMsg: Str255);
|
|
|
|
FUNCTION CMNewIOPB(hConn: ConnHandle;VAR theIOPB: CMIOPBPtr): CMErr;
|
|
FUNCTION CMDisposeIOPB(hConn: ConnHandle;theIOPB: CMIOPBPtr): CMErr;
|
|
|
|
FUNCTION CMPBRead(hConn: ConnHandle;theIOPB: CMIOPBPtr;async: BOOLEAN): CMErr;
|
|
FUNCTION CMPBWrite(hConn: ConnHandle;theIOPB: CMIOPBPtr;async: BOOLEAN): CMErr;
|
|
FUNCTION CMPBIOKill(hConn: ConnHandle;theIOPB: CMIOPBPtr): CMErr;
|
|
|
|
|
|
{$ENDC} { UsingConnections }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|