32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
# Base OS API
|
|
## `s(name,function,environment)`
|
|
Spawns a process from `function` under the name `name`, with the environment table specified in `environment`. Environment doesn't really have much use right now.
|
|
|
|
## `l() `
|
|
Returns the last event.
|
|
|
|
## `h(...)`
|
|
Pushes an event to the queue, with whatever data you specify. Generally used for IPC.
|
|
# Module APIs
|
|
## library/print.lua
|
|
These functions should be display device independent.
|
|
### `print(...)`
|
|
Displays its arguments on the display device as a string, with a newline.
|
|
### `write(...)`
|
|
Displays its arguments on the display device as a string, without a newline
|
|
## drivers/keyboard.lua
|
|
This is a device-specific driver.
|
|
### `readln()`
|
|
Reads a line of input from the keyboard.
|
|
## library/net.lua
|
|
Note: Settings have to be set in the kernel module, at the line
|
|
```
|
|
tM,nP,nID = {}, 4096, 1
|
|
```
|
|
Where 4096 is the port and 1 is the device ID. Device ID can be any data type, port must be a number.
|
|
|
|
Network messages can be read from `_G.ev`, they have the type `net_msg`
|
|
### `ns(id,po,msg)`
|
|
Sends network message `msg` to device `id` on port `po`
|
|
|