Rust - RED Brick

Dies ist die Beschreibung der Rust API Bindings für den RED Brick. Allgemeine Informationen über die Funktionen und technischen Spezifikationen des RED Brick sind in dessen Hardware Beschreibung zusammengefasst.

Eine Installationanleitung für die Rust API Bindings ist Teil deren allgemeine Beschreibung. Zusätzliche Dokumentation findet sich auf docs.rs.

Beispiele

Der folgende Beispielcode ist Public Domain (CC0 1.0).

API

Um eine nicht-blockierende Verwendung zu erlauben, gibt fast jede Funktion der Rust-Bindings einen Wrapper um einen mpsc::Receiver zurück. Um das Ergebnis eines Funktionsaufrufs zu erhalten und zu blockieren, bis das Gerät die Anfrage verarbeitet hat, können die recv-Varianten des Receivers verwendet werden. Diese geben entweder das vom Gerät gesendete Ergebnis, oder einen aufgetretenen Fehler zurück.

Funktionen die direkt ein Result zurückgeben, blockieren bis das Gerät die Anfrage verarbeitet hat.

Alle folgend aufgelisteten Funktionen sind Thread-sicher, diese, die einen Receiver zurückgeben, sind Lock-frei.

Bemerkung

Die API Dokumentation für den RED Brick ist noch nicht vollständig.

Fortgeschrittene Funktionen

pub fn RedBrick::create_session(&self, lifetime: u32) → ConvertingReceiver<CreateSession>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::expire_session(&self, session_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::expire_session_unchecked(&self, session_id: u16) → ConvertingReceiver<()>
pub fn RedBrick::keep_session_alive(&self, session_id: u16, lifetime: u32) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::release_object(&self, object_id: u16, session_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::release_object_unchecked(&self, object_id: u16, session_id: u16) → ConvertingReceiver<()>
pub fn RedBrick::allocate_string(&self, length_to_reserve: u32, buffer: String, session_id: u16) → ConvertingReceiver<AllocateString>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::truncate_string(&self, string_id: u16, length: u32) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_string_length(&self, string_id: u16) → ConvertingReceiver<StringLength>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::set_string_chunk(&self, string_id: u16, offset: u32, buffer: String) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_string_chunk(&self, string_id: u16, offset: u32) → ConvertingReceiver<StringChunk>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::allocate_list(&self, length_to_reserve: u16, session_id: u16) → ConvertingReceiver<AllocateList>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_list_length(&self, list_id: u16) → ConvertingReceiver<ListLength>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_list_item(&self, list_id: u16, index: u16, session_id: u16) → ConvertingReceiver<ListItem>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_OBJECT_TYPE_STRING = 0
  • RED_BRICK_OBJECT_TYPE_LIST = 1
  • RED_BRICK_OBJECT_TYPE_FILE = 2
  • RED_BRICK_OBJECT_TYPE_DIRECTORY = 3
  • RED_BRICK_OBJECT_TYPE_PROCESS = 4
  • RED_BRICK_OBJECT_TYPE_PROGRAM = 5
pub fn RedBrick::append_to_list(&self, list_id: u16, item_object_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::remove_from_list(&self, list_id: u16, index: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::open_file(&self, name_string_id: u16, flags: u32, permissions: u16, uid: u32, gid: u32, session_id: u16) → ConvertingReceiver<OpenFile>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_FILE_FLAG_READ_ONLY = 1
  • RED_BRICK_FILE_FLAG_WRITE_ONLY = 2
  • RED_BRICK_FILE_FLAG_READ_WRITE = 4
  • RED_BRICK_FILE_FLAG_APPEND = 8
  • RED_BRICK_FILE_FLAG_CREATE = 16
  • RED_BRICK_FILE_FLAG_EXCLUSIVE = 32
  • RED_BRICK_FILE_FLAG_NON_BLOCKING = 64
  • RED_BRICK_FILE_FLAG_TRUNCATE = 128
  • RED_BRICK_FILE_FLAG_TEMPORARY = 256
  • RED_BRICK_FILE_FLAG_REPLACE = 512
  • RED_BRICK_FILE_PERMISSION_USER_ALL = 448
  • RED_BRICK_FILE_PERMISSION_USER_READ = 256
  • RED_BRICK_FILE_PERMISSION_USER_WRITE = 128
  • RED_BRICK_FILE_PERMISSION_USER_EXECUTE = 64
  • RED_BRICK_FILE_PERMISSION_GROUP_ALL = 56
  • RED_BRICK_FILE_PERMISSION_GROUP_READ = 32
  • RED_BRICK_FILE_PERMISSION_GROUP_WRITE = 16
  • RED_BRICK_FILE_PERMISSION_GROUP_EXECUTE = 8
  • RED_BRICK_FILE_PERMISSION_OTHERS_ALL = 7
  • RED_BRICK_FILE_PERMISSION_OTHERS_READ = 4
  • RED_BRICK_FILE_PERMISSION_OTHERS_WRITE = 2
  • RED_BRICK_FILE_PERMISSION_OTHERS_EXECUTE = 1
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::create_pipe(&self, flags: u32, length: u64, session_id: u16) → ConvertingReceiver<CreatePipe>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_PIPE_FLAG_NON_BLOCKING_READ = 1
  • RED_BRICK_PIPE_FLAG_NON_BLOCKING_WRITE = 2
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_file_info(&self, file_id: u16, session_id: u16) → ConvertingReceiver<FileInfo>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_FILE_TYPE_UNKNOWN = 0
  • RED_BRICK_FILE_TYPE_REGULAR = 1
  • RED_BRICK_FILE_TYPE_DIRECTORY = 2
  • RED_BRICK_FILE_TYPE_CHARACTER = 3
  • RED_BRICK_FILE_TYPE_BLOCK = 4
  • RED_BRICK_FILE_TYPE_FIFO = 5
  • RED_BRICK_FILE_TYPE_SYMLINK = 6
  • RED_BRICK_FILE_TYPE_SOCKET = 7
  • RED_BRICK_FILE_TYPE_PIPE = 8
  • RED_BRICK_FILE_PERMISSION_USER_ALL = 448
  • RED_BRICK_FILE_PERMISSION_USER_READ = 256
  • RED_BRICK_FILE_PERMISSION_USER_WRITE = 128
  • RED_BRICK_FILE_PERMISSION_USER_EXECUTE = 64
  • RED_BRICK_FILE_PERMISSION_GROUP_ALL = 56
  • RED_BRICK_FILE_PERMISSION_GROUP_READ = 32
  • RED_BRICK_FILE_PERMISSION_GROUP_WRITE = 16
  • RED_BRICK_FILE_PERMISSION_GROUP_EXECUTE = 8
  • RED_BRICK_FILE_PERMISSION_OTHERS_ALL = 7
  • RED_BRICK_FILE_PERMISSION_OTHERS_READ = 4
  • RED_BRICK_FILE_PERMISSION_OTHERS_WRITE = 2
  • RED_BRICK_FILE_PERMISSION_OTHERS_EXECUTE = 1
pub fn RedBrick::read_file(&self, file_id: u16, length_to_read: u8) → ConvertingReceiver<ReadFile>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::read_file_async(&self, file_id: u16, length_to_read: u64) → ConvertingReceiver<()>
pub fn RedBrick::abort_async_file_read(&self, file_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::write_file(&self, file_id: u16, buffer: [u8; 61], length_to_write: u8) → ConvertingReceiver<WriteFile>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::write_file_unchecked(&self, file_id: u16, buffer: [u8; 61], length_to_write: u8) → ConvertingReceiver<()>
pub fn RedBrick::write_file_async(&self, file_id: u16, buffer: [u8; 61], length_to_write: u8) → ConvertingReceiver<()>
pub fn RedBrick::set_file_position(&self, file_id: u16, offset: i64, origin: u8) → ConvertingReceiver<SetFilePosition>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_FILE_ORIGIN_BEGINNING = 0
  • RED_BRICK_FILE_ORIGIN_CURRENT = 1
  • RED_BRICK_FILE_ORIGIN_END = 2
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_file_position(&self, file_id: u16) → ConvertingReceiver<FilePosition>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::set_file_events(&self, file_id: u16, events: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_FILE_EVENT_READABLE = 1
  • RED_BRICK_FILE_EVENT_WRITABLE = 2
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_file_events(&self, file_id: u16) → ConvertingReceiver<FileEvents>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_FILE_EVENT_READABLE = 1
  • RED_BRICK_FILE_EVENT_WRITABLE = 2
pub fn RedBrick::open_directory(&self, name_string_id: u16, session_id: u16) → ConvertingReceiver<OpenDirectory>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_directory_name(&self, directory_id: u16, session_id: u16) → ConvertingReceiver<DirectoryName>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_next_directory_entry(&self, directory_id: u16, session_id: u16) → ConvertingReceiver<NextDirectoryEntry>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_UNKNOWN = 0
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_REGULAR = 1
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_DIRECTORY = 2
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_CHARACTER = 3
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_BLOCK = 4
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_FIFO = 5
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_SYMLINK = 6
  • RED_BRICK_DIRECTORY_ENTRY_TYPE_SOCKET = 7
pub fn RedBrick::rewind_directory(&self, directory_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::create_directory(&self, name_string_id: u16, flags: u32, permissions: u16, uid: u32, gid: u32) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_DIRECTORY_FLAG_RECURSIVE = 1
  • RED_BRICK_DIRECTORY_FLAG_EXCLUSIVE = 2
  • RED_BRICK_FILE_PERMISSION_USER_ALL = 448
  • RED_BRICK_FILE_PERMISSION_USER_READ = 256
  • RED_BRICK_FILE_PERMISSION_USER_WRITE = 128
  • RED_BRICK_FILE_PERMISSION_USER_EXECUTE = 64
  • RED_BRICK_FILE_PERMISSION_GROUP_ALL = 56
  • RED_BRICK_FILE_PERMISSION_GROUP_READ = 32
  • RED_BRICK_FILE_PERMISSION_GROUP_WRITE = 16
  • RED_BRICK_FILE_PERMISSION_GROUP_EXECUTE = 8
  • RED_BRICK_FILE_PERMISSION_OTHERS_ALL = 7
  • RED_BRICK_FILE_PERMISSION_OTHERS_READ = 4
  • RED_BRICK_FILE_PERMISSION_OTHERS_WRITE = 2
  • RED_BRICK_FILE_PERMISSION_OTHERS_EXECUTE = 1
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_processes(&self, session_id: u16) → ConvertingReceiver<Processes>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::spawn_process(&self, executable_string_id: u16, arguments_list_id: u16, environment_list_id: u16, working_directory_string_id: u16, uid: u32, gid: u32, stdin_file_id: u16, stdout_file_id: u16, stderr_file_id: u16, session_id: u16) → ConvertingReceiver<SpawnProcess>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::kill_process(&self, process_id: u16, signal: u8) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_PROCESS_SIGNAL_INTERRUPT = 2
  • RED_BRICK_PROCESS_SIGNAL_QUIT = 3
  • RED_BRICK_PROCESS_SIGNAL_ABORT = 6
  • RED_BRICK_PROCESS_SIGNAL_KILL = 9
  • RED_BRICK_PROCESS_SIGNAL_USER1 = 10
  • RED_BRICK_PROCESS_SIGNAL_USER2 = 12
  • RED_BRICK_PROCESS_SIGNAL_TERMINATE = 15
  • RED_BRICK_PROCESS_SIGNAL_CONTINUE = 18
  • RED_BRICK_PROCESS_SIGNAL_STOP = 19
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_process_command(&self, process_id: u16, session_id: u16) → ConvertingReceiver<ProcessCommand>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_process_identity(&self, process_id: u16) → ConvertingReceiver<ProcessIdentity>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_process_stdio(&self, process_id: u16, session_id: u16) → ConvertingReceiver<ProcessStdio>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_process_state(&self, process_id: u16) → ConvertingReceiver<ProcessState>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_PROCESS_STATE_UNKNOWN = 0
  • RED_BRICK_PROCESS_STATE_RUNNING = 1
  • RED_BRICK_PROCESS_STATE_ERROR = 2
  • RED_BRICK_PROCESS_STATE_EXITED = 3
  • RED_BRICK_PROCESS_STATE_KILLED = 4
  • RED_BRICK_PROCESS_STATE_STOPPED = 5
pub fn RedBrick::get_programs(&self, session_id: u16) → ConvertingReceiver<Programs>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::define_program(&self, identifier_string_id: u16, session_id: u16) → ConvertingReceiver<DefineProgram>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::purge_program(&self, program_id: u16, cookie: u32) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_program_identifier(&self, program_id: u16, session_id: u16) → ConvertingReceiver<ProgramIdentifier>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_program_root_directory(&self, program_id: u16, session_id: u16) → ConvertingReceiver<ProgramRootDirectory>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::set_program_command(&self, program_id: u16, executable_string_id: u16, arguments_list_id: u16, environment_list_id: u16, working_directory_string_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_program_command(&self, program_id: u16, session_id: u16) → ConvertingReceiver<ProgramCommand>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::set_program_stdio_redirection(&self, program_id: u16, stdin_redirection: u8, stdin_file_name_string_id: u16, stdout_redirection: u8, stdout_file_name_string_id: u16, stderr_redirection: u8, stderr_file_name_string_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_PIPE = 1
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_FILE = 2
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_program_stdio_redirection(&self, program_id: u16, session_id: u16) → ConvertingReceiver<ProgramStdioRedirection>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_PIPE = 1
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_FILE = 2
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
  • RED_BRICK_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
pub fn RedBrick::set_program_schedule(&self, program_id: u16, start_mode: u8, continue_after_error: bool, start_interval: u32, start_fields_string_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_PROGRAM_START_MODE_NEVER = 0
  • RED_BRICK_PROGRAM_START_MODE_ALWAYS = 1
  • RED_BRICK_PROGRAM_START_MODE_INTERVAL = 2
  • RED_BRICK_PROGRAM_START_MODE_CRON = 3
  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_program_schedule(&self, program_id: u16, session_id: u16) → ConvertingReceiver<ProgramSchedule>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_PROGRAM_START_MODE_NEVER = 0
  • RED_BRICK_PROGRAM_START_MODE_ALWAYS = 1
  • RED_BRICK_PROGRAM_START_MODE_INTERVAL = 2
  • RED_BRICK_PROGRAM_START_MODE_CRON = 3
pub fn RedBrick::get_program_scheduler_state(&self, program_id: u16, session_id: u16) → ConvertingReceiver<ProgramSchedulerState>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
  • RED_BRICK_PROGRAM_SCHEDULER_STATE_STOPPED = 0
  • RED_BRICK_PROGRAM_SCHEDULER_STATE_RUNNING = 1
pub fn RedBrick::continue_program_schedule(&self, program_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::start_program(&self, program_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_last_spawned_program_process(&self, program_id: u16, session_id: u16) → ConvertingReceiver<LastSpawnedProgramProcess>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_custom_program_option_names(&self, program_id: u16, session_id: u16) → ConvertingReceiver<CustomProgramOptionNames>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::set_custom_program_option_value(&self, program_id: u16, name_string_id: u16, value_string_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_custom_program_option_value(&self, program_id: u16, name_string_id: u16, session_id: u16) → ConvertingReceiver<CustomProgramOptionValue>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::remove_custom_program_option(&self, program_id: u16, name_string_id: u16) → ConvertingReceiver<u8>

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_api_version(&self) → [u8; 3]

Gibt die Version der API Definition (Major, Minor, Revision) zurück, die diese API Bindings implementieren. Dies ist weder die Release-Version dieser API Bindings noch gibt es in irgendeiner Weise Auskunft über den oder das repräsentierte(n) Brick oder Bricklet.

pub fn RedBrick::get_response_expected(&mut self, function_id: u8) → bool

Gibt das Response-Expected-Flag für die Funktion mit der angegebenen Funktions IDs zurück. Es ist true falls für die Funktion beim Aufruf eine Antwort erwartet wird, false andernfalls.

Für Getter-Funktionen ist diese Flag immer gesetzt und kann nicht entfernt werden, da diese Funktionen immer eine Antwort senden. Für Konfigurationsfunktionen für Callbacks ist es standardmäßig gesetzt, kann aber entfernt werden mittels RedBrick::set_response_expected. Für Setter-Funktionen ist es standardmäßig nicht gesetzt, kann aber gesetzt werden.

Wenn das Response-Expected-Flag für eine Setter-Funktion gesetzt ist, können Timeouts und andere Fehlerfälle auch für Aufrufe dieser Setter-Funktion detektiert werden. Das Gerät sendet dann eine Antwort extra für diesen Zweck. Wenn das Flag für eine Setter-Funktion nicht gesetzt ist, dann wird keine Antwort vom Gerät gesendet und Fehler werden stillschweigend ignoriert, da sie nicht detektiert werden können.

Siehe RedBrick::set_response_expected für die Liste der verfügbaren Funktions ID Konstanten für diese Funktion.

pub fn RedBrick::set_response_expected(&mut self, function_id: u8, response_expected: bool) → ()

Ändert das Response-Expected-Flag für die Funktion mit der angegebenen Funktion IDs. Diese Flag kann nur für Setter-Funktionen (Standardwert: false) und Konfigurationsfunktionen für Callbacks (Standardwert: true) geändert werden. Für Getter-Funktionen ist das Flag immer gesetzt.

Wenn das Response-Expected-Flag für eine Setter-Funktion gesetzt ist, können Timeouts und andere Fehlerfälle auch für Aufrufe dieser Setter-Funktion detektiert werden. Das Gerät sendet dann eine Antwort extra für diesen Zweck. Wenn das Flag für eine Setter-Funktion nicht gesetzt ist, dann wird keine Antwort vom Gerät gesendet und Fehler werden stillschweigend ignoriert, da sie nicht detektiert werden können.

Die folgenden Funktions ID Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_FUNCTION_EXPIRE_SESSION_UNCHECKED = 3
  • RED_BRICK_FUNCTION_RELEASE_OBJECT_UNCHECKED = 6
  • RED_BRICK_FUNCTION_READ_FILE_ASYNC = 21
  • RED_BRICK_FUNCTION_WRITE_FILE_UNCHECKED = 24
  • RED_BRICK_FUNCTION_WRITE_FILE_ASYNC = 25
pub fn RedBrick::set_response_expected_all(&mut self, response_expected: bool) → ()

Ändert das Response-Expected-Flag für alle Setter-Funktionen und Konfigurationsfunktionen für Callbacks diese Gerätes.

pub fn RedBrick::get_identity(&self) → ConvertingReceiver<Identity>

Gibt die UID, die UID zu der der Brick verbunden ist, die Position, die Hard- und Firmware Version sowie den Device Identifier zurück.

Die Position kann '0'-'8' (Stack Position) sein.

Eine Liste der Device Identifier Werte ist hier zu finden. Es gibt auch eine Konstante für den Device Identifier dieses Bricks.

Callbacks

Callbacks können registriert werden um zeitkritische oder wiederkehrende Daten vom Gerät zu erhalten. Die Registrierung kann mit der entsprechenden get_*_callback_receiver-Function durchgeführt werden, welche einen Receiver für Callback-Events zurück gibt.

Bemerkung

Callbacks für wiederkehrende Ereignisse zu verwenden ist immer zu bevorzugen gegenüber der Verwendung von Abfragen. Es wird weniger USB-Bandbreite benutzt und die Latenz ist erheblich geringer, da es keine Paketumlaufzeit gibt.

pub fn RedBrick::get_async_file_read_callback_receiver(&self) → ConvertingCallbackReceiver<AsyncFileReadEvent>

Receiver die mit dieser Funktion erstellt werden, empfangen Async File Read-Events.

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_async_file_write_callback_receiver(&self) → ConvertingCallbackReceiver<AsyncFileWriteEvent>

Receiver die mit dieser Funktion erstellt werden, empfangen Async File Write-Events.

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_ERROR_CODE_SUCCESS = 0
  • RED_BRICK_ERROR_CODE_UNKNOWN_ERROR = 1
  • RED_BRICK_ERROR_CODE_INVALID_OPERATION = 2
  • RED_BRICK_ERROR_CODE_OPERATION_ABORTED = 3
  • RED_BRICK_ERROR_CODE_INTERNAL_ERROR = 4
  • RED_BRICK_ERROR_CODE_UNKNOWN_SESSION_ID = 5
  • RED_BRICK_ERROR_CODE_NO_FREE_SESSION_ID = 6
  • RED_BRICK_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
  • RED_BRICK_ERROR_CODE_NO_FREE_OBJECT_ID = 8
  • RED_BRICK_ERROR_CODE_OBJECT_IS_LOCKED = 9
  • RED_BRICK_ERROR_CODE_NO_MORE_DATA = 10
  • RED_BRICK_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
  • RED_BRICK_ERROR_CODE_PROGRAM_IS_PURGED = 12
  • RED_BRICK_ERROR_CODE_INVALID_PARAMETER = 128
  • RED_BRICK_ERROR_CODE_NO_FREE_MEMORY = 129
  • RED_BRICK_ERROR_CODE_NO_FREE_SPACE = 130
  • RED_BRICK_ERROR_CODE_ACCESS_DENIED = 121
  • RED_BRICK_ERROR_CODE_ALREADY_EXISTS = 132
  • RED_BRICK_ERROR_CODE_DOES_NOT_EXIST = 133
  • RED_BRICK_ERROR_CODE_INTERRUPTED = 134
  • RED_BRICK_ERROR_CODE_IS_DIRECTORY = 135
  • RED_BRICK_ERROR_CODE_NOT_A_DIRECTORY = 136
  • RED_BRICK_ERROR_CODE_WOULD_BLOCK = 137
  • RED_BRICK_ERROR_CODE_OVERFLOW = 138
  • RED_BRICK_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
  • RED_BRICK_ERROR_CODE_OUT_OF_RANGE = 140
  • RED_BRICK_ERROR_CODE_NAME_TOO_LONG = 141
  • RED_BRICK_ERROR_CODE_INVALID_SEEK = 142
  • RED_BRICK_ERROR_CODE_NOT_SUPPORTED = 143
  • RED_BRICK_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
pub fn RedBrick::get_file_events_occurred_callback_receiver(&self) → ConvertingCallbackReceiver<FileEventsOccurredEvent>

Receiver die mit dieser Funktion erstellt werden, empfangen File Events Occurred-Events.

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_FILE_EVENT_READABLE = 1
  • RED_BRICK_FILE_EVENT_WRITABLE = 2
pub fn RedBrick::get_process_state_changed_callback_receiver(&self) → ConvertingCallbackReceiver<ProcessStateChangedEvent>

Receiver die mit dieser Funktion erstellt werden, empfangen Process State Changed-Events.

Die folgenden Konstanten sind für diese Funktion verfügbar:

  • RED_BRICK_PROCESS_STATE_UNKNOWN = 0
  • RED_BRICK_PROCESS_STATE_RUNNING = 1
  • RED_BRICK_PROCESS_STATE_ERROR = 2
  • RED_BRICK_PROCESS_STATE_EXITED = 3
  • RED_BRICK_PROCESS_STATE_KILLED = 4
  • RED_BRICK_PROCESS_STATE_STOPPED = 5
pub fn RedBrick::get_program_scheduler_state_changed_callback_receiver(&self) → ConvertingCallbackReceiver<u16>

Receiver die mit dieser Funktion erstellt werden, empfangen Program Scheduler State Changed-Events.

pub fn RedBrick::get_program_process_spawned_callback_receiver(&self) → ConvertingCallbackReceiver<u16>

Receiver die mit dieser Funktion erstellt werden, empfangen Program Process Spawned-Events.

Konstanten

RedBrick::DEVICE_IDENTIFIER

Diese Konstante wird verwendet um einen RED Brick zu identifizieren.

Die RedBrick::get_identity Funktion und der IpConnection::get_enumerate_callback_receiver Callback der IP Connection haben ein device_identifier Parameter um den Typ des Bricks oder Bricklets anzugeben.

RedBrick::DEVICE_DISPLAY_NAME

Diese Konstante stellt den Anzeigenamen eines RED Brick dar.