Lines Matching full:args
16 template <typename... Args>
17 inline void Debug(WASI* wasi, Args&&... args) { in Debug() argument
18 Debug(wasi->env(), DebugCategory::WASI, std::forward<Args>(args)...); in Debug()
25 THROW_ERR_WASI_NOT_STARTED(Environment::GetCurrent(args)); \
30 #define RETURN_IF_BAD_ARG_COUNT(args, expected) \ argument
32 if ((args).Length() != (expected)) { \
33 (args).GetReturnValue().Set(UVWASI_EINVAL); \
38 #define CHECK_TO_TYPE_OR_RETURN(args, input, type, result) \ argument
41 (args).GetReturnValue().Set(UVWASI_EINVAL); \
47 #define UNWRAP_BIGINT_OR_RETURN(args, input, type, result) \ argument
50 (args).GetReturnValue().Set(UVWASI_EINVAL); \
58 #define GET_BACKING_STORE_OR_RETURN(wasi, args, mem_ptr, mem_size) \ argument
62 (args).GetReturnValue().Set(err); \
67 #define CHECK_BOUNDS_OR_RETURN(args, mem_size, offset, buf_size) \ argument
70 (args).GetReturnValue().Set(UVWASI_EOVERFLOW); \
159 void WASI::New(const FunctionCallbackInfo<Value>& args) { in New() argument
160 CHECK(args.IsConstructCall()); in New()
161 CHECK_EQ(args.Length(), 4); in New()
162 CHECK(args[0]->IsArray()); in New()
163 CHECK(args[1]->IsArray()); in New()
164 CHECK(args[2]->IsArray()); in New()
165 CHECK(args[3]->IsArray()); in New()
167 Environment* env = Environment::GetCurrent(args); in New()
169 Local<Array> argv = args[0].As<Array>(); in New()
175 Local<Array> stdio = args[3].As<Array>(); in New()
197 Local<Array> env_pairs = args[1].As<Array>(); in New()
209 Local<Array> preopens = args[2].As<Array>(); in New()
228 new WASI(env, args.This(), &options); in New()
251 void WASI::ArgsGet(const FunctionCallbackInfo<Value>& args) { in ArgsGet() argument
257 RETURN_IF_BAD_ARG_COUNT(args, 2); in ArgsGet()
258 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, argv_offset); in ArgsGet()
259 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, argv_buf_offset); in ArgsGet()
260 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in ArgsGet()
262 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in ArgsGet()
263 CHECK_BOUNDS_OR_RETURN(args, in ArgsGet()
267 CHECK_BOUNDS_OR_RETURN(args, in ArgsGet()
286 args.GetReturnValue().Set(err); in ArgsGet()
290 void WASI::ArgsSizesGet(const FunctionCallbackInfo<Value>& args) { in ArgsSizesGet() argument
296 RETURN_IF_BAD_ARG_COUNT(args, 2); in ArgsSizesGet()
297 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, argc_offset); in ArgsSizesGet()
298 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, argv_buf_offset); in ArgsSizesGet()
299 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in ArgsSizesGet()
301 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in ArgsSizesGet()
302 CHECK_BOUNDS_OR_RETURN(args, in ArgsSizesGet()
306 CHECK_BOUNDS_OR_RETURN(args, in ArgsSizesGet()
320 args.GetReturnValue().Set(err); in ArgsSizesGet()
324 void WASI::ClockResGet(const FunctionCallbackInfo<Value>& args) { in ClockResGet() argument
330 RETURN_IF_BAD_ARG_COUNT(args, 2); in ClockResGet()
331 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, clock_id); in ClockResGet()
332 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, resolution_ptr); in ClockResGet()
333 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in ClockResGet()
335 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in ClockResGet()
336 CHECK_BOUNDS_OR_RETURN(args, in ClockResGet()
347 args.GetReturnValue().Set(err); in ClockResGet()
351 void WASI::ClockTimeGet(const FunctionCallbackInfo<Value>& args) { in ClockTimeGet() argument
358 RETURN_IF_BAD_ARG_COUNT(args, 3); in ClockTimeGet()
359 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, clock_id); in ClockTimeGet()
360 UNWRAP_BIGINT_OR_RETURN(args, args[1], Uint64, precision); in ClockTimeGet()
361 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, time_ptr); in ClockTimeGet()
362 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in ClockTimeGet()
364 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in ClockTimeGet()
365 CHECK_BOUNDS_OR_RETURN(args, in ClockTimeGet()
377 args.GetReturnValue().Set(err); in ClockTimeGet()
381 void WASI::EnvironGet(const FunctionCallbackInfo<Value>& args) { in EnvironGet() argument
387 RETURN_IF_BAD_ARG_COUNT(args, 2); in EnvironGet()
388 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, environ_offset); in EnvironGet()
389 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, environ_buf_offset); in EnvironGet()
390 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in EnvironGet()
392 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in EnvironGet()
393 CHECK_BOUNDS_OR_RETURN(args, in EnvironGet()
397 CHECK_BOUNDS_OR_RETURN(args, in EnvironGet()
419 args.GetReturnValue().Set(err); in EnvironGet()
423 void WASI::EnvironSizesGet(const FunctionCallbackInfo<Value>& args) { in EnvironSizesGet() argument
429 RETURN_IF_BAD_ARG_COUNT(args, 2); in EnvironSizesGet()
430 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, envc_offset); in EnvironSizesGet()
431 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, env_buf_offset); in EnvironSizesGet()
432 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in EnvironSizesGet()
434 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in EnvironSizesGet()
435 CHECK_BOUNDS_OR_RETURN(args, in EnvironSizesGet()
439 CHECK_BOUNDS_OR_RETURN(args, in EnvironSizesGet()
453 args.GetReturnValue().Set(err); in EnvironSizesGet()
457 void WASI::FdAdvise(const FunctionCallbackInfo<Value>& args) { in FdAdvise() argument
463 RETURN_IF_BAD_ARG_COUNT(args, 4); in FdAdvise()
464 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdAdvise()
465 UNWRAP_BIGINT_OR_RETURN(args, args[1], Uint64, offset); in FdAdvise()
466 UNWRAP_BIGINT_OR_RETURN(args, args[2], Uint64, len); in FdAdvise()
467 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, advice); in FdAdvise()
468 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdAdvise()
471 args.GetReturnValue().Set(err); in FdAdvise()
475 void WASI::FdAllocate(const FunctionCallbackInfo<Value>& args) { in FdAllocate() argument
480 RETURN_IF_BAD_ARG_COUNT(args, 3); in FdAllocate()
481 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdAllocate()
482 UNWRAP_BIGINT_OR_RETURN(args, args[1], Uint64, offset); in FdAllocate()
483 UNWRAP_BIGINT_OR_RETURN(args, args[2], Uint64, len); in FdAllocate()
484 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdAllocate()
487 args.GetReturnValue().Set(err); in FdAllocate()
491 void WASI::FdClose(const FunctionCallbackInfo<Value>& args) { in FdClose() argument
494 RETURN_IF_BAD_ARG_COUNT(args, 1); in FdClose()
495 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdClose()
496 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdClose()
499 args.GetReturnValue().Set(err); in FdClose()
503 void WASI::FdDatasync(const FunctionCallbackInfo<Value>& args) { in FdDatasync() argument
506 RETURN_IF_BAD_ARG_COUNT(args, 1); in FdDatasync()
507 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdDatasync()
508 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdDatasync()
511 args.GetReturnValue().Set(err); in FdDatasync()
515 void WASI::FdFdstatGet(const FunctionCallbackInfo<Value>& args) { in FdFdstatGet() argument
521 RETURN_IF_BAD_ARG_COUNT(args, 2); in FdFdstatGet()
522 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdFdstatGet()
523 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, buf); in FdFdstatGet()
524 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdFdstatGet()
526 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdFdstatGet()
527 CHECK_BOUNDS_OR_RETURN(args, mem_size, buf, UVWASI_SERDES_SIZE_fdstat_t); in FdFdstatGet()
534 args.GetReturnValue().Set(err); in FdFdstatGet()
538 void WASI::FdFdstatSetFlags(const FunctionCallbackInfo<Value>& args) { in FdFdstatSetFlags() argument
542 RETURN_IF_BAD_ARG_COUNT(args, 2); in FdFdstatSetFlags()
543 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdFdstatSetFlags()
544 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, flags); in FdFdstatSetFlags()
545 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdFdstatSetFlags()
548 args.GetReturnValue().Set(err); in FdFdstatSetFlags()
552 void WASI::FdFdstatSetRights(const FunctionCallbackInfo<Value>& args) { in FdFdstatSetRights() argument
557 RETURN_IF_BAD_ARG_COUNT(args, 3); in FdFdstatSetRights()
558 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdFdstatSetRights()
559 UNWRAP_BIGINT_OR_RETURN(args, args[1], Uint64, fs_rights_base); in FdFdstatSetRights()
560 UNWRAP_BIGINT_OR_RETURN(args, args[2], Uint64, fs_rights_inheriting); in FdFdstatSetRights()
561 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdFdstatSetRights()
571 args.GetReturnValue().Set(err); in FdFdstatSetRights()
575 void WASI::FdFilestatGet(const FunctionCallbackInfo<Value>& args) { in FdFilestatGet() argument
581 RETURN_IF_BAD_ARG_COUNT(args, 2); in FdFilestatGet()
582 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdFilestatGet()
583 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, buf); in FdFilestatGet()
584 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdFilestatGet()
586 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdFilestatGet()
587 CHECK_BOUNDS_OR_RETURN(args, mem_size, buf, UVWASI_SERDES_SIZE_filestat_t); in FdFilestatGet()
594 args.GetReturnValue().Set(err); in FdFilestatGet()
598 void WASI::FdFilestatSetSize(const FunctionCallbackInfo<Value>& args) { in FdFilestatSetSize() argument
602 RETURN_IF_BAD_ARG_COUNT(args, 2); in FdFilestatSetSize()
603 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdFilestatSetSize()
604 UNWRAP_BIGINT_OR_RETURN(args, args[1], Uint64, st_size); in FdFilestatSetSize()
605 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdFilestatSetSize()
608 args.GetReturnValue().Set(err); in FdFilestatSetSize()
612 void WASI::FdFilestatSetTimes(const FunctionCallbackInfo<Value>& args) { in FdFilestatSetTimes() argument
618 RETURN_IF_BAD_ARG_COUNT(args, 4); in FdFilestatSetTimes()
619 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdFilestatSetTimes()
620 UNWRAP_BIGINT_OR_RETURN(args, args[1], Uint64, st_atim); in FdFilestatSetTimes()
621 UNWRAP_BIGINT_OR_RETURN(args, args[2], Uint64, st_mtim); in FdFilestatSetTimes()
622 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, fst_flags); in FdFilestatSetTimes()
623 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdFilestatSetTimes()
635 args.GetReturnValue().Set(err); in FdFilestatSetTimes()
639 void WASI::FdPread(const FunctionCallbackInfo<Value>& args) { in FdPread() argument
648 RETURN_IF_BAD_ARG_COUNT(args, 5); in FdPread()
649 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdPread()
650 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, iovs_ptr); in FdPread()
651 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, iovs_len); in FdPread()
652 UNWRAP_BIGINT_OR_RETURN(args, args[3], Uint64, offset); in FdPread()
653 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, nread_ptr); in FdPread()
654 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdPread()
662 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdPread()
663 CHECK_BOUNDS_OR_RETURN(args, in FdPread()
667 CHECK_BOUNDS_OR_RETURN(args, mem_size, nread_ptr, UVWASI_SERDES_SIZE_size_t); in FdPread()
677 args.GetReturnValue().Set(err); in FdPread()
686 args.GetReturnValue().Set(err); in FdPread()
690 void WASI::FdPrestatGet(const FunctionCallbackInfo<Value>& args) { in FdPrestatGet() argument
696 RETURN_IF_BAD_ARG_COUNT(args, 2); in FdPrestatGet()
697 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdPrestatGet()
698 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, buf); in FdPrestatGet()
699 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdPrestatGet()
701 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdPrestatGet()
702 CHECK_BOUNDS_OR_RETURN(args, mem_size, buf, UVWASI_SERDES_SIZE_prestat_t); in FdPrestatGet()
709 args.GetReturnValue().Set(err); in FdPrestatGet()
713 void WASI::FdPrestatDirName(const FunctionCallbackInfo<Value>& args) { in FdPrestatDirName() argument
720 RETURN_IF_BAD_ARG_COUNT(args, 3); in FdPrestatDirName()
721 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdPrestatDirName()
722 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, path_ptr); in FdPrestatDirName()
723 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_len); in FdPrestatDirName()
724 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdPrestatDirName()
726 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdPrestatDirName()
727 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in FdPrestatDirName()
732 args.GetReturnValue().Set(err); in FdPrestatDirName()
736 void WASI::FdPwrite(const FunctionCallbackInfo<Value>& args) { in FdPwrite() argument
745 RETURN_IF_BAD_ARG_COUNT(args, 5); in FdPwrite()
746 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdPwrite()
747 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, iovs_ptr); in FdPwrite()
748 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, iovs_len); in FdPwrite()
749 UNWRAP_BIGINT_OR_RETURN(args, args[3], Uint64, offset); in FdPwrite()
750 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, nwritten_ptr); in FdPwrite()
751 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdPwrite()
759 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdPwrite()
760 CHECK_BOUNDS_OR_RETURN(args, in FdPwrite()
764 CHECK_BOUNDS_OR_RETURN(args, in FdPwrite()
777 args.GetReturnValue().Set(err); in FdPwrite()
791 args.GetReturnValue().Set(err); in FdPwrite()
795 void WASI::FdRead(const FunctionCallbackInfo<Value>& args) { in FdRead() argument
803 RETURN_IF_BAD_ARG_COUNT(args, 4); in FdRead()
804 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdRead()
805 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, iovs_ptr); in FdRead()
806 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, iovs_len); in FdRead()
807 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, nread_ptr); in FdRead()
808 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdRead()
810 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdRead()
811 CHECK_BOUNDS_OR_RETURN(args, in FdRead()
815 CHECK_BOUNDS_OR_RETURN(args, mem_size, nread_ptr, UVWASI_SERDES_SIZE_size_t); in FdRead()
825 args.GetReturnValue().Set(err); in FdRead()
834 args.GetReturnValue().Set(err); in FdRead()
838 void WASI::FdReaddir(const FunctionCallbackInfo<Value>& args) { in FdReaddir() argument
847 RETURN_IF_BAD_ARG_COUNT(args, 5); in FdReaddir()
848 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdReaddir()
849 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, buf_ptr); in FdReaddir()
850 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, buf_len); in FdReaddir()
851 UNWRAP_BIGINT_OR_RETURN(args, args[3], Uint64, cookie); in FdReaddir()
852 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, bufused_ptr); in FdReaddir()
853 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdReaddir()
861 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdReaddir()
862 CHECK_BOUNDS_OR_RETURN(args, mem_size, buf_ptr, buf_len); in FdReaddir()
863 CHECK_BOUNDS_OR_RETURN(args, in FdReaddir()
877 args.GetReturnValue().Set(err); in FdReaddir()
881 void WASI::FdRenumber(const FunctionCallbackInfo<Value>& args) { in FdRenumber() argument
885 RETURN_IF_BAD_ARG_COUNT(args, 2); in FdRenumber()
886 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, from); in FdRenumber()
887 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, to); in FdRenumber()
888 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdRenumber()
891 args.GetReturnValue().Set(err); in FdRenumber()
895 void WASI::FdSeek(const FunctionCallbackInfo<Value>& args) { in FdSeek() argument
903 RETURN_IF_BAD_ARG_COUNT(args, 4); in FdSeek()
904 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdSeek()
905 UNWRAP_BIGINT_OR_RETURN(args, args[1], Int64, offset); in FdSeek()
906 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, whence); in FdSeek()
907 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, newoffset_ptr); in FdSeek()
908 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdSeek()
910 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdSeek()
911 CHECK_BOUNDS_OR_RETURN(args, in FdSeek()
924 args.GetReturnValue().Set(err); in FdSeek()
928 void WASI::FdSync(const FunctionCallbackInfo<Value>& args) { in FdSync() argument
931 RETURN_IF_BAD_ARG_COUNT(args, 1); in FdSync()
932 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdSync()
933 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdSync()
936 args.GetReturnValue().Set(err); in FdSync()
940 void WASI::FdTell(const FunctionCallbackInfo<Value>& args) { in FdTell() argument
946 RETURN_IF_BAD_ARG_COUNT(args, 2); in FdTell()
947 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdTell()
948 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, offset_ptr); in FdTell()
949 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdTell()
951 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdTell()
952 CHECK_BOUNDS_OR_RETURN(args, in FdTell()
962 args.GetReturnValue().Set(err); in FdTell()
966 void WASI::FdWrite(const FunctionCallbackInfo<Value>& args) { in FdWrite() argument
974 RETURN_IF_BAD_ARG_COUNT(args, 4); in FdWrite()
975 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in FdWrite()
976 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, iovs_ptr); in FdWrite()
977 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, iovs_len); in FdWrite()
978 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, nwritten_ptr); in FdWrite()
979 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in FdWrite()
986 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in FdWrite()
987 CHECK_BOUNDS_OR_RETURN(args, in FdWrite()
991 CHECK_BOUNDS_OR_RETURN(args, in FdWrite()
1004 args.GetReturnValue().Set(err); in FdWrite()
1013 args.GetReturnValue().Set(err); in FdWrite()
1017 void WASI::PathCreateDirectory(const FunctionCallbackInfo<Value>& args) { in PathCreateDirectory() argument
1024 RETURN_IF_BAD_ARG_COUNT(args, 3); in PathCreateDirectory()
1025 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in PathCreateDirectory()
1026 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, path_ptr); in PathCreateDirectory()
1027 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_len); in PathCreateDirectory()
1028 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathCreateDirectory()
1030 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathCreateDirectory()
1031 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in PathCreateDirectory()
1036 args.GetReturnValue().Set(err); in PathCreateDirectory()
1040 void WASI::PathFilestatGet(const FunctionCallbackInfo<Value>& args) { in PathFilestatGet() argument
1049 RETURN_IF_BAD_ARG_COUNT(args, 5); in PathFilestatGet()
1050 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in PathFilestatGet()
1051 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, flags); in PathFilestatGet()
1052 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_ptr); in PathFilestatGet()
1053 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, path_len); in PathFilestatGet()
1054 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, buf_ptr); in PathFilestatGet()
1055 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathFilestatGet()
1061 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathFilestatGet()
1062 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in PathFilestatGet()
1063 CHECK_BOUNDS_OR_RETURN(args, in PathFilestatGet()
1077 args.GetReturnValue().Set(err); in PathFilestatGet()
1081 void WASI::PathFilestatSetTimes(const FunctionCallbackInfo<Value>& args) { in PathFilestatSetTimes() argument
1092 RETURN_IF_BAD_ARG_COUNT(args, 7); in PathFilestatSetTimes()
1093 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in PathFilestatSetTimes()
1094 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, flags); in PathFilestatSetTimes()
1095 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_ptr); in PathFilestatSetTimes()
1096 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, path_len); in PathFilestatSetTimes()
1097 UNWRAP_BIGINT_OR_RETURN(args, args[4], Uint64, st_atim); in PathFilestatSetTimes()
1098 UNWRAP_BIGINT_OR_RETURN(args, args[5], Uint64, st_mtim); in PathFilestatSetTimes()
1099 CHECK_TO_TYPE_OR_RETURN(args, args[6], Uint32, fst_flags); in PathFilestatSetTimes()
1100 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathFilestatSetTimes()
1110 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathFilestatSetTimes()
1111 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in PathFilestatSetTimes()
1120 args.GetReturnValue().Set(err); in PathFilestatSetTimes()
1124 void WASI::PathLink(const FunctionCallbackInfo<Value>& args) { in PathLink() argument
1135 RETURN_IF_BAD_ARG_COUNT(args, 7); in PathLink()
1136 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, old_fd); in PathLink()
1137 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, old_flags); in PathLink()
1138 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, old_path_ptr); in PathLink()
1139 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, old_path_len); in PathLink()
1140 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, new_fd); in PathLink()
1141 CHECK_TO_TYPE_OR_RETURN(args, args[5], Uint32, new_path_ptr); in PathLink()
1142 CHECK_TO_TYPE_OR_RETURN(args, args[6], Uint32, new_path_len); in PathLink()
1143 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathLink()
1153 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathLink()
1154 CHECK_BOUNDS_OR_RETURN(args, mem_size, old_path_ptr, old_path_len); in PathLink()
1155 CHECK_BOUNDS_OR_RETURN(args, mem_size, new_path_ptr, new_path_len); in PathLink()
1164 args.GetReturnValue().Set(err); in PathLink()
1168 void WASI::PathOpen(const FunctionCallbackInfo<Value>& args) { in PathOpen() argument
1181 RETURN_IF_BAD_ARG_COUNT(args, 9); in PathOpen()
1182 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, dirfd); in PathOpen()
1183 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, dirflags); in PathOpen()
1184 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_ptr); in PathOpen()
1185 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, path_len); in PathOpen()
1186 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, o_flags); in PathOpen()
1187 UNWRAP_BIGINT_OR_RETURN(args, args[5], Uint64, fs_rights_base); in PathOpen()
1188 UNWRAP_BIGINT_OR_RETURN(args, args[6], Uint64, fs_rights_inheriting); in PathOpen()
1189 CHECK_TO_TYPE_OR_RETURN(args, args[7], Uint32, fs_flags); in PathOpen()
1190 CHECK_TO_TYPE_OR_RETURN(args, args[8], Uint32, fd_ptr); in PathOpen()
1191 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathOpen()
1203 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathOpen()
1204 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in PathOpen()
1205 CHECK_BOUNDS_OR_RETURN(args, mem_size, fd_ptr, UVWASI_SERDES_SIZE_fd_t); in PathOpen()
1220 args.GetReturnValue().Set(err); in PathOpen()
1224 void WASI::PathReadlink(const FunctionCallbackInfo<Value>& args) { in PathReadlink() argument
1234 RETURN_IF_BAD_ARG_COUNT(args, 6); in PathReadlink()
1235 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in PathReadlink()
1236 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, path_ptr); in PathReadlink()
1237 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_len); in PathReadlink()
1238 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, buf_ptr); in PathReadlink()
1239 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, buf_len); in PathReadlink()
1240 CHECK_TO_TYPE_OR_RETURN(args, args[5], Uint32, bufused_ptr); in PathReadlink()
1241 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathReadlink()
1250 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathReadlink()
1251 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in PathReadlink()
1252 CHECK_BOUNDS_OR_RETURN(args, mem_size, buf_ptr, buf_len); in PathReadlink()
1253 CHECK_BOUNDS_OR_RETURN(args, in PathReadlink()
1268 args.GetReturnValue().Set(err); in PathReadlink()
1272 void WASI::PathRemoveDirectory(const FunctionCallbackInfo<Value>& args) { in PathRemoveDirectory() argument
1279 RETURN_IF_BAD_ARG_COUNT(args, 3); in PathRemoveDirectory()
1280 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in PathRemoveDirectory()
1281 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, path_ptr); in PathRemoveDirectory()
1282 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_len); in PathRemoveDirectory()
1283 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathRemoveDirectory()
1285 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathRemoveDirectory()
1286 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in PathRemoveDirectory()
1291 args.GetReturnValue().Set(err); in PathRemoveDirectory()
1295 void WASI::PathRename(const FunctionCallbackInfo<Value>& args) { in PathRename() argument
1305 RETURN_IF_BAD_ARG_COUNT(args, 6); in PathRename()
1306 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, old_fd); in PathRename()
1307 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, old_path_ptr); in PathRename()
1308 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, old_path_len); in PathRename()
1309 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, new_fd); in PathRename()
1310 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, new_path_ptr); in PathRename()
1311 CHECK_TO_TYPE_OR_RETURN(args, args[5], Uint32, new_path_len); in PathRename()
1312 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathRename()
1321 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathRename()
1322 CHECK_BOUNDS_OR_RETURN(args, mem_size, old_path_ptr, old_path_len); in PathRename()
1323 CHECK_BOUNDS_OR_RETURN(args, mem_size, new_path_ptr, new_path_len); in PathRename()
1331 args.GetReturnValue().Set(err); in PathRename()
1335 void WASI::PathSymlink(const FunctionCallbackInfo<Value>& args) { in PathSymlink() argument
1344 RETURN_IF_BAD_ARG_COUNT(args, 5); in PathSymlink()
1345 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, old_path_ptr); in PathSymlink()
1346 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, old_path_len); in PathSymlink()
1347 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, fd); in PathSymlink()
1348 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, new_path_ptr); in PathSymlink()
1349 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, new_path_len); in PathSymlink()
1350 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathSymlink()
1358 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathSymlink()
1359 CHECK_BOUNDS_OR_RETURN(args, mem_size, old_path_ptr, old_path_len); in PathSymlink()
1360 CHECK_BOUNDS_OR_RETURN(args, mem_size, new_path_ptr, new_path_len); in PathSymlink()
1367 args.GetReturnValue().Set(err); in PathSymlink()
1371 void WASI::PathUnlinkFile(const FunctionCallbackInfo<Value>& args) { in PathUnlinkFile() argument
1378 RETURN_IF_BAD_ARG_COUNT(args, 3); in PathUnlinkFile()
1379 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, fd); in PathUnlinkFile()
1380 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, path_ptr); in PathUnlinkFile()
1381 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, path_len); in PathUnlinkFile()
1382 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PathUnlinkFile()
1384 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PathUnlinkFile()
1385 CHECK_BOUNDS_OR_RETURN(args, mem_size, path_ptr, path_len); in PathUnlinkFile()
1390 args.GetReturnValue().Set(err); in PathUnlinkFile()
1394 void WASI::PollOneoff(const FunctionCallbackInfo<Value>& args) { in PollOneoff() argument
1402 RETURN_IF_BAD_ARG_COUNT(args, 4); in PollOneoff()
1403 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, in_ptr); in PollOneoff()
1404 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, out_ptr); in PollOneoff()
1405 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, nsubscriptions); in PollOneoff()
1406 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, nevents_ptr); in PollOneoff()
1407 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in PollOneoff()
1414 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in PollOneoff()
1415 CHECK_BOUNDS_OR_RETURN(args, in PollOneoff()
1419 CHECK_BOUNDS_OR_RETURN(args, in PollOneoff()
1423 CHECK_BOUNDS_OR_RETURN(args, in PollOneoff()
1450 args.GetReturnValue().Set(err); in PollOneoff()
1454 void WASI::ProcExit(const FunctionCallbackInfo<Value>& args) { in ProcExit() argument
1457 RETURN_IF_BAD_ARG_COUNT(args, 1); in ProcExit()
1458 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, code); in ProcExit()
1459 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in ProcExit()
1461 args.GetReturnValue().Set(uvwasi_proc_exit(&wasi->uvw_, code)); in ProcExit()
1465 void WASI::ProcRaise(const FunctionCallbackInfo<Value>& args) { in ProcRaise() argument
1468 RETURN_IF_BAD_ARG_COUNT(args, 1); in ProcRaise()
1469 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, sig); in ProcRaise()
1470 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in ProcRaise()
1473 args.GetReturnValue().Set(err); in ProcRaise()
1477 void WASI::RandomGet(const FunctionCallbackInfo<Value>& args) { in RandomGet() argument
1483 RETURN_IF_BAD_ARG_COUNT(args, 2); in RandomGet()
1484 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, buf_ptr); in RandomGet()
1485 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, buf_len); in RandomGet()
1486 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in RandomGet()
1488 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in RandomGet()
1489 CHECK_BOUNDS_OR_RETURN(args, mem_size, buf_ptr, buf_len); in RandomGet()
1493 args.GetReturnValue().Set(err); in RandomGet()
1497 void WASI::SchedYield(const FunctionCallbackInfo<Value>& args) { in SchedYield() argument
1499 RETURN_IF_BAD_ARG_COUNT(args, 0); in SchedYield()
1500 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in SchedYield()
1503 args.GetReturnValue().Set(err); in SchedYield()
1506 void WASI::SockAccept(const FunctionCallbackInfo<Value>& args) { in SockAccept() argument
1513 RETURN_IF_BAD_ARG_COUNT(args, 3); in SockAccept()
1514 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, sock); in SockAccept()
1515 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, flags); in SockAccept()
1516 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, fd_ptr); in SockAccept()
1517 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in SockAccept()
1523 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in SockAccept()
1524 CHECK_BOUNDS_OR_RETURN(args, mem_size, fd_ptr, UVWASI_SERDES_SIZE_fd_t); in SockAccept()
1535 args.GetReturnValue().Set(err); in SockAccept()
1538 void WASI::SockRecv(const FunctionCallbackInfo<Value>& args) { in SockRecv() argument
1548 RETURN_IF_BAD_ARG_COUNT(args, 6); in SockRecv()
1549 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, sock); in SockRecv()
1550 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, ri_data_ptr); in SockRecv()
1551 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, ri_data_len); in SockRecv()
1552 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, ri_flags); in SockRecv()
1553 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, ro_datalen_ptr); in SockRecv()
1554 CHECK_TO_TYPE_OR_RETURN(args, args[5], Uint32, ro_flags_ptr); in SockRecv()
1555 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in SockRecv()
1564 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in SockRecv()
1565 CHECK_BOUNDS_OR_RETURN(args, in SockRecv()
1569 CHECK_BOUNDS_OR_RETURN(args, mem_size, ro_datalen_ptr, 4); in SockRecv()
1570 CHECK_BOUNDS_OR_RETURN(args, mem_size, ro_flags_ptr, 4); in SockRecv()
1578 args.GetReturnValue().Set(err); in SockRecv()
1596 args.GetReturnValue().Set(err); in SockRecv()
1600 void WASI::SockSend(const FunctionCallbackInfo<Value>& args) { in SockSend() argument
1609 RETURN_IF_BAD_ARG_COUNT(args, 5); in SockSend()
1610 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, sock); in SockSend()
1611 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, si_data_ptr); in SockSend()
1612 CHECK_TO_TYPE_OR_RETURN(args, args[2], Uint32, si_data_len); in SockSend()
1613 CHECK_TO_TYPE_OR_RETURN(args, args[3], Uint32, si_flags); in SockSend()
1614 CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, so_datalen_ptr); in SockSend()
1615 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in SockSend()
1623 GET_BACKING_STORE_OR_RETURN(wasi, args, &memory, &mem_size); in SockSend()
1624 CHECK_BOUNDS_OR_RETURN(args, in SockSend()
1628 CHECK_BOUNDS_OR_RETURN(args, in SockSend()
1639 args.GetReturnValue().Set(err); in SockSend()
1653 args.GetReturnValue().Set(err); in SockSend()
1657 void WASI::SockShutdown(const FunctionCallbackInfo<Value>& args) { in SockShutdown() argument
1661 RETURN_IF_BAD_ARG_COUNT(args, 2); in SockShutdown()
1662 CHECK_TO_TYPE_OR_RETURN(args, args[0], Uint32, sock); in SockShutdown()
1663 CHECK_TO_TYPE_OR_RETURN(args, args[1], Uint32, how); in SockShutdown()
1664 ASSIGN_INITIALIZED_OR_RETURN_UNWRAP(&wasi, args.This()); in SockShutdown()
1667 args.GetReturnValue().Set(err); in SockShutdown()
1671 void WASI::_SetMemory(const FunctionCallbackInfo<Value>& args) { in _SetMemory() argument
1673 ASSIGN_OR_RETURN_UNWRAP(&wasi, args.This()); in _SetMemory()
1674 CHECK_EQ(args.Length(), 1); in _SetMemory()
1675 if (!args[0]->IsWasmMemoryObject()) { in _SetMemory()
1681 wasi->memory_.Reset(wasi->env()->isolate(), args[0].As<WasmMemoryObject>()); in _SetMemory()