File tree Expand file tree Collapse file tree 3 files changed +31
-0
lines changed
Expand file tree Collapse file tree 3 files changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -3,10 +3,13 @@ mod cgi_host;
33mod error;
44mod http;
55mod http_host;
6+ mod memory;
7+ mod memory_host;
68mod socket;
79mod socket_host;
810
911pub use cgi:: * ;
1012pub use error:: * ;
1113pub use http:: * ;
14+ pub use memory:: * ;
1215pub use socket:: * ;
Original file line number Diff line number Diff line change 1+ use crate :: memory_host:: * ;
2+
3+ pub fn read_stdin ( buf : & mut [ u8 ] ) -> std:: io:: Result < u32 > {
4+ let mut len = 0 ;
5+ let errno = unsafe { memory_read ( buf. as_mut_ptr ( ) , buf. len ( ) as _ , & mut len) } ;
6+ if errno == 0 {
7+ return Ok ( len) ;
8+ }
9+ let err = std:: io:: Error :: from_raw_os_error ( errno as i32 ) ;
10+ Err ( err)
11+ }
12+
13+ pub fn read_env_vars ( buf : & mut [ u8 ] ) -> std:: io:: Result < u32 > {
14+ let mut len = 0 ;
15+ let errno = unsafe { env_var_read ( buf. as_mut_ptr ( ) , buf. len ( ) as _ , & mut len) } ;
16+ if errno == 0 {
17+ return Ok ( len) ;
18+ }
19+ let err = std:: io:: Error :: from_raw_os_error ( errno as i32 ) ;
20+ Err ( err)
21+ }
Original file line number Diff line number Diff line change 1+ #[ link( wasm_import_module = "blockless_memory" ) ]
2+ extern "C" {
3+ #[ link_name = "memory_read" ]
4+ pub ( crate ) fn memory_read ( buf : * mut u8 , len : u32 , num : * mut u32 ) -> u32 ;
5+ #[ link_name = "env_var_read" ]
6+ pub ( crate ) fn env_var_read ( buf : * mut u8 , len : u32 , num : * mut u32 ) -> u32 ;
7+ }
You can’t perform that action at this time.
0 commit comments