This is the description of the Delphi/Lazarus API bindings for the RED Brick. General information and technical specifications for the RED Brick are summarized in its hardware description.
An installation guide for the Delphi/Lazarus API bindings is part of their general description.
The example code below is Public Domain (CC0 1.0).
Download (ExampleReadFile.pas)
1program ExampleReadFile;
2
3{$ifdef MSWINDOWS}{$apptype CONSOLE}{$endif}
4{$ifdef FPC}{$mode OBJFPC}{$H+}{$endif}
5
6uses
7 SysUtils, IPConnection, BrickRED;
8
9type
10 TExample = class
11 private
12 ipcon: TIPConnection;
13 red: TBrickRED;
14 public
15 procedure CheckError(context: string; errorCode: byte);
16 function AllocateString(sessionId: word; buffer: string): word;
17 procedure ReadFile(remotePath: string; localPath: string);
18 procedure Execute;
19 end;
20
21const
22 HOST = 'localhost';
23 PORT = 4223;
24 UID = 'XXYYZZ'; { Change XXYYZZ to the UID of your RED Brick }
25
26var
27 e: TExample;
28
29procedure TExample.CheckError(context: string; errorCode: byte);
30begin
31 if (errorCode <> 0) then begin
32 raise Exception.Create(Format('%s error occurred: %d', [context, errorCode]));
33 end;
34end;
35
36function TExample.AllocateString(sessionId: word; buffer: string): word;
37var errorCode: byte; stringId: word;
38begin
39 if (Length(buffer) > 60) then begin
40 { FIXME: Currently this helper function only supports strings up to 60 characters }
41 raise Exception.Create('String too long');
42 end;
43 red.AllocateString(Length(buffer), buffer, sessionId, errorCode, stringId);
44 CheckError('AllocateString', errorCode);
45 result := stringId;
46end;
47
48procedure TExample.ReadFile(remotePath: string; localPath: string);
49var errorCode: byte; sessionId: word; remotePathStringId: word; remoteFileId: word;
50 buffer: TArray0To61OfUInt8; lengthRead: byte; localFile: file; counter: longint;
51begin
52 { Create session }
53 red.CreateSession(60, errorCode, sessionId);
54 CheckError('CreateSession', errorCode);
55
56 { Wrap remote path string }
57 remotePathStringId := AllocateString(sessionId, remotePath);
58
59 { Open remote file for reading }
60 red.OpenFile(remotePathStringId, BRICK_RED_FILE_FLAG_READ_ONLY or BRICK_RED_FILE_FLAG_NON_BLOCKING,
61 0, 0, 0, sessionId, errorCode, remoteFileId);
62 CheckError('OpenFile', errorCode);
63
64 { Open local file for writing }
65 Assign(localFile, localPath);
66 Rewrite(localFile, 1);
67
68 { Read remote file and write to local file }
69 counter := 500;
70
71 repeat
72 red.ReadFile(remoteFileId, 62, errorCode, buffer, lengthRead);
73 CheckError('ReadFile', errorCode);
74 BlockWrite(localFile, buffer, lengthRead);
75 Dec(counter);
76
77 if (counter = 0) then begin
78 counter := 500;
79 Write('.');
80 errorCode := red.KeepSessionAlive(sessionId, 30);
81 CheckError('KeepSessionAlive', errorCode);
82 end;
83 until (lengthRead = 0);
84
85 WriteLn('.');
86
87 { Close local file }
88 Close(localFile);
89
90 { Close remote file }
91 red.ReleaseObjectUnchecked(remoteFileId, sessionId);
92
93 { Expire session }
94 red.ExpireSessionUnchecked(sessionId);
95end;
96
97procedure TExample.Execute;
98begin
99 { Create IP connection }
100 ipcon := TIPConnection.Create;
101
102 { Create device object }
103 red := TBrickRED.Create(UID, ipcon);
104
105 { Connect to brickd }
106 ipcon.Connect(HOST, PORT);
107 { Don't use device before ipcon is connected }
108
109 { Read /home/tf/foobar.txt on RED Brick and write it locally to foobar.txt }
110 ReadFile('/home/tf/foobar.txt', 'foobar.txt');
111
112 WriteLn('Press key to exit');
113 ReadLn;
114 ipcon.Destroy; { Calls ipcon.Disconnect internally }
115end;
116
117begin
118 e := TExample.Create;
119 e.Execute;
120 e.Destroy;
121end.
Download (ExampleWriteFile.pas)
1program ExampleWriteFile;
2
3{$ifdef MSWINDOWS}{$apptype CONSOLE}{$endif}
4{$ifdef FPC}{$mode OBJFPC}{$H+}{$endif}
5
6uses
7 SysUtils, IPConnection, BrickRED;
8
9type
10 TExample = class
11 private
12 ipcon: TIPConnection;
13 red: TBrickRED;
14 public
15 procedure CheckError(context: string; errorCode: byte);
16 function AllocateString(sessionId: word; buffer: string): word;
17 procedure WriteFile(localPath: string; remotePath: string);
18 procedure Execute;
19 end;
20
21const
22 HOST = 'localhost';
23 PORT = 4223;
24 UID = 'XXYYZZ'; { Change XXYYZZ to the UID of your RED Brick }
25
26var
27 e: TExample;
28
29procedure TExample.CheckError(context: string; errorCode: byte);
30begin
31 if (errorCode <> 0) then begin
32 raise Exception.Create(Format('%s error occurred: %d', [context, errorCode]));
33 end;
34end;
35
36function TExample.AllocateString(sessionId: word; buffer: string): word;
37var errorCode: byte; stringId: word;
38begin
39 if (Length(buffer) > 60) then begin
40 { FIXME: Currently this helper function only supports strings up to 60 characters }
41 raise Exception.Create('String too long');
42 end;
43 red.AllocateString(Length(buffer), buffer, sessionId, errorCode, stringId);
44 CheckError('AllocateString', errorCode);
45 result := stringId;
46end;
47
48procedure TExample.WriteFile(localPath: string; remotePath: string);
49var errorCode: byte; sessionId: word; remotePathStringId: word; remoteFileId: word;
50 buffer: TArray0To60OfUInt8; lengthRead: longint; localFile: file; lengthWritten: byte;
51 counter: longint;
52begin
53 { Open local file for reading }
54 Assign(localFile, localPath);
55 Reset(localFile, 1);
56
57 { Create session }
58 red.CreateSession(60, errorCode, sessionId);
59 CheckError('CreateSession', errorCode);
60
61 { Wrap remote path string }
62 remotePathStringId := AllocateString(sessionId, remotePath);
63
64 { Create remote non-executable file for writing as user/group tf }
65 red.OpenFile(remotePathStringId,
66 BRICK_RED_FILE_FLAG_WRITE_ONLY or BRICK_RED_FILE_FLAG_CREATE or
67 BRICK_RED_FILE_FLAG_TRUNCATE or BRICK_RED_FILE_FLAG_NON_BLOCKING,
68 420 { 0o644 }, 1000, 1000, sessionId, errorCode, remoteFileId);
69 CheckError('OpenFile', errorCode);
70
71 { Read local file and write to remote file }
72 counter := 500;
73
74 repeat
75 BlockRead(localFile, buffer, 61, lengthRead);
76 red.WriteFile(remoteFileId, buffer, lengthRead, errorCode, lengthWritten);
77 CheckError('WriteFile', errorCode);
78
79 if (lengthRead <> lengthWritten) then begin
80 { FIXME: Currently this example doesn't handle short writes }
81 raise Exception.Create('Short write');
82 end;
83
84 Dec(counter);
85
86 if (counter = 0) then begin
87 counter := 500;
88 Write('.');
89 errorCode := red.KeepSessionAlive(sessionId, 30);
90 CheckError('KeepSessionAlive', errorCode);
91 end;
92 until (lengthRead = 0);
93
94 WriteLn('.');
95
96 { Close remote file }
97 red.ReleaseObjectUnchecked(remoteFileId, sessionId);
98
99 { Close local file }
100 Close(localFile);
101
102 { Expire session }
103 red.ExpireSessionUnchecked(sessionId);
104end;
105
106procedure TExample.Execute;
107begin
108 { Create IP connection }
109 ipcon := TIPConnection.Create;
110
111 { Create device object }
112 red := TBrickRED.Create(UID, ipcon);
113
114 { Connect to brickd }
115 ipcon.Connect(HOST, PORT);
116 { Don't use device before ipcon is connected }
117
118 { Read foobar.txt locally and write it to /home/tf/foobar.txt on RED Brick }
119 WriteFile('foobar.txt', '/home/tf/foobar.txt');
120
121 WriteLn('Press key to exit');
122 ReadLn;
123 ipcon.Destroy; { Calls ipcon.Disconnect internally }
124end;
125
126begin
127 e := TExample.Create;
128 e.Execute;
129 e.Destroy;
130end.
Since Delphi does not support multiple return values directly, we use the
out keyword to return multiple values from a function.
All functions and procedures listed below are thread-safe.
Note
The API documentation for the RED Brick is currently incomplete.
The RED Brick API is meant to be used by the Brick Viewer to implement the offered functionality (getting status information, managing programs etc.). Normal users will not need to use this API, it may only be interesting for power users.
FIXME: explain sessions
The RED Brick API operates on reference counted objects (strings, lists, files,
directories, processes and programs) that are identified by their 16bit object
ID. Functions that allocate or return an object ID (e.g. AllocateString
and GetNextDirectoryEntry) increase the reference count of the returned
object. If the object is no longer needed then ReleaseObject has to
be called to decrease the reference count of the object again. In contrast to
allocation and getter functions, the reference count for an object returned by
a callback is not increased and ReleaseObject must not be called for
such an object in response to a callback.
There are functions (e.g. GetFileInfo) that only return valid objects
under certain conditions. This conditions are documented for the specific
functions. For invalid objects ReleaseObject must not be called.
There are also function (e.g. SetProgramStdioRedirection) that have
conditionally unused object parameters. Under which conditions an object
parameter is unused is documented for the specific functions. For unused
object parameters 0 has to be passed as object ID.
The RED Brick API is more complex then the typical Brick API and requires more elaborate error reporting than the TCP/IP protocol can provide with its 2bit error code. Therefore, almost all functions of the RED Brick API return an 8bit error code. Possible error codes are:
Success = 0
UnknownError = 1
InvalidOperation = 2
OperationAborted = 3
InternalError = 4
UnknownSessionID = 5
NoFreeSessionID = 6
UnknownObjectID = 7
NoFreeObjectID = 8
ObjectIsLocked = 9
NoMoreData = 10
WrongListItemType = 11
ProgramIsPurged = 12
InvalidParameter = 128 (EINVAL)
NoFreeMemory = 129 (ENOMEM)
NoFreeSpace = 130 (ENOSPC)
AccessDenied = 131 (EACCES)
AlreadyExists = 132 (EEXIST)
DoesNotExist = 133 (ENOENT)
Interrupted = 134 (EINTR)
IsDirectory = 135 (EISDIR)
NotADirectory = 136 (ENOTDIR)
WouldBlock = 137 (EWOULDBLOCK)
Overflow = 138 (EOVERFLOW)
BadFileDescriptor = 139 (EBADF)
OutOfRange = 140 (ERANGE)
NameTooLong = 141 (ENAMETOOLONG)
InvalidSeek = 142 (ESPIPE)
NotSupported = 143 (ENOTSUP)
TooManyOpenFiles = 144 (EMFILE)
If a function returns an error code other than Success then its other return values (if any) are invalid and must not be used.
The error code InvalidOperation is returned if the requested operation cannot be performed because the current state of the object does not allow it. For example, trying to append an item to a full list object or trying to undefine an already undefined program.
The error code NotSupported is returned if the requested operation can never be performed. For example, trying to append a list object to itself, trying to get the name of a file object with type Pipe or trying to create a directory non-recursively with more than the last part of the directory name referring to non-existing directories.
String objects store UTF-8 encoded data.
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
Decreases the reference count of an object by one and returns the resulting error code. If the reference count reaches zero the object gets destroyed.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Allocates a new string object, reserves length_to_reserve bytes memory
for it and sets up to the first 60 bytes. Set length_to_reserve to the
length of the string that should be stored in the string object.
Returns the object ID of the new string object and the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
Truncates a string object to length bytes and returns the resulting
error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the length of a string object and the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
Sets a chunk of up to 58 bytes in a string object beginning at offset.
Returns the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns a chunk up to 63 bytes from a string object beginning at offset and
returns the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Allocates a new list object and reserves memory for length_to_reserve
items. Set length_to_reserve to the number of items that should be stored
in the list object.
Returns the object ID of the new list object and the resulting error code.
When a list object gets destroyed then the reference count of each object in the list object is decreased by one.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the length of a list object in items and the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the object ID and type of the object stored at index in a list
object and returns the resulting error code.
Possible object types are:
String = 0
List = 1
File = 2
Directory = 3
Process = 4
Program = 5
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For type:
BRICK_RED_OBJECT_TYPE_STRING = 0
BRICK_RED_OBJECT_TYPE_LIST = 1
BRICK_RED_OBJECT_TYPE_FILE = 2
BRICK_RED_OBJECT_TYPE_DIRECTORY = 3
BRICK_RED_OBJECT_TYPE_PROCESS = 4
BRICK_RED_OBJECT_TYPE_PROGRAM = 5
| Parameters: |
|
|---|---|
| Returns: |
|
Appends an object to a list object and increases the reference count of the appended object by one.
Returns the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
Removes the object stored at index from a list object and decreases the
reference count of the removed object by one.
Returns the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Opens an existing file or creates a new file and allocates a new file object for it.
FIXME: name has to be absolute
The reference count of the name string object is increased by one. When the file object gets destroyed then the reference count of the name string object is decreased by one. Also the name string object is locked and cannot be modified while the file object holds a reference to it.
The flags parameter takes a ORed combination of the following possible file
flags (in hexadecimal notation):
ReadOnly = 0x0001 (O_RDONLY)
WriteOnly = 0x0002 (O_WRONLY)
ReadWrite = 0x0004 (O_RDWR)
Append = 0x0008 (O_APPEND)
Create = 0x0010 (O_CREAT)
Exclusive = 0x0020 (O_EXCL)
NonBlocking = 0x0040 (O_NONBLOCK)
Truncate = 0x0080 (O_TRUNC)
Temporary = 0x0100
Replace = 0x0200
FIXME: explain Temporary and Replace flag
The permissions parameter takes a ORed combination of the following
possible file permissions (in octal notation) that match the common UNIX
permission bits:
UserRead = 00400
UserWrite = 00200
UserExecute = 00100
GroupRead = 00040
GroupWrite = 00020
GroupExecute = 00010
OthersRead = 00004
OthersWrite = 00002
OthersExecute = 00001
Returns the object ID of the new file object and the resulting error code.
The following constants are available for this function:
For flags:
BRICK_RED_FILE_FLAG_READ_ONLY = 1
BRICK_RED_FILE_FLAG_WRITE_ONLY = 2
BRICK_RED_FILE_FLAG_READ_WRITE = 4
BRICK_RED_FILE_FLAG_APPEND = 8
BRICK_RED_FILE_FLAG_CREATE = 16
BRICK_RED_FILE_FLAG_EXCLUSIVE = 32
BRICK_RED_FILE_FLAG_NON_BLOCKING = 64
BRICK_RED_FILE_FLAG_TRUNCATE = 128
BRICK_RED_FILE_FLAG_TEMPORARY = 256
BRICK_RED_FILE_FLAG_REPLACE = 512
For permissions:
BRICK_RED_FILE_PERMISSION_USER_ALL = 448
BRICK_RED_FILE_PERMISSION_USER_READ = 256
BRICK_RED_FILE_PERMISSION_USER_WRITE = 128
BRICK_RED_FILE_PERMISSION_USER_EXECUTE = 64
BRICK_RED_FILE_PERMISSION_GROUP_ALL = 56
BRICK_RED_FILE_PERMISSION_GROUP_READ = 32
BRICK_RED_FILE_PERMISSION_GROUP_WRITE = 16
BRICK_RED_FILE_PERMISSION_GROUP_EXECUTE = 8
BRICK_RED_FILE_PERMISSION_OTHERS_ALL = 7
BRICK_RED_FILE_PERMISSION_OTHERS_READ = 4
BRICK_RED_FILE_PERMISSION_OTHERS_WRITE = 2
BRICK_RED_FILE_PERMISSION_OTHERS_EXECUTE = 1
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Creates a new pipe and allocates a new file object for it.
The flags parameter takes a ORed combination of the following possible
pipe flags (in hexadecimal notation):
NonBlockingRead = 0x0001
NonBlockingWrite = 0x0002
The length of the pipe buffer can be specified with the length parameter
in bytes. If length is set to zero, then the default pipe buffer length is used.
Returns the object ID of the new file object and the resulting error code.
The following constants are available for this function:
For flags:
BRICK_RED_PIPE_FLAG_NON_BLOCKING_READ = 1
BRICK_RED_PIPE_FLAG_NON_BLOCKING_WRITE = 2
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns various information about a file and the resulting error code.
Possible file types are:
Unknown = 0
Regular = 1
Directory = 2
Character = 3
Block = 4
FIFO = 5
Symlink = 6
Socket = 7
Pipe = 8
If the file type is Pipe then the returned name string object is invalid,
because a pipe has no name. Otherwise the returned name string object was used
to open or create the file object, as passed to OpenFile.
The returned flags were used to open or create the file object, as passed to
OpenFile or CreatePipe. See the respective function for a list
of possible file and pipe flags.
FIXME: everything except flags and length is invalid if file type is Pipe
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For type:
BRICK_RED_FILE_TYPE_UNKNOWN = 0
BRICK_RED_FILE_TYPE_REGULAR = 1
BRICK_RED_FILE_TYPE_DIRECTORY = 2
BRICK_RED_FILE_TYPE_CHARACTER = 3
BRICK_RED_FILE_TYPE_BLOCK = 4
BRICK_RED_FILE_TYPE_FIFO = 5
BRICK_RED_FILE_TYPE_SYMLINK = 6
BRICK_RED_FILE_TYPE_SOCKET = 7
BRICK_RED_FILE_TYPE_PIPE = 8
For flags:
BRICK_RED_FILE_FLAG_READ_ONLY = 1
BRICK_RED_FILE_FLAG_WRITE_ONLY = 2
BRICK_RED_FILE_FLAG_READ_WRITE = 4
BRICK_RED_FILE_FLAG_APPEND = 8
BRICK_RED_FILE_FLAG_CREATE = 16
BRICK_RED_FILE_FLAG_EXCLUSIVE = 32
BRICK_RED_FILE_FLAG_NON_BLOCKING = 64
BRICK_RED_FILE_FLAG_TRUNCATE = 128
BRICK_RED_FILE_FLAG_TEMPORARY = 256
BRICK_RED_FILE_FLAG_REPLACE = 512
For permissions:
BRICK_RED_FILE_PERMISSION_USER_ALL = 448
BRICK_RED_FILE_PERMISSION_USER_READ = 256
BRICK_RED_FILE_PERMISSION_USER_WRITE = 128
BRICK_RED_FILE_PERMISSION_USER_EXECUTE = 64
BRICK_RED_FILE_PERMISSION_GROUP_ALL = 56
BRICK_RED_FILE_PERMISSION_GROUP_READ = 32
BRICK_RED_FILE_PERMISSION_GROUP_WRITE = 16
BRICK_RED_FILE_PERMISSION_GROUP_EXECUTE = 8
BRICK_RED_FILE_PERMISSION_OTHERS_ALL = 7
BRICK_RED_FILE_PERMISSION_OTHERS_READ = 4
BRICK_RED_FILE_PERMISSION_OTHERS_WRITE = 2
BRICK_RED_FILE_PERMISSION_OTHERS_EXECUTE = 1
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Reads up to 62 bytes from a file object.
Returns the bytes read, the actual number of bytes read and the resulting error code.
If there is not data to be read, either because the file position reached end-of-file or because there is not data in the pipe, then zero bytes are returned.
If the file object was created by OpenFile without the NonBlocking
flag or by CreatePipe without the NonBlockingRead flag then the
error code NotSupported is returned.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|
Reads up to 263 - 1 bytes from a file object asynchronously.
Reports the bytes read (in 60 byte chunks), the actual number of bytes read and
the resulting error code via the OnAsyncFileRead callback.
If there is not data to be read, either because the file position reached end-of-file or because there is not data in the pipe, then zero bytes are reported.
If the file object was created by OpenFile without the NonBlocking
flag or by CreatePipe without the NonBlockingRead flag then the error
code NotSupported is reported via the OnAsyncFileRead callback.
| Parameters: |
|
|---|---|
| Returns: |
|
Aborts a ReadFileAsync operation in progress.
Returns the resulting error code.
On success the OnAsyncFileRead callback will report OperationAborted.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Writes up to 61 bytes to a file object.
Returns the actual number of bytes written and the resulting error code.
If the file object was created by OpenFile without the NonBlocking
flag or by CreatePipe without the NonBlockingWrite flag then the
error code NotSupported is returned.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|
Writes up to 61 bytes to a file object.
Does neither report the actual number of bytes written nor the resulting error code.
If the file object was created by OpenFile without the NonBlocking
flag or by CreatePipe without the NonBlockingWrite flag then the
write operation will fail silently.
| Parameters: |
|
|---|
Writes up to 61 bytes to a file object.
Reports the actual number of bytes written and the resulting error code via the
OnAsyncFileWrite callback.
If the file object was created by OpenFile without the NonBlocking
flag or by CreatePipe without the NonBlockingWrite flag then the
error code NotSupported is reported via the OnAsyncFileWrite callback.
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Set the current seek position of a file object relative to origin.
Possible file origins are:
Beginning = 0
Current = 1
End = 2
Returns the resulting absolute seek position and error code.
If the file object was created by CreatePipe then it has no seek
position and the error code InvalidSeek is returned.
The following constants are available for this function:
For origin:
BRICK_RED_FILE_ORIGIN_BEGINNING = 0
BRICK_RED_FILE_ORIGIN_CURRENT = 1
BRICK_RED_FILE_ORIGIN_END = 2
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the current seek position of a file object and returns the resulting error code.
If the file object was created by CreatePipe then it has no seek
position and the error code InvalidSeek is returned.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For events:
BRICK_RED_FILE_EVENT_READABLE = 1
BRICK_RED_FILE_EVENT_WRITABLE = 2
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For events:
BRICK_RED_FILE_EVENT_READABLE = 1
BRICK_RED_FILE_EVENT_WRITABLE = 2
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Opens an existing directory and allocates a new directory object for it.
FIXME: name has to be absolute
The reference count of the name string object is increased by one. When the directory object is destroyed then the reference count of the name string object is decreased by one. Also the name string object is locked and cannot be modified while the directory object holds a reference to it.
Returns the object ID of the new directory object and the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the name of a directory object, as passed to OpenDirectory, and
the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the next entry in a directory object and the resulting error code.
If there is not next entry then error code NoMoreData is returned. To rewind
a directory object call RewindDirectory.
Possible directory entry types are:
Unknown = 0
Regular = 1
Directory = 2
Character = 3
Block = 4
FIFO = 5
Symlink = 6
Socket = 7
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For type:
BRICK_RED_DIRECTORY_ENTRY_TYPE_UNKNOWN = 0
BRICK_RED_DIRECTORY_ENTRY_TYPE_REGULAR = 1
BRICK_RED_DIRECTORY_ENTRY_TYPE_DIRECTORY = 2
BRICK_RED_DIRECTORY_ENTRY_TYPE_CHARACTER = 3
BRICK_RED_DIRECTORY_ENTRY_TYPE_BLOCK = 4
BRICK_RED_DIRECTORY_ENTRY_TYPE_FIFO = 5
BRICK_RED_DIRECTORY_ENTRY_TYPE_SYMLINK = 6
BRICK_RED_DIRECTORY_ENTRY_TYPE_SOCKET = 7
| Parameters: |
|
|---|---|
| Returns: |
|
Rewinds a directory object and returns the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
FIXME: name has to be absolute
The following constants are available for this function:
For flags:
BRICK_RED_DIRECTORY_FLAG_RECURSIVE = 1
BRICK_RED_DIRECTORY_FLAG_EXCLUSIVE = 2
For permissions:
BRICK_RED_FILE_PERMISSION_USER_ALL = 448
BRICK_RED_FILE_PERMISSION_USER_READ = 256
BRICK_RED_FILE_PERMISSION_USER_WRITE = 128
BRICK_RED_FILE_PERMISSION_USER_EXECUTE = 64
BRICK_RED_FILE_PERMISSION_GROUP_ALL = 56
BRICK_RED_FILE_PERMISSION_GROUP_READ = 32
BRICK_RED_FILE_PERMISSION_GROUP_WRITE = 16
BRICK_RED_FILE_PERMISSION_GROUP_EXECUTE = 8
BRICK_RED_FILE_PERMISSION_OTHERS_ALL = 7
BRICK_RED_FILE_PERMISSION_OTHERS_READ = 4
BRICK_RED_FILE_PERMISSION_OTHERS_WRITE = 2
BRICK_RED_FILE_PERMISSION_OTHERS_EXECUTE = 1
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
Sends a UNIX signal to a process object and returns the resulting error code.
Possible UNIX signals are:
Interrupt = 2
Quit = 3
Abort = 6
Kill = 9
User1 = 10
User2 = 12
Terminate = 15
Continue = 18
Stop = 19
The following constants are available for this function:
For signal:
BRICK_RED_PROCESS_SIGNAL_INTERRUPT = 2
BRICK_RED_PROCESS_SIGNAL_QUIT = 3
BRICK_RED_PROCESS_SIGNAL_ABORT = 6
BRICK_RED_PROCESS_SIGNAL_KILL = 9
BRICK_RED_PROCESS_SIGNAL_USER1 = 10
BRICK_RED_PROCESS_SIGNAL_USER2 = 12
BRICK_RED_PROCESS_SIGNAL_TERMINATE = 15
BRICK_RED_PROCESS_SIGNAL_CONTINUE = 18
BRICK_RED_PROCESS_SIGNAL_STOP = 19
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the executable, arguments, environment and working directory used to
spawn a process object, as passed to SpawnProcess, and the resulting
error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the process ID and the user and group ID used to spawn a process object,
as passed to SpawnProcess, and the resulting error code.
The process ID is only valid if the state is Running or Stopped, see
GetProcessState.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the stdin, stdout and stderr files used to spawn a process object, as
passed to SpawnProcess, and the resulting error code.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
Returns the current state, timestamp and exit code of a process object, and the resulting error code.
Possible process states are:
Unknown = 0
Running = 1
Error = 2
Exited = 3
Killed = 4
Stopped = 5
The timestamp represents the UNIX time since when the process is in its current state.
The exit code is only valid if the state is Error, Exited, Killed or Stopped and has different meanings depending on the state:
Error: error code for error occurred while spawning the process (see below)
Exited: exit status of the process
Killed: UNIX signal number used to kill the process
Stopped: UNIX signal number used to stop the process
Possible exit/error codes in Error state are:
InternalError = 125
CannotExecute = 126
DoesNotExist = 127
The CannotExecute error can be caused by the executable being opened for writing.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For state:
BRICK_RED_PROCESS_STATE_UNKNOWN = 0
BRICK_RED_PROCESS_STATE_RUNNING = 1
BRICK_RED_PROCESS_STATE_ERROR = 2
BRICK_RED_PROCESS_STATE_EXITED = 3
BRICK_RED_PROCESS_STATE_KILLED = 4
BRICK_RED_PROCESS_STATE_STOPPED = 5
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
FIXME: root directory is absolute: <home>/programs/<identifier>
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
FIXME: working directory is relative to <home>/programs/<identifier>/bin
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
FIXME: working directory is relative to <home>/programs/<identifier>/bin
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
FIXME: stdio file names are relative to <home>/programs/<identifier>/bin
The following constants are available for this function:
For stdinRedirection:
BRICK_RED_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
BRICK_RED_PROGRAM_STDIO_REDIRECTION_PIPE = 1
BRICK_RED_PROGRAM_STDIO_REDIRECTION_FILE = 2
BRICK_RED_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
BRICK_RED_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
BRICK_RED_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
For stdoutRedirection:
BRICK_RED_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
BRICK_RED_PROGRAM_STDIO_REDIRECTION_PIPE = 1
BRICK_RED_PROGRAM_STDIO_REDIRECTION_FILE = 2
BRICK_RED_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
BRICK_RED_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
BRICK_RED_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
For stderrRedirection:
BRICK_RED_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
BRICK_RED_PROGRAM_STDIO_REDIRECTION_PIPE = 1
BRICK_RED_PROGRAM_STDIO_REDIRECTION_FILE = 2
BRICK_RED_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
BRICK_RED_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
BRICK_RED_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
FIXME: stdio file names are relative to <home>/programs/<identifier>/bin
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For stdinRedirection:
BRICK_RED_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
BRICK_RED_PROGRAM_STDIO_REDIRECTION_PIPE = 1
BRICK_RED_PROGRAM_STDIO_REDIRECTION_FILE = 2
BRICK_RED_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
BRICK_RED_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
BRICK_RED_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
For stdoutRedirection:
BRICK_RED_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
BRICK_RED_PROGRAM_STDIO_REDIRECTION_PIPE = 1
BRICK_RED_PROGRAM_STDIO_REDIRECTION_FILE = 2
BRICK_RED_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
BRICK_RED_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
BRICK_RED_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
For stderrRedirection:
BRICK_RED_PROGRAM_STDIO_REDIRECTION_DEV_NULL = 0
BRICK_RED_PROGRAM_STDIO_REDIRECTION_PIPE = 1
BRICK_RED_PROGRAM_STDIO_REDIRECTION_FILE = 2
BRICK_RED_PROGRAM_STDIO_REDIRECTION_INDIVIDUAL_LOG = 3
BRICK_RED_PROGRAM_STDIO_REDIRECTION_CONTINUOUS_LOG = 4
BRICK_RED_PROGRAM_STDIO_REDIRECTION_STDOUT = 5
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For startMode:
BRICK_RED_PROGRAM_START_MODE_NEVER = 0
BRICK_RED_PROGRAM_START_MODE_ALWAYS = 1
BRICK_RED_PROGRAM_START_MODE_INTERVAL = 2
BRICK_RED_PROGRAM_START_MODE_CRON = 3
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For startMode:
BRICK_RED_PROGRAM_START_MODE_NEVER = 0
BRICK_RED_PROGRAM_START_MODE_ALWAYS = 1
BRICK_RED_PROGRAM_START_MODE_INTERVAL = 2
BRICK_RED_PROGRAM_START_MODE_CRON = 3
| Parameters: |
|
|---|---|
| Output Parameters: |
|
FIXME: message is currently valid in error-occurred state only
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
For state:
BRICK_RED_PROGRAM_SCHEDULER_STATE_STOPPED = 0
BRICK_RED_PROGRAM_SCHEDULER_STATE_RUNNING = 1
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Output Parameters: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Parameters: |
|
|---|---|
| Returns: |
|
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
| Output Parameters: |
|
|---|
Returns the UID, the UID where the Brick is connected to, the position, the hardware and firmware version as well as the device identifier.
The position is the position in the stack from '0' (bottom) to '8' (top).
The device identifier numbers can be found here. There is also a constant for the device identifier of this Brick.
Callbacks can be registered to receive time critical or recurring data from the device. The registration is done by assigning a procedure to an callback property of the device object:
procedure TExample.MyCallback(sender: TBrickRED; const value: longint); begin WriteLn(Format('Value: %d', [value])); end; red.OnExample := {$ifdef FPC}@{$endif}example.MyCallback;
The available callback properties and their parameter types are described below.
Note
Using callbacks for recurring events is always preferred compared to using getters. It will use less USB bandwidth and the latency will be a lot better, since there is no round trip time.
procedure(sender: TBrickRED; const fileId: word; const errorCode: byte; const buffer: array [0..59] of byte; const lengthRead: byte) of object;
| Callback Parameters: |
|
|---|
This callback reports the result of a call to the ReadFileAsync
function.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
procedure(sender: TBrickRED; const fileId: word; const errorCode: byte; const lengthWritten: byte) of object;
| Callback Parameters: |
|
|---|
This callback reports the result of a call to the WriteFileAsync
function.
The following constants are available for this function:
For errorCode:
BRICK_RED_ERROR_CODE_SUCCESS = 0
BRICK_RED_ERROR_CODE_UNKNOWN_ERROR = 1
BRICK_RED_ERROR_CODE_INVALID_OPERATION = 2
BRICK_RED_ERROR_CODE_OPERATION_ABORTED = 3
BRICK_RED_ERROR_CODE_INTERNAL_ERROR = 4
BRICK_RED_ERROR_CODE_UNKNOWN_SESSION_ID = 5
BRICK_RED_ERROR_CODE_NO_FREE_SESSION_ID = 6
BRICK_RED_ERROR_CODE_UNKNOWN_OBJECT_ID = 7
BRICK_RED_ERROR_CODE_NO_FREE_OBJECT_ID = 8
BRICK_RED_ERROR_CODE_OBJECT_IS_LOCKED = 9
BRICK_RED_ERROR_CODE_NO_MORE_DATA = 10
BRICK_RED_ERROR_CODE_WRONG_LIST_ITEM_TYPE = 11
BRICK_RED_ERROR_CODE_PROGRAM_IS_PURGED = 12
BRICK_RED_ERROR_CODE_INVALID_PARAMETER = 128
BRICK_RED_ERROR_CODE_NO_FREE_MEMORY = 129
BRICK_RED_ERROR_CODE_NO_FREE_SPACE = 130
BRICK_RED_ERROR_CODE_ACCESS_DENIED = 121
BRICK_RED_ERROR_CODE_ALREADY_EXISTS = 132
BRICK_RED_ERROR_CODE_DOES_NOT_EXIST = 133
BRICK_RED_ERROR_CODE_INTERRUPTED = 134
BRICK_RED_ERROR_CODE_IS_DIRECTORY = 135
BRICK_RED_ERROR_CODE_NOT_A_DIRECTORY = 136
BRICK_RED_ERROR_CODE_WOULD_BLOCK = 137
BRICK_RED_ERROR_CODE_OVERFLOW = 138
BRICK_RED_ERROR_CODE_BAD_FILE_DESCRIPTOR = 139
BRICK_RED_ERROR_CODE_OUT_OF_RANGE = 140
BRICK_RED_ERROR_CODE_NAME_TOO_LONG = 141
BRICK_RED_ERROR_CODE_INVALID_SEEK = 142
BRICK_RED_ERROR_CODE_NOT_SUPPORTED = 143
BRICK_RED_ERROR_CODE_TOO_MANY_OPEN_FILES = 144
procedure(sender: TBrickRED; const fileId: word; const events: word) of object;
| Callback Parameters: |
|
|---|
The following constants are available for this function:
For events:
BRICK_RED_FILE_EVENT_READABLE = 1
BRICK_RED_FILE_EVENT_WRITABLE = 2
procedure(sender: TBrickRED; const processId: word; const state: byte; const timestamp: uint64; const exitCode: byte) of object;
| Callback Parameters: |
|
|---|
The following constants are available for this function:
For state:
BRICK_RED_PROCESS_STATE_UNKNOWN = 0
BRICK_RED_PROCESS_STATE_RUNNING = 1
BRICK_RED_PROCESS_STATE_ERROR = 2
BRICK_RED_PROCESS_STATE_EXITED = 3
BRICK_RED_PROCESS_STATE_KILLED = 4
BRICK_RED_PROCESS_STATE_STOPPED = 5
procedure(sender: TBrickRED; const programId: word) of object;
| Callback Parameters: |
|
|---|
procedure(sender: TBrickRED; const programId: word) of object;
| Callback Parameters: |
|
|---|
Virtual functions don't communicate with the device itself, but operate only on the API bindings device object. They can be called without the corresponding IP Connection object being connected.
| Output Parameters: |
|
|---|
Returns the version of the API definition implemented by this API bindings. This is neither the release version of this API bindings nor does it tell you anything about the represented Brick or Bricklet.
| Parameters: |
|
|---|---|
| Returns: |
|
Returns the response expected flag for the function specified by the function ID parameter. It is true if the function is expected to send a response, false otherwise.
For getter functions this is enabled by default and cannot be disabled,
because those functions will always send a response. For callback configuration
functions it is enabled by default too, but can be disabled by
SetResponseExpected. For setter functions it is disabled by default
and can be enabled.
Enabling the response expected flag for a setter function allows to detect timeouts and other error conditions calls of this setter as well. The device will then send a response for this purpose. If this flag is disabled for a setter function then no response is sent and errors are silently ignored, because they cannot be detected.
The following constants are available for this function:
For functionId:
BRICK_RED_FUNCTION_EXPIRE_SESSION_UNCHECKED = 3
BRICK_RED_FUNCTION_RELEASE_OBJECT_UNCHECKED = 6
BRICK_RED_FUNCTION_READ_FILE_ASYNC = 21
BRICK_RED_FUNCTION_WRITE_FILE_UNCHECKED = 24
BRICK_RED_FUNCTION_WRITE_FILE_ASYNC = 25
| Parameters: |
|
|---|
Changes the response expected flag of the function specified by the function ID parameter. This flag can only be changed for setter (default value: false) and callback configuration functions (default value: true). For getter functions it is always enabled.
Enabling the response expected flag for a setter function allows to detect timeouts and other error conditions calls of this setter as well. The device will then send a response for this purpose. If this flag is disabled for a setter function then no response is sent and errors are silently ignored, because they cannot be detected.
The following constants are available for this function:
For functionId:
BRICK_RED_FUNCTION_EXPIRE_SESSION_UNCHECKED = 3
BRICK_RED_FUNCTION_RELEASE_OBJECT_UNCHECKED = 6
BRICK_RED_FUNCTION_READ_FILE_ASYNC = 21
BRICK_RED_FUNCTION_WRITE_FILE_UNCHECKED = 24
BRICK_RED_FUNCTION_WRITE_FILE_ASYNC = 25
| Parameters: |
|
|---|
Changes the response expected flag for all setter and callback configuration functions of this device at once.
This constant is used to identify a RED Brick.
The GetIdentity function and the
TIPConnection.OnEnumerate
callback of the IP Connection have a deviceIdentifier parameter to specify
the Brick's or Bricklet's type.
This constant represents the human readable name of a RED Brick.