home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-11 | 5.6 KB | 252 lines | [TEXT/MPS ] |
- {*-------------------------------------------------------------------------------*
- | |
- | <<< Pascal Library Interface >>> |
- | |
- | Copyright Apple Computer, Inc. 1986, 1992 |
- | All rights reserved. |
- | |
- *-------------------------------------------------------------------------------*}
-
- {
- Interface to the Pascal I/O and Memory Manager Library.
- Built-in procedure and function declarations are marked with
- the (* *) comment characters
- }
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT PasLibIntf;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED __PasLibIntf__}
- {$SETC __PasLibIntf__ := 1}
-
- {$I+}
- {$SETC PASLIBINTFIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED __TYPES__ }
- {$I Types.p}
- {$ENDC}
-
- {$IFC UNDEFINED __FILES__ }
- {$I Files.p}
- {$ENDC}
-
- {$IFC UNDEFINED __ALIASES__}
- {$I Aliases.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);
-
- {
- Miscellaneous Operations
- }
-
- FUNCTION TrapAvailable(trap: INTEGER): BOOLEAN;
-
- FUNCTION ResolveFolderAliases (volume: INTEGER; directory: LONGINT;
- path: Str255; resolveLeafName: BOOLEAN;
- VAR theSpec: FSSpec; VAR isFolder, hadAlias,
- leafIsAlias: BOOLEAN): OSErr; C;
-
- FUNCTION MakeResolvedFSSpec (volume: INTEGER; directory: LONGINT;
- path: Str255; VAR theSpec: FSSpec; VAR isFolder,
- hadAlias, leafIsAlias: BOOLEAN): OSErr; C;
-
- FUNCTION IEResolvePath (VAR rawPath: Str255; VAR resolvedPath: Str255;
- VAR isFolder, hadAlias: BOOLEAN): OSErr;
-
- FUNCTION MakeResolvedPath (volume: INTEGER; directory: LONGINT; path: Str255;
- resolveLeafAlias: BOOLEAN; VAR buffer: Str255;
- VAR isFolder, hadAlias, leafIsAlias: BOOLEAN):
- OSErr; C;
-
- {
- 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} { __PasLibIntf__ }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-