The module probe
A module of commands that tests the sandbox of an isolated call (property 19). Each export does what a module must not be able to do to its caller: read any address, take all the processor time, use a handle that it did not receive. The console calls it with isolate("probe"). Do not load it directly: then it runs with the memory and the handles of the console.
| Fact | Value |
|---|---|
| Source | modules/probe |
| Boot image | in the boot image; the image is not built, so its size is not known |
| Imports | none |
| Imported by | none |
Exports
| Export | What it does |
|---|---|
| peek(address: Integer) -> Integer | reads 8 bytes at an address |
| count() -> Integer | gives the number of calls of count |
| spin() -> Integer | never returns |
| stop_machine(handle: Integer) -> Integer | asks the kernel to stop the machine with a handle |
| checksum(text: Text) -> Integer | adds the bytes of a text |
| shout(text: Text) -> Text | gives a text in capital letters |
| lie(count: Integer) -> Text | writes no text, and gives a false count of bytes |
| log_long(count: Integer) -> Integer | writes one text of count bytes on the log (at most 2000): digits, then the words "the end of the long text" |
Read from the source of the module, as the build reads it to describe the exports (tools/kerneltool/describe.odin).
