wasiprocs.inc 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2020,2021 by the Free Pascal development team.
  4. API functions for The WebAssembly System Interface (WASI).
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. function __wasi_args_get(
  12. argv: PPUInt8;
  13. argv_buf: PUInt8
  14. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'args_get';
  15. function __wasi_args_sizes_get(
  16. argc: P__wasi_size_t;
  17. argv_buf_size: P__wasi_size_t
  18. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'args_sizes_get';
  19. function __wasi_environ_get(
  20. environ: PPUInt8;
  21. environ_buf: PUInt8
  22. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'environ_get';
  23. function __wasi_environ_sizes_get(
  24. environc: P__wasi_size_t;
  25. environ_buf_size: P__wasi_size_t
  26. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'environ_sizes_get';
  27. function __wasi_clock_res_get(
  28. id: __wasi_clockid_t;
  29. resolution: P__wasi_timestamp_t
  30. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'clock_res_get';
  31. function __wasi_clock_time_get(
  32. id: __wasi_clockid_t;
  33. precision: __wasi_timestamp_t;
  34. time: P__wasi_timestamp_t
  35. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'clock_time_get';
  36. function __wasi_fd_advise(
  37. fd: __wasi_fd_t;
  38. offset: __wasi_filesize_t;
  39. len: __wasi_filesize_t;
  40. advice: __wasi_advice_t
  41. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_advise';
  42. function __wasi_fd_allocate(
  43. fd: __wasi_fd_t;
  44. offset: __wasi_filesize_t;
  45. len: __wasi_filesize_t
  46. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_allocate';
  47. function __wasi_fd_close(
  48. fd: __wasi_fd_t
  49. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_close';
  50. function __wasi_fd_datasync(
  51. fd: __wasi_fd_t
  52. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_datasync';
  53. function __wasi_fd_fdstat_get(
  54. fd: __wasi_fd_t;
  55. stat: P__wasi_fdstat_t
  56. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_fdstat_get';
  57. function __wasi_fd_fdstat_set_flags(
  58. fd: __wasi_fd_t;
  59. flags: __wasi_fdflags_t
  60. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_fdstat_set_flags';
  61. function __wasi_fd_fdstat_set_rights(
  62. fd: __wasi_fd_t;
  63. fs_rights_base: __wasi_rights_t;
  64. fs_rights_inheriting: __wasi_rights_t
  65. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_fdstat_set_rights';
  66. function __wasi_fd_filestat_get(
  67. fd: __wasi_fd_t;
  68. buf: P__wasi_filestat_t
  69. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_filestat_get';
  70. function __wasi_fd_filestat_set_size(
  71. fd: __wasi_fd_t;
  72. size: __wasi_filesize_t
  73. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_filestat_set_size';
  74. function __wasi_fd_filestat_set_times(
  75. fd: __wasi_fd_t;
  76. atim: __wasi_timestamp_t;
  77. mtim: __wasi_timestamp_t;
  78. fst_flags: __wasi_fstflags_t
  79. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_filestat_set_times';
  80. function __wasi_fd_pread(
  81. fd: __wasi_fd_t;
  82. iovs: {const} P__wasi_iovec_t;
  83. iovs_len: size_t;
  84. offset: __wasi_filesize_t;
  85. nread: P__wasi_size_t
  86. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_pread';
  87. function __wasi_fd_prestat_get(
  88. fd: __wasi_fd_t;
  89. buf: P__wasi_prestat_t
  90. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_prestat_get';
  91. function __wasi_fd_prestat_dir_name(
  92. fd: __wasi_fd_t;
  93. path: PUInt8;
  94. path_len: __wasi_size_t
  95. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_prestat_dir_name';
  96. function __wasi_fd_pwrite(
  97. fd: __wasi_fd_t;
  98. iovs: {const} P__wasi_ciovec_t;
  99. iovs_len: size_t;
  100. offset: __wasi_filesize_t;
  101. nwritten: P__wasi_size_t
  102. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_pwrite';
  103. function __wasi_fd_read(
  104. fd: __wasi_fd_t;
  105. iovs: {const} P__wasi_iovec_t;
  106. iovs_len: size_t;
  107. nread: P__wasi_size_t
  108. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_read';
  109. function __wasi_fd_readdir(
  110. fd: __wasi_fd_t;
  111. buf: PUInt8;
  112. buf_len: __wasi_size_t;
  113. cookie: __wasi_dircookie_t;
  114. bufused: P__wasi_size_t
  115. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_readdir';
  116. function __wasi_fd_renumber(
  117. fd: __wasi_fd_t;
  118. to_: __wasi_fd_t
  119. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_renumber';
  120. function __wasi_fd_seek(
  121. fd: __wasi_fd_t;
  122. offset: __wasi_filedelta_t;
  123. whence: __wasi_whence_t;
  124. newoffset: P__wasi_filesize_t
  125. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_seek';
  126. function __wasi_fd_sync(
  127. fd: __wasi_fd_t
  128. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_sync';
  129. function __wasi_fd_tell(
  130. fd: __wasi_fd_t;
  131. offset: P__wasi_filesize_t
  132. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_tell';
  133. function __wasi_fd_write(
  134. fd: __wasi_fd_t;
  135. iovs: {const} P__wasi_ciovec_t;
  136. iovs_len: size_t;
  137. nwritten: P__wasi_size_t
  138. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'fd_write';
  139. function __wasi_path_create_directory(
  140. fd: __wasi_fd_t;
  141. const path: PAnsiChar;
  142. path_len: size_t
  143. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_create_directory';
  144. function __wasi_path_filestat_get(
  145. fd: __wasi_fd_t;
  146. flags: __wasi_lookupflags_t;
  147. const path: PAnsiChar;
  148. path_len: size_t;
  149. buf: P__wasi_filestat_t
  150. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_filestat_get';
  151. function __wasi_path_filestat_set_times(
  152. fd: __wasi_fd_t;
  153. flags: __wasi_lookupflags_t;
  154. const path: PAnsiChar;
  155. path_len: size_t;
  156. atim: __wasi_timestamp_t;
  157. mtim: __wasi_timestamp_t;
  158. fst_flags: __wasi_fstflags_t
  159. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_filestat_set_times';
  160. function __wasi_path_link(
  161. old_fd: __wasi_fd_t;
  162. old_flags: __wasi_lookupflags_t;
  163. const old_path: PAnsiChar;
  164. old_path_len: size_t;
  165. new_fd: __wasi_fd_t;
  166. const new_path: PAnsiChar;
  167. new_path_len: size_t
  168. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_link';
  169. function __wasi_path_open(
  170. fd: __wasi_fd_t;
  171. dirflags: __wasi_lookupflags_t;
  172. const path: PAnsiChar;
  173. path_len: size_t;
  174. oflags: __wasi_oflags_t;
  175. fs_rights_base: __wasi_rights_t;
  176. fs_rights_inherting: __wasi_rights_t;
  177. fdflags: __wasi_fdflags_t;
  178. opened_fd: P__wasi_fd_t
  179. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_open';
  180. function __wasi_path_readlink(
  181. fd: __wasi_fd_t;
  182. const path: PAnsiChar;
  183. path_len: size_t;
  184. buf: PUInt8;
  185. buf_len: __wasi_size_t;
  186. bufused: P__wasi_size_t
  187. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_readlink';
  188. function __wasi_path_remove_directory(
  189. fd: __wasi_fd_t;
  190. const path: PAnsiChar;
  191. path_len: size_t
  192. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_remove_directory';
  193. function __wasi_path_rename(
  194. fd: __wasi_fd_t;
  195. const old_path: PAnsiChar;
  196. old_path_len: size_t;
  197. new_fd: __wasi_fd_t;
  198. const new_path: PAnsiChar;
  199. new_path_len: size_t
  200. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_rename';
  201. function __wasi_path_symlink(
  202. const old_path: PAnsiChar;
  203. old_path_len: size_t;
  204. fd: __wasi_fd_t;
  205. const new_path: PAnsiChar;
  206. new_path_len: size_t
  207. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_symlink';
  208. function __wasi_path_unlink_file(
  209. fd: __wasi_fd_t;
  210. const path: PAnsiChar;
  211. path_len: size_t
  212. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'path_unlink_file';
  213. function __wasi_poll_oneoff(
  214. in_ : {const} P__wasi_subscription_t;
  215. out_: P__wasi_event_t;
  216. nsubscriptions: __wasi_size_t;
  217. nevents: P__wasi_size_t
  218. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'poll_oneoff';
  219. procedure __wasi_proc_exit(
  220. rval: __wasi_exitcode_t
  221. ); noreturn; external 'wasi_snapshot_preview1' name 'proc_exit';
  222. function __wasi_proc_raise(
  223. sig: __wasi_signal_t
  224. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'proc_raise';
  225. function __wasi_sched_yield(
  226. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'sched_yield';
  227. function __wasi_random_get(
  228. buf: PUInt8;
  229. buf_len: __wasi_size_t
  230. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'random_get';
  231. function __wasi_sock_recv(
  232. fd: __wasi_fd_t;
  233. const ri_data: P__wasi_iovec_t;
  234. ri_data_len: size_t;
  235. ri_flags: __wasi_riflags_t;
  236. ro_datalen: P__wasi_size_t;
  237. ro_flags: P__wasi_roflags_t
  238. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'sock_recv';
  239. function __wasi_sock_send(
  240. fd: __wasi_fd_t;
  241. si_data: {const} P__wasi_ciovec_t;
  242. si_data_len: size_t;
  243. si_flags: __wasi_siflags_t;
  244. so_datalen: P__wasi_size_t
  245. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'sock_send';
  246. function __wasi_sock_shutdown(
  247. fd: __wasi_fd_t;
  248. how: __wasi_sdflags_t
  249. ): __wasi_errno_t; external 'wasi_snapshot_preview1' name 'sock_shutdown';