This is the description of the TCP/IP protocol for the RED Brick. General information and technical specifications for the RED Brick are summarized in its hardware description.
A general description of the TCP/IP protocol structure can be found here.
Note
The API documentation for the RED Brick is currently incomplete.
The RED Brick API is meant to be used by the Brick Viewer to implement the offered functionality (getting status information, managing programs etc.). Normal users will not need to use this API, it may only be interesting for power users.
FIXME: explain sessions
The RED Brick API operates on reference counted objects (strings, lists, files,
directories, processes and programs) that are identified by their 16bit object
ID. Functions that allocate or return an object ID (e.g. allocate_string
and get_next_directory_entry) increase the reference count of the returned
object. If the object is no longer needed then release_object has to
be called to decrease the reference count of the object again. In contrast to
allocation and getter functions, the reference count for an object returned by
a callback is not increased and release_object must not be called for
such an object in response to a callback.
There are functions (e.g. get_file_info) that only return valid objects
under certain conditions. This conditions are documented for the specific
functions. For invalid objects release_object must not be called.
There are also function (e.g. set_program_stdio_redirection) that have
conditionally unused object parameters. Under which conditions an object
parameter is unused is documented for the specific functions. For unused
object parameters 0 has to be passed as object ID.
The RED Brick API is more complex then the typical Brick API and requires more elaborate error reporting than the TCP/IP protocol can provide with its 2bit error code. Therefore, almost all functions of the RED Brick API return an 8bit error code. Possible error codes are:
Success = 0
UnknownError = 1
InvalidOperation = 2
OperationAborted = 3
InternalError = 4
UnknownSessionID = 5
NoFreeSessionID = 6
UnknownObjectID = 7
NoFreeObjectID = 8
ObjectIsLocked = 9
NoMoreData = 10
WrongListItemType = 11
ProgramIsPurged = 12
InvalidParameter = 128 (EINVAL)
NoFreeMemory = 129 (ENOMEM)
NoFreeSpace = 130 (ENOSPC)
AccessDenied = 131 (EACCES)
AlreadyExists = 132 (EEXIST)
DoesNotExist = 133 (ENOENT)
Interrupted = 134 (EINTR)
IsDirectory = 135 (EISDIR)
NotADirectory = 136 (ENOTDIR)
WouldBlock = 137 (EWOULDBLOCK)
Overflow = 138 (EOVERFLOW)
BadFileDescriptor = 139 (EBADF)
OutOfRange = 140 (ERANGE)
NameTooLong = 141 (ENAMETOOLONG)
InvalidSeek = 142 (ESPIPE)
NotSupported = 143 (ENOTSUP)
TooManyOpenFiles = 144 (EMFILE)
If a function returns an error code other than Success then its other return values (if any) are invalid and must not be used.
The error code InvalidOperation is returned if the requested operation cannot be performed because the current state of the object does not allow it. For example, trying to append an item to a full list object or trying to undefine an already undefined program.
The error code NotSupported is returned if the requested operation can never be performed. For example, trying to append a list object to itself, trying to get the name of a file object with type Pipe or trying to create a directory non-recursively with more than the last part of the directory name referring to non-existing directories.
String objects store UTF-8 encoded data.
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Decreases the reference count of an object by one and returns the resulting error code. If the reference count reaches zero the object gets destroyed.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Allocates a new string object, reserves length_to_reserve bytes memory
for it and sets up to the first 60 bytes. Set length_to_reserve to the
length of the string that should be stored in the string object.
Returns the object ID of the new string object and the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Truncates a string object to length bytes and returns the resulting
error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the length of a string object and the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Sets a chunk of up to 58 bytes in a string object beginning at offset.
Returns the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns a chunk up to 63 bytes from a string object beginning at offset and
returns the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Allocates a new list object and reserves memory for length_to_reserve
items. Set length_to_reserve to the number of items that should be stored
in the list object.
Returns the object ID of the new list object and the resulting error code.
When a list object gets destroyed then the reference count of each object in the list object is decreased by one.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the length of a list object in items and the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the object ID and type of the object stored at index in a list
object and returns the resulting error code.
Possible object types are:
String = 0
List = 1
File = 2
Directory = 3
Process = 4
Program = 5
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For type:
0 = String
1 = List
2 = File
3 = Directory
4 = Process
5 = Program
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Appends an object to a list object and increases the reference count of the appended object by one.
Returns the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Removes the object stored at index from a list object and decreases the
reference count of the removed object by one.
Returns the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Opens an existing file or creates a new file and allocates a new file object for it.
FIXME: name has to be absolute
The reference count of the name string object is increased by one. When the file object gets destroyed then the reference count of the name string object is decreased by one. Also the name string object is locked and cannot be modified while the file object holds a reference to it.
The flags parameter takes a ORed combination of the following possible file
flags (in hexadecimal notation):
ReadOnly = 0x0001 (O_RDONLY)
WriteOnly = 0x0002 (O_WRONLY)
ReadWrite = 0x0004 (O_RDWR)
Append = 0x0008 (O_APPEND)
Create = 0x0010 (O_CREAT)
Exclusive = 0x0020 (O_EXCL)
NonBlocking = 0x0040 (O_NONBLOCK)
Truncate = 0x0080 (O_TRUNC)
Temporary = 0x0100
Replace = 0x0200
FIXME: explain Temporary and Replace flag
The permissions parameter takes a ORed combination of the following
possible file permissions (in octal notation) that match the common UNIX
permission bits:
UserRead = 00400
UserWrite = 00200
UserExecute = 00100
GroupRead = 00040
GroupWrite = 00020
GroupExecute = 00010
OthersRead = 00004
OthersWrite = 00002
OthersExecute = 00001
Returns the object ID of the new file object and the resulting error code.
The following meanings are defined for the elements of this function:
For flags:
1 = Read Only
2 = Write Only
4 = Read Write
8 = Append
16 = Create
32 = Exclusive
64 = Non Blocking
128 = Truncate
256 = Temporary
512 = Replace
For permissions:
448 = User All
256 = User Read
128 = User Write
64 = User Execute
56 = Group All
32 = Group Read
16 = Group Write
8 = Group Execute
7 = Others All
4 = Others Read
2 = Others Write
1 = Others Execute
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Creates a new pipe and allocates a new file object for it.
The flags parameter takes a ORed combination of the following possible
pipe flags (in hexadecimal notation):
NonBlockingRead = 0x0001
NonBlockingWrite = 0x0002
The length of the pipe buffer can be specified with the length parameter
in bytes. If length is set to zero, then the default pipe buffer length is used.
Returns the object ID of the new file object and the resulting error code.
The following meanings are defined for the elements of this function:
For flags:
1 = Non Blocking Read
2 = Non Blocking Write
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns various information about a file and the resulting error code.
Possible file types are:
Unknown = 0
Regular = 1
Directory = 2
Character = 3
Block = 4
FIFO = 5
Symlink = 6
Socket = 7
Pipe = 8
If the file type is Pipe then the returned name string object is invalid,
because a pipe has no name. Otherwise the returned name string object was used
to open or create the file object, as passed to open_file.
The returned flags were used to open or create the file object, as passed to
open_file or create_pipe. See the respective function for a list
of possible file and pipe flags.
FIXME: everything except flags and length is invalid if file type is Pipe
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For type:
0 = Unknown
1 = Regular
2 = Directory
3 = Character
4 = Block
5 = FIFO
6 = Symlink
7 = Socket
8 = Pipe
For flags:
1 = Read Only
2 = Write Only
4 = Read Write
8 = Append
16 = Create
32 = Exclusive
64 = Non Blocking
128 = Truncate
256 = Temporary
512 = Replace
For permissions:
448 = User All
256 = User Read
128 = User Write
64 = User Execute
56 = Group All
32 = Group Read
16 = Group Write
8 = Group Execute
7 = Others All
4 = Others Read
2 = Others Write
1 = Others Execute
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Reads up to 62 bytes from a file object.
Returns the bytes read, the actual number of bytes read and the resulting error code.
If there is not data to be read, either because the file position reached end-of-file or because there is not data in the pipe, then zero bytes are returned.
If the file object was created by open_file without the NonBlocking
flag or by create_pipe without the NonBlockingRead flag then the
error code NotSupported is returned.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Reads up to 263 - 1 bytes from a file object asynchronously.
Reports the bytes read (in 60 byte chunks), the actual number of bytes read and
the resulting error code via the CALLBACK_ASYNC_FILE_READ callback.
If there is not data to be read, either because the file position reached end-of-file or because there is not data in the pipe, then zero bytes are reported.
If the file object was created by open_file without the NonBlocking
flag or by create_pipe without the NonBlockingRead flag then the error
code NotSupported is reported via the CALLBACK_ASYNC_FILE_READ callback.
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Aborts a read_file_async operation in progress.
Returns the resulting error code.
On success the CALLBACK_ASYNC_FILE_READ callback will report OperationAborted.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Writes up to 61 bytes to a file object.
Returns the actual number of bytes written and the resulting error code.
If the file object was created by open_file without the NonBlocking
flag or by create_pipe without the NonBlockingWrite flag then the
error code NotSupported is returned.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Writes up to 61 bytes to a file object.
Does neither report the actual number of bytes written nor the resulting error code.
If the file object was created by open_file without the NonBlocking
flag or by create_pipe without the NonBlockingWrite flag then the
write operation will fail silently.
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Writes up to 61 bytes to a file object.
Reports the actual number of bytes written and the resulting error code via the
CALLBACK_ASYNC_FILE_WRITE callback.
If the file object was created by open_file without the NonBlocking
flag or by create_pipe without the NonBlockingWrite flag then the
error code NotSupported is reported via the CALLBACK_ASYNC_FILE_WRITE callback.
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Set the current seek position of a file object relative to origin.
Possible file origins are:
Beginning = 0
Current = 1
End = 2
Returns the resulting absolute seek position and error code.
If the file object was created by create_pipe then it has no seek
position and the error code InvalidSeek is returned.
The following meanings are defined for the elements of this function:
For origin:
0 = Beginning
1 = Current
2 = End
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the current seek position of a file object and returns the resulting error code.
If the file object was created by create_pipe then it has no seek
position and the error code InvalidSeek is returned.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For events:
1 = Readable
2 = Writable
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For events:
1 = Readable
2 = Writable
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Opens an existing directory and allocates a new directory object for it.
FIXME: name has to be absolute
The reference count of the name string object is increased by one. When the directory object is destroyed then the reference count of the name string object is decreased by one. Also the name string object is locked and cannot be modified while the directory object holds a reference to it.
Returns the object ID of the new directory object and the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the name of a directory object, as passed to open_directory, and
the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the next entry in a directory object and the resulting error code.
If there is not next entry then error code NoMoreData is returned. To rewind
a directory object call rewind_directory.
Possible directory entry types are:
Unknown = 0
Regular = 1
Directory = 2
Character = 3
Block = 4
FIFO = 5
Symlink = 6
Socket = 7
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For type:
0 = Unknown
1 = Regular
2 = Directory
3 = Character
4 = Block
5 = FIFO
6 = Symlink
7 = Socket
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Rewinds a directory object and returns the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
FIXME: name has to be absolute
The following meanings are defined for the elements of this function:
For flags:
1 = Recursive
2 = Exclusive
For permissions:
448 = User All
256 = User Read
128 = User Write
64 = User Execute
56 = Group All
32 = Group Read
16 = Group Write
8 = Group Execute
7 = Others All
4 = Others Read
2 = Others Write
1 = Others Execute
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Sends a UNIX signal to a process object and returns the resulting error code.
Possible UNIX signals are:
Interrupt = 2
Quit = 3
Abort = 6
Kill = 9
User1 = 10
User2 = 12
Terminate = 15
Continue = 18
Stop = 19
The following meanings are defined for the elements of this function:
For signal:
2 = Interrupt
3 = Quit
6 = Abort
9 = Kill
10 = User1
12 = User2
15 = Terminate
18 = Continue
19 = Stop
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the executable, arguments, environment and working directory used to
spawn a process object, as passed to spawn_process, and the resulting
error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the process ID and the user and group ID used to spawn a process object,
as passed to spawn_process, and the resulting error code.
The process ID is only valid if the state is Running or Stopped, see
get_process_state.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the stdin, stdout and stderr files used to spawn a process object, as
passed to spawn_process, and the resulting error code.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the current state, timestamp and exit code of a process object, and the resulting error code.
Possible process states are:
Unknown = 0
Running = 1
Error = 2
Exited = 3
Killed = 4
Stopped = 5
The timestamp represents the UNIX time since when the process is in its current state.
The exit code is only valid if the state is Error, Exited, Killed or Stopped and has different meanings depending on the state:
Error: error code for error occurred while spawning the process (see below)
Exited: exit status of the process
Killed: UNIX signal number used to kill the process
Stopped: UNIX signal number used to stop the process
Possible exit/error codes in Error state are:
InternalError = 125
CannotExecute = 126
DoesNotExist = 127
The CannotExecute error can be caused by the executable being opened for writing.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For state:
0 = Unknown
1 = Running
2 = Error
3 = Exited
4 = Killed
5 = Stopped
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
FIXME: root directory is absolute: <home>/programs/<identifier>
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
FIXME: working directory is relative to <home>/programs/<identifier>/bin
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
FIXME: working directory is relative to <home>/programs/<identifier>/bin
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
FIXME: stdio file names are relative to <home>/programs/<identifier>/bin
The following meanings are defined for the elements of this function:
For stdin_redirection:
0 = Dev Null
1 = Pipe
2 = File
3 = Individual Log
4 = Continuous Log
5 = Stdout
For stdout_redirection:
0 = Dev Null
1 = Pipe
2 = File
3 = Individual Log
4 = Continuous Log
5 = Stdout
For stderr_redirection:
0 = Dev Null
1 = Pipe
2 = File
3 = Individual Log
4 = Continuous Log
5 = Stdout
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
FIXME: stdio file names are relative to <home>/programs/<identifier>/bin
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For stdin_redirection:
0 = Dev Null
1 = Pipe
2 = File
3 = Individual Log
4 = Continuous Log
5 = Stdout
For stdout_redirection:
0 = Dev Null
1 = Pipe
2 = File
3 = Individual Log
4 = Continuous Log
5 = Stdout
For stderr_redirection:
0 = Dev Null
1 = Pipe
2 = File
3 = Individual Log
4 = Continuous Log
5 = Stdout
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For start_mode:
0 = Never
1 = Always
2 = Interval
3 = Cron
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For start_mode:
0 = Never
1 = Always
2 = Interval
3 = Cron
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
FIXME: message is currently valid in error-occurred state only
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
For state:
0 = Stopped
1 = Running
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Request: |
|
| Response: |
|
Returns the UID, the UID where the Brick is connected to, the position, the hardware and firmware version as well as the device identifier.
The position is the position in the stack from '0' (bottom) to '8' (top).
The device identifier numbers can be found here.
| Function ID: |
|
|---|---|
| Response: |
|
This callback reports the result of a call to the read_file_async
function.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Response: |
|
This callback reports the result of a call to the write_file_async
function.
The following meanings are defined for the elements of this function:
For error_code:
0 = Success
1 = Unknown Error
2 = Invalid Operation
3 = Operation Aborted
4 = Internal Error
5 = Unknown Session Id
6 = No Free Session Id
7 = Unknown Object Id
8 = No Free Object Id
9 = Object Is Locked
10 = No More Data
11 = Wrong List Item Type
12 = Program Is Purged
128 = Invalid Parameter
129 = No Free Memory
130 = No Free Space
121 = Access Denied
132 = Already Exists
133 = Does Not Exist
134 = Interrupted
135 = Is Directory
136 = Not A Directory
137 = Would Block
138 = Overflow
139 = Bad File Descriptor
140 = Out Of Range
141 = Name Too Long
142 = Invalid Seek
143 = Not Supported
144 = Too Many Open Files
| Function ID: |
|
|---|---|
| Response: |
|
The following meanings are defined for the elements of this function:
For events:
1 = Readable
2 = Writable
| Function ID: |
|
|---|---|
| Response: |
|
The following meanings are defined for the elements of this function:
For state:
0 = Unknown
1 = Running
2 = Error
3 = Exited
4 = Killed
5 = Stopped
| Function ID: |
|
|---|---|
| Response: |
|
| Function ID: |
|
|---|---|
| Response: |
|