2
0

sysunixh.inc 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. {
  2. This file is part of the Free Pascal Run time library.
  3. Copyright (c) 2001 by the Free Pascal development team
  4. This file contains the OS independent declarations of the system unit
  5. for unix styled systems
  6. See the File COPYING.FPC, included in this distribution,
  7. for details about the copyright.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. **********************************************************************}
  12. {$define newsignal}
  13. {$define FPC_SYSTEM_HAS_SYSDLH}
  14. {$I systemh.inc}
  15. {$ifdef cpum68k}
  16. { used for single computations }
  17. const
  18. BIAS4 = $7f-1;
  19. {$endif cpum68k}
  20. const
  21. LineEnding = #10;
  22. LFNSupport = true;
  23. DirectorySeparator = '/';
  24. DriveSeparator = '';
  25. ExtensionSeparator = '.';
  26. PathSeparator = ':';
  27. AllowDirectorySeparators : set of char = ['\','/'];
  28. AllowDriveSeparators : set of char = [];
  29. { FileNameCaseSensitive and FileNameCasePreserving are defined below! }
  30. maxExitCode = 255;
  31. {$ifdef LINUX}
  32. MaxPathLen = 4096; // linux has always got to be BIGGER
  33. {$else}
  34. MaxPathLen = 1024; // BSDs since 1993, Solaris 10, Darwin
  35. {$endif}
  36. AllFilesMask = '*';
  37. const
  38. UnusedHandle = -1;
  39. StdInputHandle = 0;
  40. StdOutputHandle = 1;
  41. StdErrorHandle = 2;
  42. FileNameCaseSensitive : boolean = true;
  43. FileNameCasePreserving: boolean = true;
  44. CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
  45. sLineBreak = LineEnding;
  46. DefaultTextLineBreakStyle : TTextLineBreakStyle = tlbsLF;
  47. {$if not defined(solaris) and not defined(darwin) and not defined(aix)}
  48. {$ifdef FPC_HAS_INDIRECT_ENTRY_INFORMATION}
  49. var argc:longint;
  50. argv:PPchar;
  51. envp:PPchar;
  52. {$else FPC_HAS_INDIRECT_ENTRY_INFORMATION}
  53. var argc:longint;external name 'operatingsystem_parameter_argc';
  54. argv:PPchar;external name 'operatingsystem_parameter_argv';
  55. envp:PPchar;external name 'operatingsystem_parameter_envp';
  56. {$endif FPC_HAS_INDIRECT_ENTRY_INFORMATION}
  57. {$endif}
  58. {$ifdef unix}
  59. const
  60. { hook for lineinfo, to get the module name from an address,
  61. unit dl sets it if it is used
  62. }
  63. UnixGetModuleByAddrHook : procedure (addr: pointer; var baseaddr: pointer; var filename: string) = nil;
  64. {$endif unix}