emx.pas 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. {****************************************************************************
  2. EMX - Interface unit for the EMX dynamic runtime library.
  3. Part of Free Pascal runtime library for OS/2
  4. History:
  5. 2 June 1997 : Creation.
  6. This unit is Copyright (c) 1999-2000 by Daniel Mantione.
  7. Free Pascal is Copyright (c) -1999-2000 by Florian Klaempfl.
  8. EMX.DLL is Copyright (c) -1999-2000 by Eberhard Mattes.
  9. Modifying this unit is allowed, under the following conditions:
  10. - You will not make anyone beleive that you or someone else wrote this.
  11. - Unless you are developing on the official version of FPC, you will make a
  12. note in this file that it is not the original one.
  13. ****************************************************************************}
  14. unit emx;
  15. type PFar=record
  16. Segment,Offset:word;
  17. end;
  18. {! Don't call this one. It is used by the startup code.}
  19. procedure __emxinit;
  20. {! Calling this is not recommended. Use ___syscall instead.}
  21. procedure __emx_syscall;
  22. {This one converts 16:16 far pointers to 32 bit flat ones.}
  23. procedure __emx_16to32(APtr:PFar):pointer;
  24. {This one converts 32 bit flat pointers to 16:16 far ones.}
  25. procedure __emx_32to16(APtr:pointer):PFar;
  26. {This one should be called to call 16-bit procedures and functions.}
  27. procedure __emx_thunk1(APtr:pointer)