readme.txt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. POSIX directory information
  2. ---------------------------
  3. This directory contains the system call interface to
  4. POSIX compliant systems. These files should be
  5. completed by OS-specific files. This permits to
  6. easily create common and maintanable base
  7. runtime library units (such as dos and system).
  8. Limitations:
  9. ------------
  10. - Only single byte character sets are supported (ASCII, ISO8859-1)
  11. - Path and filenames are limited to 255 characters
  12. (shortstrings are limited to 255 characters)
  13. Files in this directory
  14. posix.tem
  15. ----------
  16. Posix unit template.
  17. dos.pp
  18. ------
  19. POSIX compliant dos unit. The following routines
  20. and variables must be implemented / declared on
  21. a platform by platform basis:
  22. DiskFree()
  23. DiskSize()
  24. DosVersion()
  25. GetTimeZoneString(): Should return the string of
  26. the timezone information , as defined by POSIX,
  27. if not available, should return an empty string.
  28. This string is usually stored in the 'TZ' environment
  29. variable.
  30. GetTimeZoneFileName() : Should return the absolute path to
  31. the timezone filename to use to convert the UTC time to
  32. local time. The format of the timezone files are those
  33. specific in glibc.
  34. FixDriveStr : Array of pchar which contains
  35. the names of the fixed disks :
  36. (index 0 : current directory
  37. index 1 : first floppy disk
  38. index 2 : second floppy disk
  39. index 3 : boot disk
  40. )
  41. sysposix.inc
  42. ------------
  43. Most of the specific operating system
  44. routines which can be implemented using
  45. the POSIX interface are implemented in
  46. this unit. This should be included in
  47. the target operating system system unit
  48. to create a complete system unit.
  49. Files required to port the compiler to a POSIX
  50. compliant system (should reside in the target
  51. OS directory):
  52. osposixh.inc : This includes all constants,
  53. type definitions and structures used
  54. (this is operating system dependant), except
  55. for those related to signals. It includes
  56. the signal file.
  57. osposix.inc : The actuall system call routines
  58. to the routine prototypes defined in posixh.inc.
  59. (either these can be an interface to a libc, or
  60. actual system calls).
  61. errno.inc : All possible error codes which
  62. can be returned by the operating system.
  63. signal.inc : Defines all constants and types
  64. related to signals, it must at least define
  65. the POSIX signal types and constants, but
  66. can also add other OS specific types and
  67. constants related to signals.
  68. Templates for the osposix.inc file (when linked
  69. with the GNU libc), errno.inc and osposixh.inc
  70. are included in this directory and have the
  71. extension .tem . They should be used as a basis
  72. to port to a new operating system.
  73. When sysposix.inc is used, the following system
  74. unit routines must be implemented for each new
  75. operating system, as they are not reproducable
  76. under the POSIX interface:
  77. function sbrk(size : longint): longint;
  78. procedure do_truncate (handle,pos:longint);
  79. function do_isdevice(handle:longint):boolean;
  80. When dos.pp is used, the following dos
  81. unit routines must be implemented for each new
  82. operating system, as they are not reproducable
  83. under the POSIX interface:
  84. function diskfree(drive : byte) : int64;
  85. function disksize(drive: byte) : int64;