mac-rom/Interfaces/PInterfaces/PasLibIntf.p
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

231 lines
4.8 KiB
OpenEdge ABL

{
Created: Monday, January 22, 1990 at 9:18 PM
PasLibIntf.p
Pascal Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1986-1991
All rights reserved
This file is used in these builds: ROM System
Interface to the Pascal I/O and Memory Manager Library.
Built-in procedure and function declarations are marked with
the (* *) comment characters
Change History (most recent first):
<4> 8/8/91 JL Try again.
<3> 8/8/91 JL Update copyright. Standardized header.
<2> 3/13/91 JL Checked in MPW version. Changed Including MemTypes to Types.
To Do:
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT PASLIBIntf;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingPASLIBINTF}
{$SETC UsingPASLIBINTF := 1}
{$I+}
{$SETC PASLIBINTFIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingTypes}
{$I $$Shell(PInterfaces)Types.p}
{$ENDC}
{$SETC UsingIncludes := PASLIBINTFIncludes}
TYPE
PASCALPOINTER = ^INTEGER; { Universal POINTER type }
PASCALFILE = FILE; { Universal FILE type }
(*
* PASCALBLOCK = { Universal block of chars }
* PACKED ARRAY [0..511] OF CHAR;
*)
CONST
{ <StdIO.h> PLSetVBuf styles }
_IOFBF = $00; { File buffering }
_IOLBF = $40; { Line buffering }
_IONBF = $04; { No buffering }
{
Mac Pascal heap management
}
PROCEDURE PLHeapInit(sizepheap: LONGINT; heapDelta: LONGINT;
memerrProc: UNIV PASCALPOINTER; allowNonCont: BOOLEAN;
forDispose: BOOLEAN);
{
The following procedure is obsolete, use PLHeapInit
}
PROCEDURE PLInitHeap(sizepheap: LONGINT; memerrProc: UNIV PASCALPOINTER;
allowNonCont: BOOLEAN; allowDispose: BOOLEAN);
PROCEDURE PLSetNonCont(allowNonCont: BOOLEAN);
PROCEDURE PLSetMErrProc(memerrProc: UNIV PASCALPOINTER);
PROCEDURE PLSetHeapType(forDispose: BOOLEAN);
PROCEDURE PLSetHeapCheck(DoIt: BOOLEAN);
{
File I/O
}
(*
* PROCEDURE
* RESET(VAR fvar: UNIV PASCALFILE; OPT fname: STRING);
* BUILTIN;
*
* PROCEDURE
* REWRITE(VAR fvar: UNIV PASCALFILE; OPT fname: STRING);
* BUILTIN;
*
* PROCEDURE
* OPEN(VAR fvar: UNIV PASCALFILE; fname: STRING);
* BUILTIN;
*)
PROCEDURE PLSetVBuf(VAR fvar: TEXT; buffer: UNIV PASCALPOINTER;
style: INTEGER; bufsize: INTEGER);
(*
* FUNCTION
* BLOCKREAD(
* VAR fvar: FILE;
* VAR buffer: UNIV PASCALBLOCK;
* nBlocks: INTEGER;
* OPT stBlock:INTEGER
* ):
* INTEGER;
* BUILTIN;
*
* FUNCTION
* BLOCKWRITE(
* VAR fvar: FILE;
* VAR buffer: UNIV PASCALBLOCK;
* nBlocks: INTEGER;
* OPT stBlock:INTEGER
* ):
* INTEGER;
* BUILTIN;
*
* FUNCTION
* BYTEREAD(
* VAR fvar: FILE;
* VAR buffer: UNIV PASCALBLOCK;
* nBytes: LONGINT;
* OPT stByte: LONGINT
* ):
* LONGINT;
* BUILTIN;
*
* FUNCTION
* BYTEWRITE(
* VAR fvar: FILE;
* VAR buffer: UNIV PASCALBLOCK;
* nBytes: LONGINT;
* OPT stByte: LONGINT
* ):
* LONGINT;
* BUILTIN;
*
* FUNCTION
* EOF(OPT VAR fvar: UNIV PASCALFILE):
* BOOLEAN;
* BUILTIN;
*
* FUNCTION
* EOLN(OPT VAR fvar: TEXT):
* BOOLEAN;
* BUILTIN;
*
* PROCEDURE
* READ(VAR fvar: TEXT; OPT EXPR_LIST);
* BUILTIN;
*
* PROCEDURE
* READLN(OPT VAR fvar: TEXT; OPT EXPR_LIST);
* BUILTIN;
*
* PROCEDURE
* WRITE(VAR fvar: TEXT; OPT EXPR_LIST);
* BUILTIN;
*
* PROCEDURE
* WRITELN(OPT VAR fvar: TEXT; OPT EXPR_LIST);
* BUILTIN;
*
* PROCEDURE
* GET(VAR fvar: UNIV PASCALFILE);
* BUILTIN;
*
* PROCEDURE
* PUT(VAR fvar: UNIV PASCALFILE);
* BUILTIN;
*
* PROCEDURE
* SEEK(VAR fvar: UNIV PASCALFILE; recno: LONGINT);
* BUILTIN;
*)
FUNCTION PLFilePos(VAR fvar: UNIV PASCALFILE): LONGINT;
PROCEDURE PLFlush(VAR fvar: TEXT);
PROCEDURE PLCrunch(VAR fvar: UNIV PASCALFILE);
{
Directory operations.
}
PROCEDURE PLPurge(fname: STRING);
PROCEDURE PLRename(oldFname, newFname: STRING);
{
C string functions for Pascal strings
}
FUNCTION PLStrCmp(string1, string2: STR255): INTEGER;
FUNCTION PLStrnCmp(string1, string2: STR255; n: INTEGER): INTEGER;
FUNCTION PLStrCpy(VAR string1: STR255; string2: STR255): STRINGPTR;
FUNCTION PLStrnCpy(VAR string1: STR255; string2: STR255; n: INTEGER): STRINGPTR;
FUNCTION PLStrCat(VAR string1: STR255; string2: STR255): STRINGPTR;
FUNCTION PLStrnCat(VAR string1: STR255; string2: STR255; n: INTEGER): STRINGPTR;
FUNCTION PLStrChr(string1: STR255; c: CHAR): PTR;
FUNCTION PLStrrChr(string1: STR255; c: CHAR): PTR;
FUNCTION PLStrPBrk(string1, string2: STR255): PTR;
FUNCTION PLStrSpn(string1, string2: STR255): INTEGER;
FUNCTION PLStrStr(string1, string2: STR255): PTR;
FUNCTION PLStrLen(string1: STR255): INTEGER;
FUNCTION PLPos(STRING1: STR255; STRING2: STR255): INTEGER;
{$ENDC} { UsingPASLIBINTF }
{$IFC NOT UsingIncludes}
END.
{$ENDC}