mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 15:29:34 +02:00

added to allow customization of path and directory parsing in the rtl * Use the new sets instead of the hardcoded / and \ git-svn-id: trunk@10105 -
120 lines
2.9 KiB
ObjectPascal
120 lines
2.9 KiB
ObjectPascal
{
|
|
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 1999-2000 by Florian Klaempfl
|
|
member of the Free Pascal development team
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
**********************************************************************}
|
|
|
|
{$define PALMOS}
|
|
{$ASMMODE DIRECT}
|
|
unit system;
|
|
|
|
{$I os.inc}
|
|
|
|
Interface
|
|
|
|
{Platform specific information}
|
|
const
|
|
LineEnding = #10;
|
|
LFNSupport = false;
|
|
DirectorySeparator = '/';
|
|
DriveSeparator = ':';
|
|
ExtensionSeparator = '.';
|
|
PathSeparator = ';';
|
|
AllowDirectorySeparators : set of char = ['\','/'];
|
|
AllowDriveSeparators : set of char = [':'];
|
|
FileNameCaseSensitive = false;
|
|
CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
|
|
maxExitCode = 255; {$ERROR TODO: CONFIRM THIS}
|
|
MaxPathLen = 256;
|
|
AllFilesMask = '*';
|
|
|
|
Type
|
|
{ type and constant declartions doesn't hurt }
|
|
LongInt = $80000000..$7fffffff;
|
|
Integer = -32768..32767;
|
|
ShortInt = -128..127;
|
|
Byte = 0..255;
|
|
Word = 0..65535;
|
|
|
|
{ !!!!
|
|
DWord = Cardinal;
|
|
LongWord = Cardinal;
|
|
}
|
|
|
|
{ The Cardinal data type isn't currently implemented for the m68k }
|
|
DWord = LongInt;
|
|
LongWord = LongInt;
|
|
|
|
{ Zero - terminated strings }
|
|
PChar = ^Char;
|
|
PPChar = ^PChar;
|
|
|
|
{ procedure type }
|
|
TProcedure = Procedure;
|
|
|
|
const
|
|
{ max. values for longint and int }
|
|
MaxLongint = High(LongInt);
|
|
MaxInt = High(Integer);
|
|
|
|
{ Must be determined at startup for both }
|
|
Test68000 : byte = 0;
|
|
Test68881 : byte = 0;
|
|
|
|
{ Palm specific data types }
|
|
type
|
|
Ptr = ^Char;
|
|
|
|
var
|
|
ExitCode : DWord;
|
|
{ this variables are passed to PilotMain by the PalmOS }
|
|
cmd : Word;
|
|
cmdPBP : Ptr;
|
|
launchFlags : Word;
|
|
|
|
implementation
|
|
|
|
{ mimic the C start code }
|
|
function PilotMain(_cmd : Word;_cmdPBP : Ptr;_launchFlags : Word) : DWord;cdecl;public;
|
|
|
|
begin
|
|
cmd:=_cmd;
|
|
cmdPBP:=_cmdPBP;
|
|
launchFlags:=_launchFlags;
|
|
asm
|
|
bsr PASCALMAIN
|
|
end;
|
|
PilotMain:=ExitCode;
|
|
end;
|
|
|
|
{*****************************************************************************
|
|
System Dependent Exit code
|
|
*****************************************************************************}
|
|
Procedure system_exit;
|
|
begin
|
|
end;
|
|
|
|
function GetProcessID: SizeUInt;
|
|
begin
|
|
GetProcessID := 1;
|
|
end;
|
|
|
|
function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
|
|
begin
|
|
result := stklen;
|
|
end;
|
|
|
|
begin
|
|
StackLength := CheckInitialStkLen (InitialStkLen);
|
|
ExitCode:=0;
|
|
end.
|