Module kernel - RMoX kernel interface and types
RMoX kernel interface and types.
Index
-
Group
CFG.TYPE- Configuration entry type constants-
Constant
CFG.TYPE.FLOAT- Floating point value -
Constant
CFG.TYPE.INTEGER- Integer value -
Constant
CFG.TYPE.INVALID- Invalid/no type -
Constant
CFG.TYPE.STRING- String value
-
Constant
-
Channel type
CT.CFG- Configuration channel-type-
Variable
in?- Requests -
Variable
out!- Responses -
Variable
return?- Returned connection
-
Variable
-
Channel type
CT.DIR- Generic directory I/O channel-type-
Variable
in?- Commands to directory handling process -
Variable
out!- Responses from directory handling process -
Variable
return?- Used to close the connection
-
Variable
-
Channel type
CT.DRIVER- Driver core channel type-
Variable
in?- Commands to driver -
Variable
out!- Responses from driver
-
Variable
-
Channel type
CT.DRIVER.R- Channel-type for driver return-
Variable
ret?- Response from system
-
Variable
-
Channel type
CT.FILE- Generic file I/O channel-type-
Variable
in?- Commands to file handling process -
Variable
out!- Responses from file handling process -
Variable
return?- Used to close the connection
-
Variable
-
Channel type
CT.FILE.R- Channel-type for file return-
Variable
ret?- Response from system
-
Variable
-
Channel type
CT.FS- File system channel type-
Variable
in?- Commands to file-systems -
Variable
out!- Responses from file-systems
-
Variable
-
Channel type
CT.NETWORK- Network core channel-type-
Variable
in?- Requests to network core -
Variable
out!- Responses from network core
-
Variable
-
Channel type
CT.RETURN.PATH- Generic return path channel type-
Variable
in?- Any channel type communicated over this
-
Variable
-
Channel type
CT.SERVICE- Service core channel-type-
Variable
in?- Requests to service core -
Variable
out!- Responses from service core
-
Variable
-
Channel type
CT.SERVICE.R- Channel-type for service return-
Variable
ret?- Response from system
-
Variable
-
Protocol
DIR.IN- Directory input protocol
-
Protocol
DIR.OUT- Directory output protocol-
Tag
dir.entry- Name, mode -
Tag
result- General result (and absolute offs after seek)
-
Tag
-
Group
DRV- driver type flags-
Constant
DRV.B- Block device (see ) -
Constant
DRV.D- Device specific interface -
Constant
DRV.I- Input device (see ) -
Constant
DRV.NONE- No directly usable driver interface -
Constant
DRV.O- Output device (see ) -
Constant
DRV.SB- Shared block device (see ) -
Constant
DRV.SD- Shared device specific interface -
Constant
DRV.SI- Shared input device (see ) -
Constant
DRV.SO- Shared output device (see )
-
Constant
-
Protocol
FILE.IN- File input protocol-
Tag
get.devnum- Get device number (identifier) -
Tag
ioctl- IO control capability -
Tag
read.buf- Read the specified number of bytes -
Tag
read.byte- Read a single byte -
Tag
seek- Seek to specified offset -
Tag
stat- Stat file -
Tag
sync- Sync file with underlying device -
Tag
write.buf- Write a byte buffer -
Tag
write.byte- Write a single byte
-
Tag
-
Protocol
FILE.OUT- File output protocol-
Tag
read.ok- Read response, data after read.buf request -
Tag
result- Generic result or error -
Tag
seek- Seek response, returns new absolute offset -
Tag
stat.ok- Stat response
-
Tag
-
Group
FSCAP- File-system capability bits-
Constant
FSCAP.DIR- File-system supports directory operations -
Constant
FSCAP.FILE- File-system supports file operations -
Constant
FSCAP.NONE- No capabilities set
-
Constant
-
Channel type
LOG- Generic logging facility-
Variable
b?- Byte stream to log -
Variable
mb?- String stream to log
-
Variable
-
Group
MODE- Permission and file-type bits-
Constant
MODE.BLOCK- Block device -
Constant
MODE.CHAR- Character device -
Constant
MODE.DIR- Directory -
Constant
MODE.EXEC- Execute bits mask -
Constant
MODE.FIFO- FIFO (not supported yet) -
Constant
MODE.FILE- Regular file -
Constant
MODE.G.R- Group read -
Constant
MODE.G.W- Group write -
Constant
MODE.G.X- Group execute -
Constant
MODE.GROUP- Group mask -
Constant
MODE.LINK- Symbolic link (not supported yet) -
Constant
MODE.MODEMASK- Mask for mode (permission) bits -
Constant
MODE.O.R- Other read -
Constant
MODE.O.W- Other write -
Constant
MODE.O.X- Other execute -
Constant
MODE.OTHER- Other mask -
Constant
MODE.READ- Read bits mask -
Constant
MODE.SOCK- Socket (not supported yet) -
Constant
MODE.TYPEMASK- Mask for file-type bits -
Constant
MODE.U.R- User read -
Constant
MODE.U.W- User write -
Constant
MODE.U.X- User execute -
Constant
MODE.USER- User mask -
Constant
MODE.WRITE- Write bits mask
-
Constant
-
Group
MODE.OPEN- File-open mode constants-
Constant
MODE.OPEN.CREAT- Create if file doesn't exist -
Constant
MODE.OPEN.READ- Open for reading -
Constant
MODE.OPEN.TRUNC- Truncate file contents if it does exist -
Constant
MODE.OPEN.WRITE- Open for writing
-
Constant
-
Protocol
P.CFG.IN- Configuration input protocol-
Tag
get.type- Gets the type of a configuration entry -
Tag
read.any- Read any typed value from the configuration, responds with string}, [@text integer] or [@text result] -
Tag
read.float- Read a floating-point value from the configuration, responds with float -
Tag
read.int- Read an integer value from the configuration, responds with integer or result -
Tag
read.string- Read a string value from the configuration, responds with string or result
-
Tag
-
Protocol
P.CFG.OUT- Configuration output protocol-
Tag
float- Returned floating-point value -
Tag
integer- Returned integer value -
Tag
result- Generic result -
Tag
string- Returned string value
-
Tag
-
Protocol
P.DRIVER.IN- Driver core input protocol-
Tag
connect.to.driver- Connect to a device driver -
Tag
int.connect.to.driver- Internal connect to a device driver -
Tag
int.list.drivers- Internal list nested device drivers -
Tag
int.stop.driver- Internal stop device driver -
Tag
list.drivers- List device drviers -
Tag
start.driver- Start device driver -
Tag
stop.driver- Stop device driver
-
Tag
-
Protocol
P.DRIVER.OUT- Driver core output protocol-
Tag
device.busy- Device busy (driver startup only) -
Tag
no.such.device- No such device (driver startup only) -
Tag
ok- Success -
Tag
ok.ext- Extended OK, passes back flags -
Tag
ok.name- Success with name (driver startup only) -
Tag
ok.reconnect- Extended OK, connect to something else
-
Tag
-
Protocol
P.DRIVER.R.OUT- Driver return protocol-
Tag
block.device- Block device -
Tag
device- Device specific interface -
Tag
device.busy- Device is currently in use -
Tag
device.name- Device name and bits -
Tag
input.device- Input device -
Tag
no.such.device- No such device -
Tag
ok- End of list / general okay -
Tag
output.device- Output device -
Tag
result- General result -
Tag
shared.block.device- Shared block device -
Tag
shared.device- Shared device specific interface -
Tag
shared.input.device- Shared input device -
Tag
shared.output.device- Shared output device
-
Tag
-
Protocol
P.FILE.R.OUT- File return protocol-
Tag
dir.ok- Successfully opened directory -
Tag
file.ok- Successfully opened file -
Tag
mounted- Mounted file-system -
Tag
result- Generic result -
Tag
stat.ok- Successful file or directory stat
-
Tag
-
Protocol
P.FS.IN- File-system input protocol-
Tag
chmod- Changes the mode of a file or directory, responds with result on return -
Tag
init- Initialise file-system core (called once at startup) -
Tag
list.mounts- Lists mounted file-systems, responds with mounted followed by result on return -
Tag
mkdir- Creates a directory, responds with result on return -
Tag
mount.fs- Mount file-system, responds with mounted or result on return -
Tag
open.dir- Opens a directory, responds with dir.ok or result on return -
Tag
open.file- Opens a file, responds with file.ok or result on return -
Tag
stat- Stat a file or directory, responds with stat.ok or result on return -
Tag
sub.mount.fs- Checks inside a file-system for a valid mount-point, responds with result -
Tag
sub.umount.fs- Checks inside a file-system for an umount request, responds with result -
Tag
umount.fs- Un-mount file-system, responds with result on return -
Tag
unlink- Unlink a file or directory, responds with result on return
-
Tag
-
Protocol
P.FS.OUT- File system output protocol-
Tag
result- Generic result
-
Tag
-
Protocol
P.KERNEL.IN- Kernel input protocol-
Tag
chmod- Change mode on file or directory, responds with result on return -
Tag
driver.core.access- Get access to driver core -
Tag
fs.core.access- Get access to file-system core -
Tag
get.datestamp- Get kernel datestamp, responds with hostname -
Tag
get.hostname- Get hostname -
Tag
get.log- Returns an shared end of the channel -
Tag
get.version- Get kernel version, responds with hostname -
Tag
init- Initialise kernel (called once at startup) -
Tag
log.message- Add a message to the kernel log -
Tag
mkdir- Create directory, responds with result on return -
Tag
mount.fs- Mount file-system, responds with result on return -
Tag
network.core.access- Get access to network core -
Tag
open.dir- Open directory, responds with dir.ok or result on return -
Tag
open.file- Open file, responds with file.ok or result on return -
Tag
service.core.access- Get access to service core -
Tag
set.hostname- Set hostname -
Tag
start.sysconsole- Start a new system console, responds with result on return -
Tag
stat- Stat file or directory, responds with stat.ok or result on return -
Tag
umount.fs- Unmount file-system, responds with result on return -
Tag
unlink- Unlink file or directory, responds with result on return
-
Tag
-
Protocol
P.KERNEL.OUT- Kernel output protocol-
Tag
driver.core- Link to driver-core -
Tag
fs.core- Link to fs-core -
Tag
hostname- Returned hostname (also used for other things) -
Tag
log- Shared end of kernellog -
Tag
mobile.chan- Generic mobile channel (unshared) -
Tag
network.core- Link to network-core -
Tag
result- Generic result -
Tag
service.core- Link to service-core
-
Tag
-
Protocol
P.NETWORK.IN- Network core input protocol-
Tag
add.route- Add routing table entry -
Tag
close.socket- Closes a network socket -
Tag
config.interface- Configure/reconfigure network interface -
Tag
del.route- Delete routing table entry -
Tag
enable.dumping- Enable packet dumping (debugging) -
Tag
init- Initialise network core -
Tag
list.interfaces- List network interfaces -
Tag
list.routes- List routing table entries -
Tag
open.icmp.server- Open connection to ICMP server -
Tag
open.socket- Opens a network socket -
Tag
open.tcp.server- Open connection to TCP server -
Tag
open.udp.server- Open connection to UDP server -
Tag
start.interface- Start network interface -
Tag
stop.interface- Stop network interface
-
Tag
-
Protocol
P.NETWORK.OUT- Network core output protocol-
Tag
error- Error condition -
Tag
icmp.slink- ICMP server connection -
Tag
interface.name- Interface names when listing interfaces -
Tag
ok- Generic successful response -
Tag
route.entry- Routing table entry when listing routes -
Tag
socket- Returned file interface (see ) when opening socket -
Tag
tcp.slink- TCP server connection -
Tag
udp.slink- UDP server connection
-
Tag
-
Protocol
P.SERVICE.IN- Service core input protocol-
Tag
connect.to.service- Connect to service -
Tag
init- Initialise service core -
Tag
int.connect.to.service- Internal connect to service -
Tag
int.list.services- Internal list services -
Tag
int.stop.service- Internal start service -
Tag
list.services- List services -
Tag
start.service- Start the specified service -
Tag
stop.service- Stop the specified service
-
Tag
-
Protocol
P.SERVICE.OUT- Service core output protocol-
Tag
no.such.service- No such service -
Tag
ok- Generic ok -
Tag
ok.name- Ok with name (initial startup only) -
Tag
ok.reconnect- Request connection to another service -
Tag
service.busy- Service currently busy
-
Tag
-
Protocol
P.SERVICE.R.OUT- Service return protocol-
Tag
no.such.service- No such service -
Tag
ok- End of list / general okay -
Tag
result- General result -
Tag
service- Connection to service -
Tag
service.busy- Service currently busy -
Tag
service.name- Service names when listing services -
Tag
shared.service- Connection to shared service
-
Tag
-
Group
SEEK- File and directory seek constants-
Constant
SEEK.BEG- Seek from beginning of file or directory -
Constant
SEEK.CUR- Seek from current position -
Constant
SEEK.END- Seek backwards from end of file or directory
-
Constant
-
Record
STAT.BUF- Generic file statistics buffer-
Variable
dev- Device identifier -
Variable
first16- First 16 block numbers -
Variable
inode- Inode number on device -
Variable
mode- Mode for this file (see ) -
Variable
nblks- Number of device blocks occupied by this file -
Variable
nlinks- Number of hard links to this file -
Variable
size- Size of this file (in bytes)
-
Variable
-
Variable
in?- Requests to kernel -
Variable
out!- Responses from kernel
Declarations
coreif.inc:31Channel type LOG
CHAN TYPE LOG
Generic logging facility.
coreif.inc:34Variable b?
CHAN BYTE
Byte stream to log.
coreif.inc:36Variable mb?
CHAN MOBILE []BYTE
String stream to log.
coreif.inc:41Channel type CT.RETURN.PATH
CHAN TYPE CT.RETURN.PATH
Generic return path channel type.
coreif.inc:44Variable in?
CHAN MOBILE.CHAN
Any channel type communicated over this.
coreif.inc:55Record STAT.BUF
DATA TYPE STAT.BUF
Generic file statistics buffer.
coreif.inc:57Variable dev
INT
Device identifier.
coreif.inc:58Variable inode
INT
Inode number on device.
coreif.inc:60Variable nlinks
INT
Number of hard links to this file.
coreif.inc:61Variable size
INT64
Size of this file (in bytes).
coreif.inc:62Variable nblks
INT
Number of device blocks occupied by this file.
coreif.inc:63Variable first16
[16]INT
First 16 block numbers.
coreif.inc:67Group SEEK
File and directory seek constants.
coreif.inc:68Constant SEEK.BEG
VAL INT SEEK.BEG
Seek from beginning of file or directory.
coreif.inc:69Constant SEEK.CUR
VAL INT SEEK.CUR
Seek from current position.
coreif.inc:70Constant SEEK.END
VAL INT SEEK.END
Seek backwards from end of file or directory.
coreif.inc:75Protocol FILE.IN
PROTOCOL FILE.IN
File input protocol.
coreif.inc:80Tag seek
seek = 0; INT64; INT
Seek to specified offset.
Parameters:
INT64 |
offset |
Offset to seek to. |
INT |
start |
Where to seek from (SEEK). |
coreif.inc:81Tag write.byte
write.byte = 1; BYTE
Write a single byte.
coreif.inc:82Tag write.buf
write.buf = 2; MOBILE []BYTE
Write a byte buffer.
coreif.inc:83Tag read.byte
read.byte = 3
Read a single byte.
coreif.inc:84Tag read.buf
read.buf = 4; INT
Read the specified number of bytes.
coreif.inc:85Tag ioctl
ioctl = 5; INT; INT
IO control capability.
coreif.inc:86Tag get.devnum
get.devnum = 6
Get device number (identifier).
coreif.inc:87Tag stat
stat = 7
Stat file.
coreif.inc:88Tag sync
sync = 8
Sync file with underlying device.
coreif.inc:91Protocol FILE.OUT
PROTOCOL FILE.OUT
File output protocol.
coreif.inc:93Tag seek
seek = 0; INT64
Seek response, returns new absolute offset.
coreif.inc:94Tag read.ok
read.ok = 1; MOBILE []BYTE
Read response, data after read.buf request.
coreif.inc:95Tag result
result = 2; INT
Generic result or error.
coreif.inc:96Tag stat.ok
stat.ok = 3; STAT.BUF
Stat response.
coreif.inc:99Channel type CT.FILE
RECURSIVE CHAN TYPE CT.FILE
Generic file I/O channel-type.
coreif.inc:101Variable in?
CHAN FILE.IN
Commands to file handling process.
coreif.inc:102Variable out!
CHAN FILE.OUT
Responses from file handling process.
coreif.inc:103Variable return?
CHAN CT.FILE!
Used to close the connection.
coreif.inc:109Protocol DIR.IN
PROTOCOL DIR.IN
Directory input protocol.
coreif.inc:112Tag read
read
Read next entry.
coreif.inc:115Protocol DIR.OUT
PROTOCOL DIR.OUT
Directory output protocol.
coreif.inc:117Tag dir.entry
dir.entry; MOBILE []BYTE; INT
Name, mode.
coreif.inc:118Tag result
result; INT
General result (and absolute offs after seek).
coreif.inc:121Channel type CT.DIR
RECURSIVE CHAN TYPE CT.DIR
Generic directory I/O channel-type.
coreif.inc:123Variable in?
CHAN DIR.IN
Commands to directory handling process.
coreif.inc:124Variable out!
CHAN DIR.OUT
Responses from directory handling process.
coreif.inc:125Variable return?
CHAN CT.DIR!
Used to close the connection.
coreif.inc:131Protocol P.FILE.R.OUT
PROTOCOL P.FILE.R.OUT
File return protocol.
coreif.inc:133Tag result
result = 0; INT
Generic result.
coreif.inc:134Tag file.ok
file.ok = 1; CT.FILE!
Successfully opened file.
coreif.inc:135Tag dir.ok
dir.ok = 2; CT.DIR!
Successfully opened directory.
coreif.inc:136Tag stat.ok
stat.ok = 3; STAT.BUF
Successful file or directory stat.
coreif.inc:142Tag mounted
mounted = 4; MOBILE []BYTE; MOBILE []BYTE; MOBILE []BYTE
Mounted file-system.
Parameters:
MOBILE []BYTE |
device |
Device that was mounted. |
MOBILE []BYTE |
fs.type |
File-system type. |
MOBILE []BYTE |
mount.point |
Mount point. |
coreif.inc:146Channel type CT.FILE.R
CHAN TYPE CT.FILE.R
Channel-type for file return.
coreif.inc:148Variable ret?
CHAN P.FILE.R.OUT
Response from system.
coreif.inc:152Protocol P.DRIVER.R.OUT
PROTOCOL P.DRIVER.R.OUT
Driver return protocol.
coreif.inc:154Tag result
result = 0; INT
General result.
coreif.inc:155Tag no.such.device
no.such.device = 1
No such device.
coreif.inc:156Tag device.busy
device.busy = 2
Device is currently in use.
coreif.inc:157Tag input.device
input.device = 3; CT.INPUT!
Input device.
coreif.inc:159Tag output.device
output.device = 5; CT.OUTPUT!
Output device.
coreif.inc:161Tag block.device
block.device = 7; CT.BLOCK!
Block device.
coreif.inc:164Tag device
device = 10; MOBILE.CHAN
Device specific interface.
coreif.inc:166Tag ok
ok = 12
End of list / general okay.
coreif.inc:170Channel type CT.DRIVER.R
CHAN TYPE CT.DRIVER.R
Channel-type for driver return.
coreif.inc:172Variable ret?
CHAN P.DRIVER.R.OUT
Response from system.
coreif.inc:176Protocol P.SERVICE.R.OUT
PROTOCOL P.SERVICE.R.OUT
Service return protocol.
coreif.inc:178Tag result
result = 0; INT
General result.
coreif.inc:179Tag no.such.service
no.such.service = 1
No such service.
coreif.inc:180Tag service.busy
service.busy = 2
Service currently busy.
coreif.inc:184Tag service.name
service.name = 3; MOBILE []BYTE; INT
Service names when listing services.
Parameters:
MOBILE []BYTE |
name |
Service name. |
INT |
perm |
Permission bits. |
coreif.inc:185Tag service
service = 4; MOBILE.CHAN
Connection to service.
coreif.inc:187Tag ok
ok = 6
End of list / general okay.
coreif.inc:192Channel type CT.SERVICE.R
CHAN TYPE CT.SERVICE.R
Channel-type for service return.
coreif.inc:194Variable ret?
CHAN P.SERVICE.R.OUT
Response from system.
coreif.inc:201Protocol P.DRIVER.IN
PROTOCOL P.DRIVER.IN
Driver core input protocol.
coreif.inc:206Tag connect.to.driver
connect.to.driver = 0; CT.DRIVER.R!; MOBILE []BYTE
Connect to a device driver.
Parameters:
CT.DRIVER.R! |
return |
Channel-end used for response. |
MOBILE []BYTE |
name |
Driver name. |
coreif.inc:211Tag int.connect.to.driver
int.connect.to.driver = 1; CT.DRIVER.R!; MOBILE []BYTE; INT
Internal connect to a device driver.
Parameters:
CT.DRIVER.R! |
return |
Channel-end used for response. |
MOBILE []BYTE |
name |
Driver name. |
INT |
off |
Current name offset, used when descending hierarchies. |
coreif.inc:216Tag start.driver
start.driver = 2; CT.DRIVER.R!; MOBILE []BYTE; MOBILE []BYTE
Start device driver.
Parameters:
CT.DRIVER.R! |
return |
Channel-end used for response. |
MOBILE []BYTE |
name |
Driver name. |
MOBILE []BYTE |
options |
Options passed to driver. |
coreif.inc:220Tag stop.driver
stop.driver = 3; CT.DRIVER.R!; MOBILE []BYTE
Stop device driver.
Parameters:
CT.DRIVER.R! |
return |
Channel-end used for response. |
MOBILE []BYTE |
name |
Driver name. |
coreif.inc:225Tag int.stop.driver
int.stop.driver = 4; CT.DRIVER.R!; MOBILE []BYTE; INT
Internal stop device driver.
Parameters:
CT.DRIVER.R! |
return |
Channel-end used for response. |
MOBILE []BYTE |
name |
Driver name. |
INT |
off |
Current name offset, used when descending hierarchies. |
coreif.inc:229Tag list.drivers
list.drivers = 5; CT.DRIVER.R!; MOBILE []BYTE
List device drviers.
Parameters:
CT.DRIVER.R! |
return |
Channel-end used for response. |
MOBILE []BYTE |
name |
Driver name. |
coreif.inc:234Tag int.list.drivers
int.list.drivers = 6; CT.DRIVER.R!; MOBILE []BYTE; INT
Internal list nested device drivers.
Parameters:
CT.DRIVER.R! |
return |
Channel-end used for response. |
MOBILE []BYTE |
name |
Driver name. |
INT |
off |
Current name offset, used when descending hierarchies. |
coreif.inc:237Group DRV
driver type flags
coreif.inc:238Constant DRV.NONE
VAL INT DRV.NONE
No directly usable driver interface.
coreif.inc:242Constant DRV.D
VAL INT DRV.D
Device specific interface.
coreif.inc:246Constant DRV.SD
VAL INT DRV.SD
Shared device specific interface.
coreif.inc:250Protocol P.DRIVER.OUT
PROTOCOL P.DRIVER.OUT
Driver core output protocol.
coreif.inc:252Tag ok
ok = 0
Success.
coreif.inc:254Tag ok.reconnect
ok.reconnect = 2; CT.DRIVER.R!; MOBILE []BYTE
Extended OK, connect to something else.
coreif.inc:255Tag ok.name
ok.name = 4; MOBILE []BYTE
Success with name (driver startup only).
coreif.inc:256Tag no.such.device
no.such.device = 5
No such device (driver startup only).
coreif.inc:257Tag device.busy
device.busy = 6
Device busy (driver startup only).
coreif.inc:261Channel type CT.DRIVER
CHAN TYPE CT.DRIVER
Driver core channel type.
coreif.inc:263Variable in?
CHAN P.DRIVER.IN
Commands to driver.
coreif.inc:264Variable out!
CHAN P.DRIVER.OUT
Responses from driver.
coreif.inc:271Protocol P.NETWORK.IN
PROTOCOL P.NETWORK.IN
Network core input protocol.
coreif.inc:273Tag init
init
Initialise network core.
coreif.inc:278Tag start.interface
start.interface; MOBILE []BYTE; MOBILE []BYTE; MOBILE []BYTE
Start network interface.
Parameters:
MOBILE []BYTE |
name |
Interface name (e.g. eth0). |
MOBILE []BYTE |
device |
Interface device (e.g. rtl8139.0). |
MOBILE []BYTE |
options |
Interface options. |
coreif.inc:281Tag stop.interface
stop.interface; MOBILE []BYTE
Stop network interface.
Parameters:
MOBILE []BYTE |
name |
Interface name. |
coreif.inc:285Tag config.interface
config.interface; MOBILE []BYTE; MOBILE []BYTE
Configure/reconfigure network interface.
Parameters:
MOBILE []BYTE |
name |
Interface name. |
MOBILE []BYTE |
options |
Interface options. |
coreif.inc:286Tag list.interfaces
list.interfaces
List network interfaces.
coreif.inc:287Tag open.icmp.server
open.icmp.server
Open connection to ICMP server.
coreif.inc:288Tag open.udp.server
open.udp.server
Open connection to UDP server.
coreif.inc:289Tag open.tcp.server
open.tcp.server
Open connection to TCP server.
coreif.inc:294Tag add.route
add.route; INT32; INT32; MOBILE []BYTE
Add routing table entry.
Parameters:
INT32 |
match |
Matching destination address for routing. |
INT32 |
mask |
Mask applied to destination address. |
MOBILE []BYTE |
device |
Device to route packets to. |
coreif.inc:299Tag del.route
del.route; INT32; INT32; MOBILE []BYTE
Delete routing table entry.
Parameters:
INT32 |
match |
Matching destination address for routing. |
INT32 |
mask |
Mask applied to destination address. |
MOBILE []BYTE |
device |
Device to which packets were routed. |
coreif.inc:300Tag list.routes
list.routes
List routing table entries.
coreif.inc:301Tag enable.dumping
enable.dumping; BOOL
Enable packet dumping (debugging).
coreif.inc:307Tag open.socket
open.socket; INT; INT; INT
Opens a network socket.
Parameters:
INT |
domain |
Socket domain. |
INT |
type |
Socket type. |
INT |
protocol |
Socket protocol. |
coreif.inc:310Tag close.socket
close.socket; CT.FILE!
Closes a network socket.
Parameters:
CT.FILE! |
file |
Socket file interface to close. |
coreif.inc:314Protocol P.NETWORK.OUT
PROTOCOL P.NETWORK.OUT
Network core output protocol.
coreif.inc:316Tag socket
socket; CT.FILE!
Returned file interface (see CT.FILE) when opening socket.
coreif.inc:317Tag error
error; INT
Error condition.
coreif.inc:318Tag ok
ok
Generic successful response.
coreif.inc:323Tag interface.name
interface.name; MOBILE []BYTE; MOBILE []BYTE; INT32
Interface names when listing interfaces.
Parameters:
MOBILE []BYTE |
name |
Outgoing interface name. |
MOBILE []BYTE |
device |
Device name. |
INT32 |
address |
Interface address. |
coreif.inc:329Tag route.entry
route.entry; INT; INT32; INT32; MOBILE []BYTE
Routing table entry when listing routes.
Parameters:
INT |
number |
Number in routing table. |
INT32 |
match |
Matching destination address for routing. |
INT32 |
mask |
Mask applied to destination address. |
MOBILE []BYTE |
device |
Device to which packets are routed. |
coreif.inc:330Tag icmp.slink
icmp.slink; SHARED PING.SERVER!
ICMP server connection.
coreif.inc:331Tag udp.slink
udp.slink; SHARED UDP.SERVER!
UDP server connection.
coreif.inc:332Tag tcp.slink
tcp.slink; SHARED TCP.SERVER!
TCP server connection.
coreif.inc:336Channel type CT.NETWORK
CHAN TYPE CT.NETWORK
Network core channel-type.
coreif.inc:338Variable in?
CHAN P.NETWORK.IN
Requests to network core.
coreif.inc:339Variable out!
CHAN P.NETWORK.OUT
Responses from network core.
coreif.inc:345Protocol P.SERVICE.IN
PROTOCOL P.SERVICE.IN
Service core input protocol.
coreif.inc:347Tag init
init = 0
Initialise service core.
coreif.inc:352Tag start.service
start.service = 1; CT.SERVICE.R!; MOBILE []BYTE; MOBILE []BYTE
Start the specified service.
Parameters:
CT.SERVICE.R! |
result |
Channel-end used for response. |
MOBILE []BYTE |
name |
Service name. |
MOBILE []BYTE |
options |
Service options. |
coreif.inc:356Tag stop.service
stop.service = 2; CT.SERVICE.R!; MOBILE []BYTE
Stop the specified service.
Parameters:
CT.SERVICE.R! |
result |
Channel-end used for response. |
MOBILE []BYTE |
name |
Service name. |
coreif.inc:361Tag int.stop.service
int.stop.service = 3; CT.SERVICE.R!; MOBILE []BYTE; INT
Internal start service.
Parameters:
CT.SERVICE.R! |
result |
Channel-end used for response. |
MOBILE []BYTE |
name |
Service name. |
INT |
off |
Name offset. |
coreif.inc:365Tag connect.to.service
connect.to.service = 4; CT.SERVICE.R!; MOBILE []BYTE
Connect to service.
Parameters:
CT.SERVICE.R! |
result |
Channel-end used for response. |
MOBILE []BYTE |
name |
Service name. |
coreif.inc:370Tag int.connect.to.service
int.connect.to.service = 5; CT.SERVICE.R!; MOBILE []BYTE; INT
Internal connect to service.
Parameters:
CT.SERVICE.R! |
result |
Channel-end used for response. |
MOBILE []BYTE |
name |
Service name. |
INT |
off |
Name offset. |
coreif.inc:374Tag list.services
list.services = 6; CT.SERVICE.R!; MOBILE []BYTE
List services.
Parameters:
CT.SERVICE.R! |
result |
Channel-end used for response. |
MOBILE []BYTE |
name |
Service name. |
coreif.inc:379Tag int.list.services
int.list.services = 7; CT.SERVICE.R!; MOBILE []BYTE; INT
Internal list services.
Parameters:
CT.SERVICE.R! |
result |
Channel-end used for response. |
MOBILE []BYTE |
name |
Service name. |
INT |
off |
Name offset. |
coreif.inc:383Protocol P.SERVICE.OUT
PROTOCOL P.SERVICE.OUT
Service core output protocol.
coreif.inc:385Tag ok
ok = 0
Generic ok.
coreif.inc:386Tag ok.reconnect
ok.reconnect = 1; CT.SERVICE.R!; MOBILE []BYTE
Request connection to another service.
coreif.inc:387Tag ok.name
ok.name = 2; MOBILE []BYTE
Ok with name (initial startup only).
coreif.inc:388Tag no.such.service
no.such.service = 3
No such service.
coreif.inc:389Tag service.busy
service.busy = 4
Service currently busy.
coreif.inc:393Channel type CT.SERVICE
CHAN TYPE CT.SERVICE
Service core channel-type.
coreif.inc:395Variable in?
CHAN P.SERVICE.IN
Requests to service core.
coreif.inc:396Variable out!
CHAN P.SERVICE.OUT
Responses from service core.
coreif.inc:403Protocol P.FS.IN
PROTOCOL P.FS.IN
File-system input protocol.
coreif.inc:405Tag init
init
Initialise file-system core (called once at startup).
coreif.inc:413Tag mount.fs
mount.fs; CT.FILE.R!; MOBILE []BYTE; MOBILE []BYTE; MOBILE []BYTE; MOBILE []BYTE
Mount file-system, responds with mounted or result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
device |
Device to mount. |
MOBILE []BYTE |
fs.type |
File-system type. |
MOBILE []BYTE |
mount.point |
Where to mount the file-system. |
MOBILE []BYTE |
options |
File-system specific options. |
coreif.inc:419Tag umount.fs
umount.fs; CT.FILE.R!; MOBILE []BYTE; MOBILE []BYTE
Un-mount file-system, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
device |
Device to unmount. |
MOBILE []BYTE |
mount.point |
Mount point where device is mounted. |
coreif.inc:423Tag sub.mount.fs
sub.mount.fs; MOBILE []BYTE
Checks inside a file-system for a valid mount-point, responds with result.
Parameters:
MOBILE []BYTE |
path |
Path to directory. |
coreif.inc:427Tag sub.umount.fs
sub.umount.fs; MOBILE []BYTE
Checks inside a file-system for an umount request, responds with result.
Parameters:
MOBILE []BYTE |
path |
Path to directory. |
coreif.inc:433Tag open.file
open.file; CT.FILE.R!; MOBILE []BYTE; INT
Opens a file, responds with file.ok or result on return.
Parameters:
coreif.inc:438Tag open.dir
open.dir; CT.FILE.R!; MOBILE []BYTE
Opens a directory, responds with dir.ok or result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to directory. |
coreif.inc:444Tag mkdir
mkdir; CT.FILE.R!; MOBILE []BYTE; INT
Creates a directory, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to directory. |
INT |
mode |
Mode to create directory with (see MODE). |
coreif.inc:450Tag chmod
chmod; CT.FILE.R!; MOBILE []BYTE; INT
Changes the mode of a file or directory, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to file or directory. |
INT |
mode |
Mode to change to (see MODE). |
coreif.inc:455Tag stat
stat; CT.FILE.R!; MOBILE []BYTE
Stat a file or directory, responds with stat.ok or result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to stat. |
coreif.inc:460Tag unlink
unlink; CT.FILE.R!; MOBILE []BYTE
Unlink a file or directory, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to unlink. |
coreif.inc:463Tag list.mounts
list.mounts; CT.FILE.R!
Lists mounted file-systems, responds with mounted followed by result on return.
coreif.inc:467Protocol P.FS.OUT
PROTOCOL P.FS.OUT
File system output protocol.
coreif.inc:469Tag result
result; INT
Generic result.
coreif.inc:473Channel type CT.FS
CHAN TYPE CT.FS
File system channel type.
coreif.inc:475Variable in?
CHAN P.FS.IN
Commands to file-systems.
coreif.inc:476Variable out!
CHAN P.FS.OUT
Responses from file-systems.
coreif.inc:483Protocol P.KERNEL.IN
PROTOCOL P.KERNEL.IN
Kernel input protocol.
coreif.inc:485Tag init
init
Initialise kernel (called once at startup).
coreif.inc:486Tag get.hostname
get.hostname
Get hostname.
coreif.inc:487Tag set.hostname
set.hostname; MOBILE []BYTE
Set hostname.
coreif.inc:488Tag fs.core.access
fs.core.access
Get access to file-system core.
coreif.inc:489Tag driver.core.access
driver.core.access
Get access to driver core.
coreif.inc:490Tag network.core.access
network.core.access
Get access to network core.
coreif.inc:491Tag service.core.access
service.core.access
Get access to service core.
coreif.inc:498Tag mount.fs
mount.fs; CT.FILE.R!; MOBILE []BYTE; MOBILE []BYTE; MOBILE []BYTE; MOBILE []BYTE
Mount file-system, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
device |
Device on which file-system resides. |
MOBILE []BYTE |
fstype |
File-system type. |
MOBILE []BYTE |
mpoint |
Mount point in file-system. |
MOBILE []BYTE |
options |
File-system options. |
coreif.inc:503Tag umount.fs
umount.fs; CT.FILE.R!; MOBILE []BYTE; MOBILE []BYTE
Unmount file-system, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
device |
Device from which file-system is mounted. |
MOBILE []BYTE |
mpoint |
Mount point in file-system. |
coreif.inc:508Tag open.file
open.file; CT.FILE.R!; MOBILE []BYTE; INT
Open file, responds with file.ok or result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to file. |
INT |
mode |
Mode and flags to open file (see and MODE). |
coreif.inc:512Tag open.dir
open.dir; CT.FILE.R!; MOBILE []BYTE
Open directory, responds with dir.ok or result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to directory. |
coreif.inc:517Tag mkdir
mkdir; CT.FILE.R!; MOBILE []BYTE; INT
Create directory, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to create. |
INT |
mode |
Mode to create file with (see MODE). |
coreif.inc:522Tag chmod
chmod; CT.FILE.R!; MOBILE []BYTE; INT
Change mode on file or directory, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to file or directory. |
INT |
mode |
Mode to change to (see MODE). |
coreif.inc:526Tag stat
stat; CT.FILE.R!; MOBILE []BYTE
Stat file or directory, responds with stat.ok or result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to file or directory. |
coreif.inc:530Tag unlink
unlink; CT.FILE.R!; MOBILE []BYTE
Unlink file or directory, responds with result on return.
Parameters:
CT.FILE.R! |
return |
Response channel-end. |
MOBILE []BYTE |
path |
Path to unlink. |
coreif.inc:534Tag start.sysconsole
start.sysconsole; CT.INPUT!; CT.OUTPUT!
Start a new system console, responds with result on return.
Parameters:
CT.INPUT! |
in.dev |
Input device. |
CT.OUTPUT! |
out.dev |
Output device. |
coreif.inc:536Tag get.version
get.version
Get kernel version, responds with hostname.
coreif.inc:538Tag get.datestamp
get.datestamp
Get kernel datestamp, responds with hostname.
coreif.inc:541Tag log.message
log.message; MOBILE []BYTE
Add a message to the kernel log.
Parameters:
MOBILE []BYTE |
msg |
Message. |
coreif.inc:547Protocol P.KERNEL.OUT
PROTOCOL P.KERNEL.OUT
Kernel output protocol.
coreif.inc:549Tag hostname
hostname; MOBILE []BYTE
Returned hostname (also used for other things).
coreif.inc:550Tag result
result; INT
Generic result.
coreif.inc:551Tag fs.core
fs.core; SHARED CT.FS!
Link to fs-core.
coreif.inc:552Tag driver.core
driver.core; SHARED CT.DRIVER!
Link to driver-core.
coreif.inc:553Tag network.core
network.core; SHARED CT.NETWORK!
Link to network-core.
coreif.inc:554Tag service.core
service.core; SHARED CT.SERVICE!
Link to service-core.
coreif.inc:555Tag mobile.chan
mobile.chan; MOBILE.CHAN
Generic mobile channel (unshared).
coreif.inc:556Tag log
log; SHARED LOG!
Shared end of kernellog
coreif.inc:560Variable in?
CHAN P.KERNEL.IN
Requests to kernel.
coreif.inc:561Variable out!
CHAN P.KERNEL.OUT
Responses from kernel.
coreif.inc:573Group CFG.TYPE
Configuration entry type constants.
coreif.inc:574Constant CFG.TYPE.INVALID
VAL INT CFG.TYPE.INVALID
Invalid/no type.
coreif.inc:575Constant CFG.TYPE.STRING
VAL INT CFG.TYPE.STRING
String value.
coreif.inc:576Constant CFG.TYPE.INTEGER
VAL INT CFG.TYPE.INTEGER
Integer value.
coreif.inc:577Constant CFG.TYPE.FLOAT
VAL INT CFG.TYPE.FLOAT
Floating point value.
coreif.inc:582Protocol P.CFG.IN
PROTOCOL P.CFG.IN
Configuration input protocol.
coreif.inc:584Tag read.string
read.string; MOBILE []BYTE
Read a string value from the configuration, responds with string or result.
coreif.inc:585Tag read.int
read.int; MOBILE []BYTE
Read an integer value from the configuration, responds with integer or result.
coreif.inc:586Tag read.float
read.float; MOBILE []BYTE
Read a floating-point value from the configuration, responds with float.
coreif.inc:587Tag read.any
read.any; MOBILE []BYTE
Read any typed value from the configuration, responds with string}, [@text integer] or [@text result].
coreif.inc:588Tag get.type
get.type; MOBILE []BYTE
Gets the type of a configuration entry.
coreif.inc:592Protocol P.CFG.OUT
PROTOCOL P.CFG.OUT
Configuration output protocol.
coreif.inc:594Tag string
string; MOBILE []BYTE
Returned string value.
coreif.inc:595Tag integer
integer; INT
Returned integer value.
coreif.inc:596Tag float
float; REAL64
Returned floating-point value.
coreif.inc:597Tag result
result; INT
Generic result.
coreif.inc:601Channel type CT.CFG
RECURSIVE CHAN TYPE CT.CFG
Configuration channel-type.
coreif.inc:603Variable in?
CHAN P.CFG.IN
Requests.
coreif.inc:604Variable out!
CHAN P.CFG.OUT
Responses.
coreif.inc:605Variable return?
CHAN CT.CFG!
Returned connection.
file.inc:22Group MODE
Permission and file-type bits
file.inc:23Constant MODE.O.X
VAL INT MODE.O.X
Other execute.
file.inc:24Constant MODE.O.W
VAL INT MODE.O.W
Other write.
file.inc:25Constant MODE.O.R
VAL INT MODE.O.R
Other read.
file.inc:26Constant MODE.OTHER
VAL INT MODE.OTHER
Other mask.
file.inc:27Constant MODE.G.X
VAL INT MODE.G.X
Group execute.
file.inc:28Constant MODE.G.W
VAL INT MODE.G.W
Group write.
file.inc:29Constant MODE.G.R
VAL INT MODE.G.R
Group read.
file.inc:30Constant MODE.GROUP
VAL INT MODE.GROUP
Group mask.
file.inc:31Constant MODE.U.X
VAL INT MODE.U.X
User execute.
file.inc:32Constant MODE.U.W
VAL INT MODE.U.W
User write.
file.inc:33Constant MODE.U.R
VAL INT MODE.U.R
User read.
file.inc:34Constant MODE.USER
VAL INT MODE.USER
User mask.
file.inc:35Constant MODE.READ
VAL INT MODE.READ
Read bits mask.
file.inc:36Constant MODE.WRITE
VAL INT MODE.WRITE
Write bits mask.
file.inc:37Constant MODE.EXEC
VAL INT MODE.EXEC
Execute bits mask.
file.inc:38Constant MODE.MODEMASK
VAL INT MODE.MODEMASK
Mask for mode (permission) bits.
file.inc:40Constant MODE.SOCK
VAL INT MODE.SOCK
Socket (not supported yet).
file.inc:41Constant MODE.LINK
VAL INT MODE.LINK
Symbolic link (not supported yet).
file.inc:42Constant MODE.FILE
VAL INT MODE.FILE
Regular file.
file.inc:43Constant MODE.BLOCK
VAL INT MODE.BLOCK
Block device.
file.inc:44Constant MODE.DIR
VAL INT MODE.DIR
Directory.
file.inc:45Constant MODE.CHAR
VAL INT MODE.CHAR
Character device.
file.inc:46Constant MODE.FIFO
VAL INT MODE.FIFO
FIFO (not supported yet).
file.inc:47Constant MODE.TYPEMASK
VAL INT MODE.TYPEMASK
Mask for file-type bits.
file.inc:50Group MODE.OPEN
File-open mode constants.
file.inc:51Constant MODE.OPEN.READ
VAL INT MODE.OPEN.READ
Open for reading.
file.inc:52Constant MODE.OPEN.WRITE
VAL INT MODE.OPEN.WRITE
Open for writing.
file.inc:53Constant MODE.OPEN.CREAT
VAL INT MODE.OPEN.CREAT
Create if file doesn't exist.
file.inc:54Constant MODE.OPEN.TRUNC
VAL INT MODE.OPEN.TRUNC
Truncate file contents if it does exist.
file.inc:57Group FSCAP
File-system capability bits.
file.inc:58Constant FSCAP.NONE
VAL INT FSCAP.NONE
No capabilities set.
file.inc:59Constant FSCAP.DIR
VAL INT FSCAP.DIR
File-system supports directory operations.
file.inc:60Constant FSCAP.FILE
VAL INT FSCAP.FILE
File-system supports file operations.