Platform.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* voc 2.1.0 [2019/11/01]. Bootstrapping compiler for address size 8, alignment 8. xrtspaSF */
  2. #ifndef Platform__h
  3. #define Platform__h
  4. #include "SYSTEM.h"
  5. typedef
  6. struct Platform_FileIdentity {
  7. INT32 _prvt0;
  8. char _prvt1[8];
  9. } Platform_FileIdentity;
  10. typedef
  11. void (*Platform_SignalHandler)(INT32);
  12. import BOOLEAN Platform_LittleEndian;
  13. import INT16 Platform_PID;
  14. import CHAR Platform_CWD[256];
  15. import INT16 Platform_SeekSet, Platform_SeekCur, Platform_SeekEnd;
  16. import CHAR Platform_NL[3];
  17. import ADDRESS *Platform_FileIdentity__typ;
  18. import BOOLEAN Platform_Absent (INT16 e);
  19. import INT16 Platform_Chdir (CHAR *n, ADDRESS n__len);
  20. import INT16 Platform_Close (INT32 h);
  21. import BOOLEAN Platform_ConnectionFailed (INT16 e);
  22. import void Platform_Delay (INT32 ms);
  23. import BOOLEAN Platform_DifferentFilesystems (INT16 e);
  24. import INT16 Platform_Error (void);
  25. import void Platform_Exit (INT32 code);
  26. import void Platform_GetClock (INT32 *t, INT32 *d);
  27. import void Platform_GetEnv (CHAR *var, ADDRESS var__len, CHAR *val, ADDRESS val__len);
  28. import void Platform_GetTimeOfDay (INT32 *sec, INT32 *usec);
  29. import INT16 Platform_Identify (INT32 h, Platform_FileIdentity *identity, ADDRESS *identity__typ);
  30. import INT16 Platform_IdentifyByName (CHAR *n, ADDRESS n__len, Platform_FileIdentity *identity, ADDRESS *identity__typ);
  31. import BOOLEAN Platform_Inaccessible (INT16 e);
  32. import BOOLEAN Platform_Interrupted (INT16 e);
  33. import BOOLEAN Platform_IsConsole (INT32 h);
  34. import void Platform_MTimeAsClock (Platform_FileIdentity i, INT32 *t, INT32 *d);
  35. import INT16 Platform_MaxNameLength (void);
  36. import INT16 Platform_MaxPathLength (void);
  37. import INT16 Platform_New (CHAR *n, ADDRESS n__len, INT32 *h);
  38. import BOOLEAN Platform_NoSuchDirectory (INT16 e);
  39. import INT32 Platform_OSAllocate (INT32 size);
  40. import void Platform_OSFree (INT32 address);
  41. import INT16 Platform_OldRO (CHAR *n, ADDRESS n__len, INT32 *h);
  42. import INT16 Platform_OldRW (CHAR *n, ADDRESS n__len, INT32 *h);
  43. import INT16 Platform_Read (INT32 h, INT32 p, INT32 l, INT32 *n);
  44. import INT16 Platform_ReadBuf (INT32 h, SYSTEM_BYTE *b, ADDRESS b__len, INT32 *n);
  45. import INT16 Platform_Rename (CHAR *o, ADDRESS o__len, CHAR *n, ADDRESS n__len);
  46. import BOOLEAN Platform_SameFile (Platform_FileIdentity i1, Platform_FileIdentity i2);
  47. import BOOLEAN Platform_SameFileTime (Platform_FileIdentity i1, Platform_FileIdentity i2);
  48. import INT16 Platform_Seek (INT32 h, INT32 offset, INT16 whence);
  49. import void Platform_SetBadInstructionHandler (Platform_SignalHandler handler);
  50. import void Platform_SetInterruptHandler (Platform_SignalHandler handler);
  51. import void Platform_SetMTime (Platform_FileIdentity *target, ADDRESS *target__typ, Platform_FileIdentity source);
  52. import void Platform_SetQuitHandler (Platform_SignalHandler handler);
  53. import INT16 Platform_Size (INT32 h, INT32 *l);
  54. import INT16 Platform_Sync (INT32 h);
  55. import INT16 Platform_System (CHAR *cmd, ADDRESS cmd__len);
  56. import INT32 Platform_Time (void);
  57. import BOOLEAN Platform_TimedOut (INT16 e);
  58. import BOOLEAN Platform_TooManyFiles (INT16 e);
  59. import INT16 Platform_Truncate (INT32 h, INT32 l);
  60. import INT16 Platform_Unlink (CHAR *n, ADDRESS n__len);
  61. import INT16 Platform_Write (INT32 h, INT32 p, INT32 l);
  62. import BOOLEAN Platform_getEnv (CHAR *var, ADDRESS var__len, CHAR *val, ADDRESS val__len);
  63. import void *Platform__init(void);
  64. #endif // Platform