fpc/rtl/palmos/system.pp
peter f4f3ae84d0 * AllowDirectorySeparators and AllowDriveSeparators typed constants
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 -
2008-01-29 23:04:56 +00:00

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.