@@ -1648,6 +1648,9 @@ void
16481648wasm_runtime_instantiation_args_set_defaults (struct InstantiationArgs2 * args )
16491649{
16501650 memset (args , 0 , sizeof (* args ));
1651+ #if WASM_ENABLE_LIBC_WASI != 0
1652+ wasi_args_set_defaults (& args -> wasi );
1653+ #endif
16511654}
16521655
16531656WASMModuleInstanceCommon *
@@ -1714,6 +1717,84 @@ wasm_runtime_instantiation_args_set_max_memory_pages(
17141717 p -> v1 .max_memory_pages = v ;
17151718}
17161719
1720+ #if WASM_ENABLE_LIBC_WASI != 0
1721+ void
1722+ wasm_runtime_instantiation_args_set_wasi_arg (struct InstantiationArgs2 * p ,
1723+ char * argv [], int argc )
1724+ {
1725+ WASIArguments * wasi_args = & p -> wasi ;
1726+
1727+ wasi_args -> argv = argv ;
1728+ wasi_args -> argc = (uint32 )argc ;
1729+ wasi_args -> set_by_user = true;
1730+ }
1731+
1732+ void
1733+ wasm_runtime_instantiation_args_set_wasi_env (struct InstantiationArgs2 * p ,
1734+ const char * env [],
1735+ uint32 env_count )
1736+ {
1737+ WASIArguments * wasi_args = & p -> wasi ;
1738+
1739+ wasi_args -> env = env ;
1740+ wasi_args -> env_count = env_count ;
1741+ wasi_args -> set_by_user = true;
1742+ }
1743+
1744+ void
1745+ wasm_runtime_instantiation_args_set_wasi_dir (struct InstantiationArgs2 * p ,
1746+ const char * dir_list [],
1747+ uint32 dir_count ,
1748+ const char * map_dir_list [],
1749+ uint32 map_dir_count )
1750+ {
1751+ WASIArguments * wasi_args = & p -> wasi ;
1752+
1753+ wasi_args -> dir_list = dir_list ;
1754+ wasi_args -> dir_count = dir_count ;
1755+ wasi_args -> map_dir_list = map_dir_list ;
1756+ wasi_args -> map_dir_count = map_dir_count ;
1757+ wasi_args -> set_by_user = true;
1758+ }
1759+
1760+ void
1761+ wasm_runtime_instantiation_args_set_wasi_stdio (struct InstantiationArgs2 * p ,
1762+ int64 stdinfd , int64 stdoutfd ,
1763+ int64 stderrfd )
1764+ {
1765+ WASIArguments * wasi_args = & p -> wasi ;
1766+
1767+ wasi_args -> stdio [0 ] = (os_raw_file_handle )stdinfd ;
1768+ wasi_args -> stdio [1 ] = (os_raw_file_handle )stdoutfd ;
1769+ wasi_args -> stdio [2 ] = (os_raw_file_handle )stderrfd ;
1770+ wasi_args -> set_by_user = true;
1771+ }
1772+
1773+ void
1774+ wasm_runtime_instantiation_args_set_wasi_addr_pool (struct InstantiationArgs2 * p ,
1775+ const char * addr_pool [],
1776+ uint32 addr_pool_size )
1777+ {
1778+ WASIArguments * wasi_args = & p -> wasi ;
1779+
1780+ wasi_args -> addr_pool = addr_pool ;
1781+ wasi_args -> addr_count = addr_pool_size ;
1782+ wasi_args -> set_by_user = true;
1783+ }
1784+
1785+ void
1786+ wasm_runtime_instantiation_args_set_wasi_ns_lookup_pool (
1787+ struct InstantiationArgs2 * p , const char * ns_lookup_pool [],
1788+ uint32 ns_lookup_pool_size )
1789+ {
1790+ WASIArguments * wasi_args = & p -> wasi ;
1791+
1792+ wasi_args -> ns_lookup_pool = ns_lookup_pool ;
1793+ wasi_args -> ns_lookup_count = ns_lookup_pool_size ;
1794+ wasi_args -> set_by_user = true;
1795+ }
1796+ #endif /* WASM_ENABLE_LIBC_WASI != 0 */
1797+
17171798WASMModuleInstanceCommon *
17181799wasm_runtime_instantiate_ex2 (WASMModuleCommon * module ,
17191800 const struct InstantiationArgs2 * args ,
@@ -3494,6 +3575,7 @@ wasm_runtime_set_wasi_args_ex(WASMModuleCommon *module, const char *dir_list[],
34943575 wasi_args -> stdio [0 ] = (os_raw_file_handle )stdinfd ;
34953576 wasi_args -> stdio [1 ] = (os_raw_file_handle )stdoutfd ;
34963577 wasi_args -> stdio [2 ] = (os_raw_file_handle )stderrfd ;
3578+ wasi_args -> set_by_user = true;
34973579
34983580#if WASM_ENABLE_MULTI_MODULE != 0
34993581#if WASM_ENABLE_INTERP != 0
@@ -3524,6 +3606,7 @@ wasm_runtime_set_wasi_addr_pool(wasm_module_t module, const char *addr_pool[],
35243606 if (wasi_args ) {
35253607 wasi_args -> addr_pool = addr_pool ;
35263608 wasi_args -> addr_count = addr_pool_size ;
3609+ wasi_args -> set_by_user = true;
35273610 }
35283611}
35293612
@@ -3537,6 +3620,7 @@ wasm_runtime_set_wasi_ns_lookup_pool(wasm_module_t module,
35373620 if (wasi_args ) {
35383621 wasi_args -> ns_lookup_pool = ns_lookup_pool ;
35393622 wasi_args -> ns_lookup_count = ns_lookup_pool_size ;
3623+ wasi_args -> set_by_user = true;
35403624 }
35413625}
35423626
0 commit comments