34 lines
838 B
C
34 lines
838 B
C
#ifndef NYRT_H
|
||
#define NYRT_H
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
// Phase 20.36/20.37: C‑ABI scaffold (PoC)
|
||
// Minimal kernel API for Rust runtime; subject to evolution.
|
||
|
||
// Initialize NyRT kernel. Returns 0 on success.
|
||
int nyrt_init(void);
|
||
|
||
// Tear down NyRT kernel.
|
||
void nyrt_teardown(void);
|
||
|
||
// Load MIR(JSON v1) text. Returns a handle (>=1) or 0 on error.
|
||
unsigned long nyrt_load_mir_json(const char* json_text);
|
||
|
||
// Execute main() of the loaded module. Returns process‑like rc (0..255).
|
||
int nyrt_exec_main(unsigned long module_handle);
|
||
|
||
// Hostcall bridge (name = "env.*" / provider). Returns 0 on success.
|
||
int nyrt_hostcall(const char* name, const char* method,
|
||
const char* payload_json,
|
||
/*out*/ char* out_buf, unsigned int out_buf_len);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif // NYRT_H
|
||
|