Ultibo API
C/C++ API for Ultibo Core
Loading...
Searching...
No Matches
globalconst.h
Go to the documentation of this file.
1/*
2 * This file is part of the Ultibo project, https://ultibo.org/
3 *
4 * The MIT License (MIT)
5 *
6 * Copyright (c) 2026 Garry Wood <garry@softoz.com.au>
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy
9 * of this software and associated documentation files (the "Software"), to deal
10 * in the Software without restriction, including without limitation the rights
11 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 * copies of the Software, and to permit persons to whom the Software is
13 * furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice shall be included in
16 * all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 * THE SOFTWARE.
25 */
26#ifndef _ULTIBO_GLOBALCONST_H
27#define _ULTIBO_GLOBALCONST_H
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#include "ultibo/globaltypes.h"
34
37#define ERROR_SUCCESS 0
38#define NO_ERROR 0
39
40#define ERROR_INVALID_FUNCTION 1
41#define ERROR_FILE_NOT_FOUND 2
42#define ERROR_PATH_NOT_FOUND 3
43#define ERROR_TOO_MANY_OPEN_FILES 4
44#define ERROR_ACCESS_DENIED 5
45#define ERROR_INVALID_HANDLE 6
46#define ERROR_NOT_ENOUGH_MEMORY (DWORD)8
47
48#define ERROR_INVALID_ACCESS 12
49#define ERROR_INVALID_DATA 13
50#define ERROR_OUTOFMEMORY 14
51#define ERROR_INVALID_DRIVE 15
52#define ERROR_CURRENT_DIRECTORY 16
53#define ERROR_NOT_SAME_DEVICE 17
54#define ERROR_NO_MORE_FILES 18
55#define ERROR_WRITE_PROTECT 19
56#define ERROR_BAD_UNIT 20
57#define ERROR_NOT_READY 21
58#define ERROR_BAD_COMMAND 22
59
60#define ERROR_WRITE_FAULT 29
61#define ERROR_READ_FAULT 30
62#define ERROR_GEN_FAILURE 31
63
64#define ERROR_NOT_SUPPORTED 50
65
66#define ERROR_DEV_NOT_EXIST 55
67
68#define ERROR_BAD_DEV_TYPE 66
69
70#define ERROR_ALREADY_ASSIGNED 85
71#define ERROR_INVALID_PASSWORD 86
72#define ERROR_INVALID_PARAMETER 87
73
74#define ERROR_SEM_IS_SET 102
75#define ERROR_OPEN_FAILED 110
76#define ERROR_CALL_NOT_IMPLEMENTED 120
77#define ERROR_INSUFFICIENT_BUFFER 122
78#define ERROR_WAIT_NO_CHILDREN 128
79
80#define ERROR_NOT_LOCKED 158
81
82#define ERROR_LOCK_FAILED 167
83
84#define ERROR_ALREADY_EXISTS 183
85
86#define ERROR_ENVVAR_NOT_FOUND 203
87
88#define ERROR_LOCKED 212
89
90#define ERROR_MORE_DATA 234
91
92#define ERROR_WAIT_TIMEOUT 258
93#define ERROR_NO_MORE_ITEMS 259
94
95#define ERROR_NOT_OWNER 288
96
97#define ERROR_OPERATION_ABORTED (DWORD)995
98#define ERROR_IO_INCOMPLETE (DWORD)996
99#define ERROR_IO_PENDING (DWORD)997
100
101#define ERROR_CAN_NOT_COMPLETE 1003
102
103#define ERROR_NOT_FOUND 1168
104
105#define ERROR_INVALID_ACL (DWORD)1336
106#define ERROR_INVALID_SID (DWORD)1337
107#define ERROR_INVALID_SECURITY_DESCR (DWORD)1338
108
109#define ERROR_TIMEOUT 1460
110
111#define ERROR_FUNCTION_FAILED 1627
112
114#define ERROR_NOT_VALID 1000001
115#define ERROR_NOT_ASSIGNED 1000002
116#define ERROR_IN_USE 1000003
117#define ERROR_OPERATION_FAILED 1000004
118#define ERROR_NOT_OPEN 1000005
119#define ERROR_ALREADY_OPEN 1000006
120#define ERROR_WAIT_ABANDONED 1000007
121#define ERROR_IN_PROGRESS 1000008
122#define ERROR_RUNTIME_ERROR 1000009
123#define ERROR_EXCEPTION 1000010
124#define ERROR_NOT_PROCESSED 1000011
125#define ERROR_NOT_COMPLETED 1000012
126#define ERROR_NOT_COMPATIBLE 1000013
127#define ERROR_CANCELLED 1000014
128#define ERROR_NOT_EXACT 1000015
129#define ERROR_ALREADY_OWNER 1000016
130
131#define ERROR_UNKNOWN 0xFFFFFFFF
132
134#define INVALID_HANDLE_VALUE (HANDLE)-1
135#define INVALID_FILE_SIZE (DWORD)0xFFFFFFFF
136#define INVALID_SET_FILE_POINTER (DWORD)-1
137#define INVALID_FILE_ATTRIBUTES (DWORD)-1
138
140#define FILE_BEGIN 0
141#define FILE_CURRENT 1
142#define FILE_END 2
143
145#define CREATE_NEW 1
146#define CREATE_ALWAYS 2
147#define OPEN_EXISTING 3
148#define OPEN_ALWAYS 4
149#define TRUNCATE_EXISTING 5
150
152#define FILE_FLAG_WRITE_THROUGH (DWORD)0x80000000
153#define FILE_FLAG_OVERLAPPED 0x40000000
154#define FILE_FLAG_NO_BUFFERING 0x20000000
155#define FILE_FLAG_RANDOM_ACCESS 0x10000000
156#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
157#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000
158#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000
159#define FILE_FLAG_POSIX_SEMANTICS 0x01000000
160#define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
161#define FILE_FLAG_OPEN_NO_RECALL 0x00100000
162#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
163
165#define FILE_ATTRIBUTE_READONLY 0x00000001
166#define FILE_ATTRIBUTE_HIDDEN 0x00000002
167#define FILE_ATTRIBUTE_SYSTEM 0x00000004
168#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
169#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
170#define FILE_ATTRIBUTE_DEVICE 0x00000040
171#define FILE_ATTRIBUTE_NORMAL 0x00000080
172#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
173#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
174#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
175#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
176#define FILE_ATTRIBUTE_OFFLINE 0x00001000
177#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
178#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
179
181#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
182#define FILE_CASE_PRESERVED_NAMES 0x00000002
183#define FILE_UNICODE_ON_DISK 0x00000004
184#define FILE_PERSISTENT_ACLS 0x00000008
185#define FILE_FILE_COMPRESSION 0x00000010
186#define FILE_VOLUME_QUOTAS 0x00000020
187#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
188#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
189#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
190#define FILE_VOLUME_IS_COMPRESSED 0x00008000
191#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
192#define FILE_SUPPORTS_ENCRYPTION 0x00020000
193#define FILE_NAMED_STREAMS 0x00040000
194#define FILE_READ_ONLY_VOLUME 0x00080000
195
197#define GENERIC_READ (DWORD)0x80000000
198#define GENERIC_WRITE 0x40000000
199#define GENERIC_EXECUTE 0x20000000
200#define GENERIC_ALL 0x10000000
201
203#define FILE_SHARE_READ 0x00000001
204#define FILE_SHARE_WRITE 0x00000002
205#define FILE_SHARE_DELETE 0x00000004
206
208#define INFINITE (DWORD)-1
209
211#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
212
214#define WAIT_OBJECT_0 ERROR_SUCCESS + 0
215#define WAIT_ABANDONED 0x00000080 + 0
216#define WAIT_ABANDONED_0 0x00000080 + 0
217#define WAIT_TIMEOUT ERROR_WAIT_TIMEOUT
218#define WAIT_FAILED (DWORD)0xFFFFFFFF
219
220#define WAIT_IO_COMPLETION 0x000000C0
221
222#define MAXIMUM_WAIT_OBJECTS 64
223
225#define STILL_ACTIVE ERROR_NO_MORE_ITEMS
226
228#define TIME_ZONE_ID_INVALID (DWORD)0xFFFFFFFF
229
236#define KEY_CODE_NONE 0x0000
237#define KEY_CODE_BACKSPACE 0x0008
238#define KEY_CODE_TAB 0x0009
239#define KEY_CODE_ENTER 0x000D
240#define KEY_CODE_ESCAPE 0x001B
241#define KEY_CODE_DELETE 0x007F
242
245#define KEY_CODE_SPACE 0x0020
246#define KEY_CODE_EXCLAMATION 0x0021
247#define KEY_CODE_QUOTATION 0x0022
248#define KEY_CODE_NUMBER 0x0023
249#define KEY_CODE_DOLLAR 0x0024
250#define KEY_CODE_PERCENT 0x0025
251#define KEY_CODE_AMPERSAND 0x0026
252#define KEY_CODE_APOSTROPHE 0x0027
253#define KEY_CODE_LEFT_BRACKET 0x0028
254#define KEY_CODE_RIGHT_BRACKET 0x0029
255#define KEY_CODE_ASTERISK 0x002A
256#define KEY_CODE_PLUS 0x002B
257#define KEY_CODE_COMMA 0x002C
258#define KEY_CODE_MINUS 0x002D
259#define KEY_CODE_PERIOD 0x002E
260#define KEY_CODE_SLASH 0x002F
262#define KEY_CODE_0 0x0030
263#define KEY_CODE_1 0x0031
264#define KEY_CODE_2 0x0032
265#define KEY_CODE_3 0x0033
266#define KEY_CODE_4 0x0034
267#define KEY_CODE_5 0x0035
268#define KEY_CODE_6 0x0036
269#define KEY_CODE_7 0x0037
270#define KEY_CODE_8 0x0038
271#define KEY_CODE_9 0x0039
273#define KEY_CODE_COLON 0x003A
274#define KEY_CODE_SEMICOLON 0x003B
275#define KEY_CODE_LESSTHAN 0x003C
276#define KEY_CODE_EQUALS 0x003D
277#define KEY_CODE_GREATERTHAN 0x003E
278#define KEY_CODE_QUESTION 0x003F
279#define KEY_CODE_AT 0x0040
281#define KEY_CODE_CAPITAL_A 0x0041
282#define KEY_CODE_CAPITAL_B 0x0042
283#define KEY_CODE_CAPITAL_C 0x0043
284#define KEY_CODE_CAPITAL_D 0x0044
285#define KEY_CODE_CAPITAL_E 0x0045
286#define KEY_CODE_CAPITAL_F 0x0046
287#define KEY_CODE_CAPITAL_G 0x0047
288#define KEY_CODE_CAPITAL_H 0x0048
289#define KEY_CODE_CAPITAL_I 0x0049
290#define KEY_CODE_CAPITAL_J 0x004A
291#define KEY_CODE_CAPITAL_K 0x004B
292#define KEY_CODE_CAPITAL_L 0x004C
293#define KEY_CODE_CAPITAL_M 0x004D
294#define KEY_CODE_CAPITAL_N 0x004E
295#define KEY_CODE_CAPITAL_O 0x004F
296#define KEY_CODE_CAPITAL_P 0x0050
297#define KEY_CODE_CAPITAL_Q 0x0051
298#define KEY_CODE_CAPITAL_R 0x0052
299#define KEY_CODE_CAPITAL_S 0x0053
300#define KEY_CODE_CAPITAL_T 0x0054
301#define KEY_CODE_CAPITAL_U 0x0055
302#define KEY_CODE_CAPITAL_V 0x0056
303#define KEY_CODE_CAPITAL_W 0x0057
304#define KEY_CODE_CAPITAL_X 0x0058
305#define KEY_CODE_CAPITAL_Y 0x0059
306#define KEY_CODE_CAPITAL_Z 0x005A
308#define KEY_CODE_LEFT_SQUARE 0x005B
309#define KEY_CODE_BACKSLASH 0x005C
310#define KEY_CODE_RIGHT_SQUARE 0x005D
311#define KEY_CODE_CARET 0x005E
312#define KEY_CODE_UNDERSCORE 0x005F
313#define KEY_CODE_GRAVE 0x0060
315#define KEY_CODE_A 0x0061
316#define KEY_CODE_B 0x0062
317#define KEY_CODE_C 0x0063
318#define KEY_CODE_D 0x0064
319#define KEY_CODE_E 0x0065
320#define KEY_CODE_F 0x0066
321#define KEY_CODE_G 0x0067
322#define KEY_CODE_H 0x0068
323#define KEY_CODE_I 0x0069
324#define KEY_CODE_J 0x006A
325#define KEY_CODE_K 0x006B
326#define KEY_CODE_L 0x006C
327#define KEY_CODE_M 0x006D
328#define KEY_CODE_N 0x006E
329#define KEY_CODE_O 0x006F
330#define KEY_CODE_P 0x0070
331#define KEY_CODE_Q 0x0071
332#define KEY_CODE_R 0x0072
333#define KEY_CODE_S 0x0073
334#define KEY_CODE_T 0x0074
335#define KEY_CODE_U 0x0075
336#define KEY_CODE_V 0x0076
337#define KEY_CODE_W 0x0077
338#define KEY_CODE_X 0x0078
339#define KEY_CODE_Y 0x0079
340#define KEY_CODE_Z 0x007A
342#define KEY_CODE_LEFT_BRACE 0x007B
343#define KEY_CODE_PIPE 0x007C
344#define KEY_CODE_RIGHT_BRACE 0x007D
345#define KEY_CODE_TILDE 0x007E
347
349#define KEY_CODE_INVERTED_EXCLAMATION 0x00A1
350#define KEY_CODE_CENT 0x00A2
351#define KEY_CODE_POUND 0x00A3
352#define KEY_CODE_CURRENCY 0x00A4
353#define KEY_CODE_YEN 0x00A5
354#define KEY_CODE_BROKEN_BAR 0x00A6
355#define KEY_CODE_SECTION 0x00A7
356#define KEY_CODE_DIAERESIS 0x00A8
357#define KEY_CODE_COPYRIGHT 0x00A9
358#define KEY_CODE_FEMININE 0x00AA
359#define KEY_CODE_LEFT_DOUBLE_ANGLE 0x00AB
360#define KEY_CODE_NOT 0x00AC
361#define KEY_CODE_REGISTERED 0x00AE
362#define KEY_CODE_MACRON 0x00AF
363#define KEY_CODE_DEGREE 0x00B0
364#define KEY_CODE_PLUS_MINUS 0x00B1
365#define KEY_CODE_SUPERSCRIPT_2 0x00B2
366#define KEY_CODE_SUPERSCRIPT_3 0x00B3
367#define KEY_CODE_ACUTE 0x00B4
368#define KEY_CODE_MICRO 0x00B5
369#define KEY_CODE_PILCROW 0x00B6
370#define KEY_CODE_MIDDLE_DOT 0x00B7
371#define KEY_CODE_CEDILLA 0x00B8
372#define KEY_CODE_SUPERSCRIPT_1 0x00B9
373#define KEY_CODE_MASCULINE 0x00BA
374#define KEY_CODE_RIGHT_DOUBLE_ANGLE 0x00BB
375#define KEY_CODE_ONE_QUARTER 0x00BC
376#define KEY_CODE_ONE_HALF 0x00BD
377#define KEY_CODE_THREE_QUARTER 0x00BE
378#define KEY_CODE_INVERTED_QUESTION 0x00BF
379#define KEY_CODE_CAPITAL_GRAVE_A 0x00C0
380#define KEY_CODE_CAPITAL_ACUTE_A 0x00C1
381#define KEY_CODE_CAPITAL_CIRCUMFLEX_A 0x00C2
382#define KEY_CODE_CAPITAL_TILDE_A 0x00C3
383#define KEY_CODE_CAPITAL_DIAERESIS_A 0x00C4
384#define KEY_CODE_CAPITAL_RING_A 0x00C5
385#define KEY_CODE_CAPITAL_AE 0x00C6
386#define KEY_CODE_CAPITAL_CEDILLA_C 0x00C7
387#define KEY_CODE_CAPITAL_GRAVE_E 0x00C8
388#define KEY_CODE_CAPITAL_ACUTE_E 0x00C9
389#define KEY_CODE_CAPITAL_CIRCUMFLEX_E 0x00CA
390#define KEY_CODE_CAPITAL_DIAERESIS_E 0x00CB
391#define KEY_CODE_CAPITAL_GRAVE_I 0x00CC
392#define KEY_CODE_CAPITAL_ACUTE_I 0x00CD
393#define KEY_CODE_CAPITAL_CIRCUMFLEX_I 0x00CE
394#define KEY_CODE_CAPITAL_DIAERESIS_I 0x00CF
395#define KEY_CODE_CAPITAL_ETH 0x00D0
396#define KEY_CODE_CAPITAL_TILDE_N 0x00D1
397#define KEY_CODE_CAPITAL_GRAVE_O 0x00D2
398#define KEY_CODE_CAPITAL_ACUTE_O 0x00D3
399#define KEY_CODE_CAPITAL_CIRCUMFLEX_O 0x00D4
400#define KEY_CODE_CAPITAL_TILDE_O 0x00D5
401#define KEY_CODE_CAPITAL_DIAERESIS_O 0x00D6
402#define KEY_CODE_MULTIPLY 0x00D7
403#define KEY_CODE_CAPITAL_STROKE_O 0x00D8
404#define KEY_CODE_CAPITAL_GRAVE_U 0x00D9
405#define KEY_CODE_CAPITAL_ACUTE_U 0x00DA
406#define KEY_CODE_CAPITAL_CIRCUMFLEX_U 0x00DB
407#define KEY_CODE_CAPITAL_DIAERESIS_U 0x00DC
408#define KEY_CODE_CAPITAL_ACUTE_Y 0x00DD
409#define KEY_CODE_CAPITAL_THORN 0x00DE
410#define KEY_CODE_SHARP_S 0x00DF
411#define KEY_CODE_GRAVE_A 0x00E0
412#define KEY_CODE_ACUTE_A 0x00E1
413#define KEY_CODE_CIRCUMFLEX_A 0x00E2
414#define KEY_CODE_TILDE_A 0x00E3
415#define KEY_CODE_DIAERESIS_A 0x00E4
416#define KEY_CODE_RING_A 0x00E5
417#define KEY_CODE_AE 0x00E6
418#define KEY_CODE_CEDILLA_C 0x00E7
419#define KEY_CODE_GRAVE_E 0x00E8
420#define KEY_CODE_ACUTE_E 0x00E9
421#define KEY_CODE_CIRCUMFLEX_E 0x00EA
422#define KEY_CODE_DIAERESIS_E 0x00EB
423#define KEY_CODE_GRAVE_I 0x00EC
424#define KEY_CODE_ACUTE_I 0x00ED
425#define KEY_CODE_CIRCUMFLEX_I 0x00EE
426#define KEY_CODE_DIAERESIS_I 0x00EF
427#define KEY_CODE_ETH 0x00F0
428#define KEY_CODE_TILDE_N 0x00F1
429#define KEY_CODE_GRAVE_O 0x00F2
430#define KEY_CODE_ACUTE_O 0x00F3
431#define KEY_CODE_CIRCUMFLEX_O 0x00F4
432#define KEY_CODE_TILDE_O 0x00F5
433#define KEY_CODE_DIAERESIS_O 0x00F6
434#define KEY_CODE_DIVISION 0x00F7
435#define KEY_CODE_STROKE_O 0x00F8
436#define KEY_CODE_GRAVE_U 0x00F9
437#define KEY_CODE_ACUTE_U 0x00FA
438#define KEY_CODE_CIRCUMFLEX_U 0x00FB
439#define KEY_CODE_DIAERESIS_U 0x00FC
440#define KEY_CODE_ACUTE_Y 0x00FD
441#define KEY_CODE_THORN 0x00FE
442#define KEY_CODE_DIAERESIS_Y 0x00FF
443
445#define KEY_CODE_LEFT_QUOTE 0x2018
446#define KEY_CODE_RIGHT_QUOTE 0x2019
447
449#define KEY_CODE_EURO 0x20AC
450
453#define KEY_CODE_CAPSLOCK 0xE000
454#define KEY_CODE_F1 0xE001
455#define KEY_CODE_F2 0xE002
456#define KEY_CODE_F3 0xE003
457#define KEY_CODE_F4 0xE004
458#define KEY_CODE_F5 0xE005
459#define KEY_CODE_F6 0xE006
460#define KEY_CODE_F7 0xE007
461#define KEY_CODE_F8 0xE008
462#define KEY_CODE_F9 0xE009
463#define KEY_CODE_F10 0xE00A
464#define KEY_CODE_F11 0xE00B
465#define KEY_CODE_F12 0xE00C
466#define KEY_CODE_PRINTSCREEN 0xE00D
467#define KEY_CODE_SCROLLLOCK 0xE00E
468#define KEY_CODE_PAUSE 0xE00F
469#define KEY_CODE_INSERT 0xE010
470#define KEY_CODE_HOME 0xE011
471#define KEY_CODE_PAGEUP 0xE012
472#define KEY_CODE_END 0xE013
473#define KEY_CODE_PAGEDN 0xE014
474#define KEY_CODE_RIGHT_ARROW 0xE015
475#define KEY_CODE_LEFT_ARROW 0xE016
476#define KEY_CODE_DOWN_ARROW 0xE017
477#define KEY_CODE_UP_ARROW 0xE018
478#define KEY_CODE_NUMLOCK 0xE019
479#define KEY_CODE_APPLICATION 0xE01A
480#define KEY_CODE_POWER 0xE01B
481#define KEY_CODE_F13 0xE01C
482#define KEY_CODE_F14 0xE01D
483#define KEY_CODE_F15 0xE01E
484#define KEY_CODE_F16 0xE01F
485#define KEY_CODE_F17 0xE020
486#define KEY_CODE_F18 0xE021
487#define KEY_CODE_F19 0xE022
488#define KEY_CODE_F20 0xE023
489#define KEY_CODE_F21 0xE024
490#define KEY_CODE_F22 0xE025
491#define KEY_CODE_F23 0xE026
492#define KEY_CODE_F24 0xE027
493#define KEY_CODE_EXECUTE 0xE028
494#define KEY_CODE_HELP 0xE029
495#define KEY_CODE_MENU 0xE02A
496#define KEY_CODE_SELECT 0xE02B
497#define KEY_CODE_STOP 0xE02C
498#define KEY_CODE_AGAIN 0xE02D
499#define KEY_CODE_UNDO 0xE02E
500#define KEY_CODE_CUT 0xE02F
501#define KEY_CODE_COPY 0xE030
502#define KEY_CODE_PASTE 0xE031
503#define KEY_CODE_FIND 0xE032
504#define KEY_CODE_MUTE 0xE033
505#define KEY_CODE_VOLUMEUP 0xE034
506#define KEY_CODE_VOLUMEDOWN 0xE035
507#define KEY_CODE_LOCKING_CAPSLOCK 0xE036
508#define KEY_CODE_LOCKING_NUMLOCK 0xE037
509#define KEY_CODE_LOCKING_SCROLLLOCK 0xE038
510#define KEY_CODE_INTERNATIONAL1 0xE039
511#define KEY_CODE_INTERNATIONAL2 0xE03A
512#define KEY_CODE_INTERNATIONAL3 0xE03B
513#define KEY_CODE_INTERNATIONAL4 0xE03C
514#define KEY_CODE_INTERNATIONAL5 0xE03D
515#define KEY_CODE_INTERNATIONAL6 0xE03E
516#define KEY_CODE_INTERNATIONAL7 0xE03F
517#define KEY_CODE_INTERNATIONAL8 0xE040
518#define KEY_CODE_INTERNATIONAL9 0xE041
519#define KEY_CODE_LANG1 0xE042
520#define KEY_CODE_LANG2 0xE043
521#define KEY_CODE_LANG3 0xE044
522#define KEY_CODE_LANG4 0xE045
523#define KEY_CODE_LANG5 0xE046
524#define KEY_CODE_LANG6 0xE047
525#define KEY_CODE_LANG7 0xE048
526#define KEY_CODE_LANG8 0xE049
527#define KEY_CODE_LANG9 0xE04A
528#define KEY_CODE_ALT_ERASE 0xE04B
529#define KEY_CODE_SYSREQ 0xE04C
530#define KEY_CODE_CANCEL 0xE04D
531#define KEY_CODE_CLEAR 0xE04E
532#define KEY_CODE_PRIOR 0xE04F
533#define KEY_CODE_RETURN 0xE050
534#define KEY_CODE_SEPARATOR 0xE051
535#define KEY_CODE_OUT 0xE052
536#define KEY_CODE_OPER 0xE053
537#define KEY_CODE_CLEAR_AGAIN 0xE054
538#define KEY_CODE_CRSEL_PROPS 0xE055
539#define KEY_CODE_EXSEL 0xE056
540#define KEY_CODE_00 0xE057
541#define KEY_CODE_000 0xE058
542#define KEY_CODE_THOUSANDS_SEPARATOR 0xE059
543#define KEY_CODE_DECIMAL_SEPARATOR 0xE05A
544#define KEY_CODE_CURRENCY_UNIT 0xE05B
545#define KEY_CODE_CURRENCY_SUBUNIT 0xE05C
546#define KEY_CODE_XOR 0xE05D
547#define KEY_CODE_MEM_STORE 0xE05E
548#define KEY_CODE_MEM_RECALL 0xE05F
549#define KEY_CODE_MEM_CLEAR 0xE060
550#define KEY_CODE_MEM_ADD 0xE061
551#define KEY_CODE_MEM_SUBTRACT 0xE062
552#define KEY_CODE_MEM_MULTIPLY 0xE063
553#define KEY_CODE_MEM_DIVIDE 0xE064
554#define KEY_CODE_CLEAR_ENTRY 0xE065
555#define KEY_CODE_BINARY 0xE066
556#define KEY_CODE_OCTAL 0xE067
557#define KEY_CODE_DECIMAL 0xE068
558#define KEY_CODE_HEX 0xE069
559#define KEY_CODE_CTRL 0xE06A
560#define KEY_CODE_SHIFT 0xE06B
561#define KEY_CODE_ALT 0xE06C
562#define KEY_CODE_GUI 0xE06D
563#define KEY_CODE_DOUBLE_AMPERSAND 0xE06E
564#define KEY_CODE_DOUBLE_PIPE 0xE06F
565#define KEY_CODE_CENTER 0xE070
566
567#define KEY_CODE_TRANSLATE_START 0x0080
568#define KEY_CODE_PRIVATE_START 0xE000
569#define KEY_CODE_PRIVATE_END 0xF8FF
570
575#define SCAN_CODE_NONE 0
576#define SCAN_CODE_ROLLOVER 1
577#define SCAN_CODE_POSTFAIL 2
578#define SCAN_CODE_ERROR 3
579#define SCAN_CODE_A 4
580#define SCAN_CODE_B 5
581#define SCAN_CODE_C 6
582#define SCAN_CODE_D 7
583#define SCAN_CODE_E 8
584#define SCAN_CODE_F 9
585#define SCAN_CODE_G 10
586#define SCAN_CODE_H 11
587#define SCAN_CODE_I 12
588#define SCAN_CODE_J 13
589#define SCAN_CODE_K 14
590#define SCAN_CODE_L 15
591#define SCAN_CODE_M 16
592#define SCAN_CODE_N 17
593#define SCAN_CODE_O 18
594#define SCAN_CODE_P 19
595#define SCAN_CODE_Q 20
596#define SCAN_CODE_R 21
597#define SCAN_CODE_S 22
598#define SCAN_CODE_T 23
599#define SCAN_CODE_U 24
600#define SCAN_CODE_V 25
601#define SCAN_CODE_W 26
602#define SCAN_CODE_X 27
603#define SCAN_CODE_Y 28
604#define SCAN_CODE_Z 29
605#define SCAN_CODE_1 30
606#define SCAN_CODE_2 31
607#define SCAN_CODE_3 32
608#define SCAN_CODE_4 33
609#define SCAN_CODE_5 34
610#define SCAN_CODE_6 35
611#define SCAN_CODE_7 36
612#define SCAN_CODE_8 37
613#define SCAN_CODE_9 38
614#define SCAN_CODE_0 39
615#define SCAN_CODE_ENTER 40
616#define SCAN_CODE_ESCAPE 41
617#define SCAN_CODE_BACKSPACE 42
618#define SCAN_CODE_TAB 43
619#define SCAN_CODE_SPACE 44
620#define SCAN_CODE_MINUS 45
621#define SCAN_CODE_EQUALS 46
622#define SCAN_CODE_LEFT_SQUARE 47
623#define SCAN_CODE_RIGHT_SQUARE 48
624#define SCAN_CODE_BACKSLASH 49
625#define SCAN_CODE_NONUS_NUMBER 50
626#define SCAN_CODE_SEMICOLON 51
627#define SCAN_CODE_APOSTROPHE 52
628#define SCAN_CODE_GRAVE 53
629#define SCAN_CODE_COMMA 54
630#define SCAN_CODE_PERIOD 55
631#define SCAN_CODE_SLASH 56
632#define SCAN_CODE_CAPSLOCK 57
633#define SCAN_CODE_F1 58
634#define SCAN_CODE_F2 59
635#define SCAN_CODE_F3 60
636#define SCAN_CODE_F4 61
637#define SCAN_CODE_F5 62
638#define SCAN_CODE_F6 63
639#define SCAN_CODE_F7 64
640#define SCAN_CODE_F8 65
641#define SCAN_CODE_F9 66
642#define SCAN_CODE_F10 67
643#define SCAN_CODE_F11 68
644#define SCAN_CODE_F12 69
645#define SCAN_CODE_PRINTSCREEN 70
646#define SCAN_CODE_SCROLLLOCK 71
647#define SCAN_CODE_PAUSE 72
648#define SCAN_CODE_INSERT 73
649#define SCAN_CODE_HOME 74
650#define SCAN_CODE_PAGEUP 75
651#define SCAN_CODE_DELETE 76
652#define SCAN_CODE_END 77
653#define SCAN_CODE_PAGEDN 78
654#define SCAN_CODE_RIGHT_ARROW 79
655#define SCAN_CODE_LEFT_ARROW 80
656#define SCAN_CODE_DOWN_ARROW 81
657#define SCAN_CODE_UP_ARROW 82
658#define SCAN_CODE_NUMLOCK 83
659#define SCAN_CODE_KEYPAD_SLASH 84
660#define SCAN_CODE_KEYPAD_ASTERISK 85
661#define SCAN_CODE_KEYPAD_MINUS 86
662#define SCAN_CODE_KEYPAD_PLUS 87
663#define SCAN_CODE_KEYPAD_ENTER 88
664#define SCAN_CODE_KEYPAD_1 89
665#define SCAN_CODE_KEYPAD_2 90
666#define SCAN_CODE_KEYPAD_3 91
667#define SCAN_CODE_KEYPAD_4 92
668#define SCAN_CODE_KEYPAD_5 93
669#define SCAN_CODE_KEYPAD_6 94
670#define SCAN_CODE_KEYPAD_7 95
671#define SCAN_CODE_KEYPAD_8 96
672#define SCAN_CODE_KEYPAD_9 97
673#define SCAN_CODE_KEYPAD_0 98
674#define SCAN_CODE_KEYPAD_PERIOD 99
675#define SCAN_CODE_NONUS_BACKSLASH 100
676#define SCAN_CODE_APPLICATION 101
677#define SCAN_CODE_POWER 102
678#define SCAN_CODE_KEYPAD_EQUALS 103
679#define SCAN_CODE_F13 104
680#define SCAN_CODE_F14 105
681#define SCAN_CODE_F15 106
682#define SCAN_CODE_F16 107
683#define SCAN_CODE_F17 108
684#define SCAN_CODE_F18 109
685#define SCAN_CODE_F19 110
686#define SCAN_CODE_F20 111
687#define SCAN_CODE_F21 112
688#define SCAN_CODE_F22 113
689#define SCAN_CODE_F23 114
690#define SCAN_CODE_F24 115
691#define SCAN_CODE_EXECUTE 116
692#define SCAN_CODE_HELP 117
693#define SCAN_CODE_MENU 118
694#define SCAN_CODE_SELECT 119
695#define SCAN_CODE_STOP 120
696#define SCAN_CODE_AGAIN 121
697#define SCAN_CODE_UNDO 122
698#define SCAN_CODE_CUT 123
699#define SCAN_CODE_COPY 124
700#define SCAN_CODE_PASTE 125
701#define SCAN_CODE_FIND 126
702#define SCAN_CODE_MUTE 127
703#define SCAN_CODE_VOLUMEUP 128
704#define SCAN_CODE_VOLUMEDN 129
705#define SCAN_CODE_LOCKING_CAPSLOCK 130
706#define SCAN_CODE_LOCKING_NUMLOCK 131
707#define SCAN_CODE_LOCKING_SCROLLLOCK 132
708#define SCAN_CODE_KEYPAD_COMMA 133
709#define SCAN_CODE_KEYPAD_EQUAL_SIGN 134
710#define SCAN_CODE_INTERNATIONAL1 135
711#define SCAN_CODE_INTERNATIONAL2 136
712#define SCAN_CODE_INTERNATIONAL3 137
713#define SCAN_CODE_INTERNATIONAL4 138
714#define SCAN_CODE_INTERNATIONAL5 139
715#define SCAN_CODE_INTERNATIONAL6 140
716#define SCAN_CODE_INTERNATIONAL7 141
717#define SCAN_CODE_INTERNATIONAL8 142
718#define SCAN_CODE_INTERNATIONAL9 143
719#define SCAN_CODE_LANG1 144
720#define SCAN_CODE_LANG2 145
721#define SCAN_CODE_LANG3 146
722#define SCAN_CODE_LANG4 147
723#define SCAN_CODE_LANG5 148
724#define SCAN_CODE_LANG6 149
725#define SCAN_CODE_LANG7 150
726#define SCAN_CODE_LANG8 151
727#define SCAN_CODE_LANG9 152
728#define SCAN_CODE_ALT_ERASE 153
729#define SCAN_CODE_SYSREQ 154
730#define SCAN_CODE_CANCEL 155
731#define SCAN_CODE_CLEAR 156
732#define SCAN_CODE_PRIOR 157
733#define SCAN_CODE_RETURN 158
734#define SCAN_CODE_SEPARATOR 159
735#define SCAN_CODE_OUT 160
736#define SCAN_CODE_OPER 161
737#define SCAN_CODE_CLEAR_AGAIN 162
738#define SCAN_CODE_CRSEL_PROPS 163
739#define SCAN_CODE_EXSEL 164
741#define SCAN_CODE_KEYPAD_00 176
742#define SCAN_CODE_KEYPAD_000 177
743#define SCAN_CODE_THOUSANDS_SEPARATOR 178
744#define SCAN_CODE_DECIMAL_SEPARATOR 179
745#define SCAN_CODE_CURRENCY_UNIT 180
746#define SCAN_CODE_CURRENCY_SUBUNIT 181
747#define SCAN_CODE_KEYPAD_LEFT_BRACKET 182
748#define SCAN_CODE_KEYPAD_RIGHT_BRACKET 183
749#define SCAN_CODE_KEYPAD_LEFT_BRACE 184
750#define SCAN_CODE_KEYPAD_RIGHT_BRACE 185
751#define SCAN_CODE_KEYPAD_TAB 186
752#define SCAN_CODE_KEYPAD_BACKSPACE 187
753#define SCAN_CODE_KEYPAD_A 188
754#define SCAN_CODE_KEYPAD_B 189
755#define SCAN_CODE_KEYPAD_C 190
756#define SCAN_CODE_KEYPAD_D 191
757#define SCAN_CODE_KEYPAD_E 192
758#define SCAN_CODE_KEYPAD_F 193
759#define SCAN_CODE_KEYPAD_XOR 194
760#define SCAN_CODE_KEYPAD_CARET 195
761#define SCAN_CODE_KEYPAD_PERCENT 196
762#define SCAN_CODE_KEYPAD_LESSTHAN 197
763#define SCAN_CODE_KEYPAD_GREATERTHAN 198
764#define SCAN_CODE_KEYPAD_AMPERSAND 199
765#define SCAN_CODE_KEYPAD_DOUBLE_AMPERSAND 200
766#define SCAN_CODE_KEYPAD_PIPE 201
767#define SCAN_CODE_KEYPAD_DOUBLE_PIPE 202
768#define SCAN_CODE_KEYPAD_COLON 203
769#define SCAN_CODE_KEYPAD_NUMBER 204
770#define SCAN_CODE_KEYPAD_SPACE 205
771#define SCAN_CODE_KEYPAD_AT 206
772#define SCAN_CODE_KEYPAD_EXCLAMATION 207
773#define SCAN_CODE_KEYPAD_MEM_STORE 208
774#define SCAN_CODE_KEYPAD_MEM_RECALL 209
775#define SCAN_CODE_KEYPAD_MEM_CLEAR 210
776#define SCAN_CODE_KEYPAD_MEM_ADD 211
777#define SCAN_CODE_KEYPAD_MEM_SUB 212
778#define SCAN_CODE_KEYPAD_MEM_MULTIPLY 213
779#define SCAN_CODE_KEYPAD_MEM_DIVIDE 214
780#define SCAN_CODE_KEYPAD_PLUS_MINUS 215
781#define SCAN_CODE_KEYPAD_CLEAR 216
782#define SCAN_CODE_KEYPAD_CLEAR_ENTRY 217
783#define SCAN_CODE_KEYPAD_BINARY 218
784#define SCAN_CODE_KEYPAD_OCTAL 219
785#define SCAN_CODE_KEYPAD_DECIMAL 220
786#define SCAN_CODE_KEYPAD_HEX 221
788#define SCAN_CODE_LEFT_CTRL 224
789#define SCAN_CODE_LEFT_SHIFT 225
790#define SCAN_CODE_LEFT_ALT 226
791#define SCAN_CODE_LEFT_GUI 227
792#define SCAN_CODE_RIGHT_CTRL 228
793#define SCAN_CODE_RIGHT_SHIFT 229
794#define SCAN_CODE_RIGHT_ALT 230
795#define SCAN_CODE_RIGHT_GUI 231
797#define SCAN_CODE_RESERVED_255 255
798
800#define SCAN_CODE_EXCLAMATION 30
801#define SCAN_CODE_AT 31
802#define SCAN_CODE_NUMBER 32
803#define SCAN_CODE_CURRENCY 33
804#define SCAN_CODE_PERCENT 34
805#define SCAN_CODE_CARET 35
806#define SCAN_CODE_AMPERSAND 36
807#define SCAN_CODE_ASTERISK 37
808#define SCAN_CODE_LEFT_BRACKET 38
809#define SCAN_CODE_RIGHT_BRACKET 39
810
811#define SCAN_CODE_DASH 45
812#define SCAN_CODE_UNDERSCORE 45
813#define SCAN_CODE_PLUS 46
814#define SCAN_CODE_LEFT_BRACE 47
815#define SCAN_CODE_RIGHT_BRACE 48
816#define SCAN_CODE_PIPE 49
817#define SCAN_CODE_NONUS_TILDE 50
818#define SCAN_CODE_COLON 51
819#define SCAN_CODE_QUOTATION 52
820#define SCAN_CODE_TILDE 53
821#define SCAN_CODE_LESSTHAN 54
822#define SCAN_CODE_GREATERTHAN 55
823#define SCAN_CODE_QUESTION 56
824
825#define SCAN_CODE_ALTGR SCAN_CODE_RIGHT_ALT
826
827#define SCAN_CODE_KEYPAD_FIRST SCAN_CODE_NUMLOCK
828#define SCAN_CODE_KEYPAD_LAST SCAN_CODE_KEYPAD_PERIOD
829
832#define COLOR_NONE 0x00000000
833#define COLOR_BLACK 0xFF000000
834#define COLOR_RED 0xFFFF0000
835#define COLOR_ORANGE 0xFFFF8500
836#define COLOR_LEAFGREEN 0xFF009900
837#define COLOR_GREEN 0xFF00FF00
838#define COLOR_YELLOW 0xFFFFFF00
839#define COLOR_DARKGREEN 0xFF254117
840#define COLOR_DARKGRAY 0xFF595959
841#define COLOR_BROWN 0xFF6F4E37
842#define COLOR_INDIGO 0xFF2E0854
843#define COLOR_RASPBERRY 0xFFE30B5C
844#define COLOR_GRAY 0xFF808080
845#define COLOR_PURPLE 0xFF4B0082
846#define COLOR_PINK 0xFFFF0090
847#define COLOR_DARKBLUE 0xFF0000A0
848#define COLOR_SILVER 0xFFC0C0C0
849#define COLOR_BLUEIVY 0xFF3090C7
850#define COLOR_MIDGRAY 0xFFE0E0E0
851#define COLOR_LIGHTGRAY 0xFFF7F7F7
852#define COLOR_BLUE 0xFF0000FF
853#define COLOR_MAGENTA 0xFFFF00FF
854#define COLOR_CYAN 0xFF00FFFF
855#define COLOR_WHITE 0xFFFFFFFF
856
858#define COLOR_ULTIBO_LETTUCE 0xFF000000
859#define COLOR_ULTIBO_POTATO 0xFF0000A0
860#define COLOR_ULTIBO_CUCUMBER 0xFFFF8500
861#define COLOR_ULTIBO_BEETROOT 0xFF00BB00
862
863#define COLOR_ULTIBO COLOR_ULTIBO_BEETROOT
864
867#define COLOR_FORMAT_ARGB32 0
868#define COLOR_FORMAT_ABGR32 1
869#define COLOR_FORMAT_RGBA32 2
870#define COLOR_FORMAT_BGRA32 3
871#define COLOR_FORMAT_URGB32 4
872#define COLOR_FORMAT_UBGR32 5
873#define COLOR_FORMAT_RGBU32 6
874#define COLOR_FORMAT_BGRU32 7
875#define COLOR_FORMAT_RGB24 8
876#define COLOR_FORMAT_BGR24 9
877#define COLOR_FORMAT_RGB16 10
878#define COLOR_FORMAT_BGR16 11
879#define COLOR_FORMAT_RGB15 12
880#define COLOR_FORMAT_BGR15 13
881#define COLOR_FORMAT_RGB8 14
882#define COLOR_FORMAT_BGR8 15
883#define COLOR_FORMAT_GRAY16 16
884#define COLOR_FORMAT_GRAY8 17
885#define COLOR_FORMAT_INDEX16 18
886#define COLOR_FORMAT_INDEX8 19
887
888#define COLOR_FORMAT_MAX 19
889
890#define COLOR_FORMAT_DEFAULT COLOR_FORMAT_ARGB32
891
892#define COLOR_FORMAT_UNKNOWN (uint32_t)-1
893
895#define SIZE_0 0x00000000
896#define SIZE_1 0x00000001
897#define SIZE_2 0x00000002
898#define SIZE_4 0x00000004
899#define SIZE_8 0x00000008
900#define SIZE_16 0x00000010
901#define SIZE_32 0x00000020
902#define SIZE_64 0x00000040
903#define SIZE_128 0x00000080
904#define SIZE_256 0x00000100
905#define SIZE_512 0x00000200
906
907#define SIZE_1K 0x00000400
908#define SIZE_2K 0x00000800
909#define SIZE_4K 0x00001000
910#define SIZE_8K 0x00002000
911#define SIZE_16K 0x00004000
912#define SIZE_32K 0x00008000
913#define SIZE_64K 0x00010000
914#define SIZE_128K 0x00020000
915#define SIZE_256K 0x00040000
916#define SIZE_512K 0x00080000
917
918#define SIZE_1M 0x00100000
919#define SIZE_2M 0x00200000
920#define SIZE_4M 0x00400000
921#define SIZE_8M 0x00800000
922#define SIZE_16M 0x01000000
923#define SIZE_32M 0x02000000
924#define SIZE_64M 0x04000000
925#define SIZE_128M 0x08000000
926#define SIZE_256M 0x10000000
927#define SIZE_512M 0x20000000
928
929#define SIZE_1G 0x40000000
930#define SIZE_2G 0x80000000
931
932#define SIZE_4G 0x100000000
933#define SIZE_8G 0x200000000
934
936#define FREQUENCY_KHZ 1000
937#define FREQUENCY_MHZ 1000000
938#define FREQUENCY_GHZ 1000000000
939
941#define BITS_PER_BYTE 8
942#define BITS_PER_WORD 16
943#define BITS_PER_LONG 32
944#define BITS_PER_LONG_LONG 64
945
947#define MAX_BYTE (uint8_t)-1
948#define MAX_WORD (uint16_t)-1
949#define MAX_LONG (uint32_t)-1
950#define MAX_LONG_LONG (uint64_t)-1
951
953#define MILLISECONDS_PER_SECOND 1000
954#define MICROSECONDS_PER_SECOND 1000000
955#define NANOSECONDS_PER_SECOND 1000000000
956#define MILLISECONDS_PER_DAY 86400000
957#define SECONDS_PER_DAY 86400
958
961#define TIME_TICKS_PER_MICROSECOND 10
962#define TIME_TICKS_PER_MILLISECOND 10000
963#define TIME_TICKS_PER_SECOND 10000000
964#define TIME_TICKS_PER_MINUTE 600000000
965#define TIME_TICKS_PER_HOUR 36000000000
966#define TIME_TICKS_PER_DAY 864000000000
967
968#define TIME_TICKS_TO_1899 94353120000000000
969#define TIME_TICKS_TO_1970 116444736000000000
970#define TIME_TICKS_TO_1980 119600064000000000
971#define TIME_TICKS_TO_2001 126227808000000000
972
973#define TIME_TICKS_PER_10MILLISECONDS 100000
974
976#define UNIX_TIME_MILLISECONDS_PER_DAY 86400000
977#define UNIX_TIME_SECONDS_PER_DAY 86400
978#define UNIX_TIME_DAYS_TO_1970 25569.0
979
981#define PASCAL_TIME_MILLISECONDS_PER_DAY 86400000
982#define PASCAL_TIME_SECONDS_PER_DAY 86400
983#define PASCAL_TIME_DOS_TIME_START 2162688
984
985#define PASCAL_DAY_OFFSET 1.0
986#define PASCAL_MINUTE_OFFSET 0.000694444444444444
987
989#define SYSTEM_CALL_UNDEFINED 0x00000000
990#define SYSTEM_CALL_CONTEXT_SWITCH 0x00000001
991
993#define MACHINE_TYPE_UNKNOWN 0
994#define MACHINE_TYPE_BCM2708 1
995#define MACHINE_TYPE_BCM2709 2
996#define MACHINE_TYPE_BCM2710 3
997#define MACHINE_TYPE_VERSATILEPB 4
998#define MACHINE_TYPE_BCM2711 5
999
1001#define BOARD_TYPE_UNKNOWN 0
1002#define BOARD_TYPE_RPIA 1
1003#define BOARD_TYPE_RPIB 2
1004#define BOARD_TYPE_RPI_COMPUTE 3
1005#define BOARD_TYPE_RPIA_PLUS 4
1006#define BOARD_TYPE_RPIB_PLUS 5
1007#define BOARD_TYPE_RPI2B 6
1008#define BOARD_TYPE_RPI_ZERO 7
1009#define BOARD_TYPE_PC_X86 22
1010#define BOARD_TYPE_PC_X86_64 23
1011#define BOARD_TYPE_RPI3B 24
1012#define BOARD_TYPE_QEMUVPB 25
1013#define BOARD_TYPE_RPI_COMPUTE3 26
1014#define BOARD_TYPE_RPI_ZERO_W 27
1015#define BOARD_TYPE_RPI3B_PLUS 28
1016#define BOARD_TYPE_RPI3A_PLUS 29
1017#define BOARD_TYPE_RPI_COMPUTE3_PLUS 30
1018#define BOARD_TYPE_RPI4B 31
1019#define BOARD_TYPE_RPI400 32
1020#define BOARD_TYPE_RPI_COMPUTE4 33
1021#define BOARD_TYPE_RPI_ZERO2_W 34
1022
1024#define CPU_ARCH_UNKNOWN 0
1025#define CPU_ARCH_ARM32 1
1026#define CPU_ARCH_ARM64 2
1027
1029#define CPU_TYPE_UNKNOWN 0
1030#define CPU_TYPE_ARMV6 1
1031#define CPU_TYPE_ARMV7 2
1032#define CPU_TYPE_ARMV8 3
1033
1035#define CPU_MODEL_UNKNOWN 0
1036#define CPU_MODEL_ARM1176JZFS 1
1037#define CPU_MODEL_CORTEX_A5 2
1038#define CPU_MODEL_CORTEX_A7 3
1039#define CPU_MODEL_CORTEX_A8 4
1040#define CPU_MODEL_CORTEX_A9 5
1041#define CPU_MODEL_CORTEX_A15 6
1042#define CPU_MODEL_CORTEX_A17 7
1043#define CPU_MODEL_CORTEX_A53 8
1044#define CPU_MODEL_CORTEX_A57 9
1045#define CPU_MODEL_CORTEX_A72 10
1046
1048#define CPU_DESCRIPTION_UNKNOWN "Unknown"
1049#define CPU_DESCRIPTION_ARM1176JZFS "ARM1176JZF-S"
1050#define CPU_DESCRIPTION_CORTEX_A5 "ARM Cortex-A5"
1051#define CPU_DESCRIPTION_CORTEX_A5_MP "ARM Cortex-A5 MPCore"
1052#define CPU_DESCRIPTION_CORTEX_A7 "ARM Cortex-A7 MPCore"
1053#define CPU_DESCRIPTION_CORTEX_A8 "ARM Cortex-A8"
1054#define CPU_DESCRIPTION_CORTEX_A9 "ARM Cortex-A9"
1055#define CPU_DESCRIPTION_CORTEX_A9_MP "ARM Cortex-A9 MPCore"
1056#define CPU_DESCRIPTION_CORTEX_A15 "ARM Cortex-A15 MPCore"
1057#define CPU_DESCRIPTION_CORTEX_A17 "ARM Cortex-A17 MPCore"
1058#define CPU_DESCRIPTION_CORTEX_A53 "ARM Cortex-A53 MPCore"
1059#define CPU_DESCRIPTION_CORTEX_A57 "ARM Cortex-A57 MPCore"
1060#define CPU_DESCRIPTION_CORTEX_A72 "ARM Cortex-A72 MPCore"
1061
1063#define CPU_STATE_NONE (0 << 0)
1064#define CPU_STATE_MMU_ENABLED (1 << 0)
1065#define CPU_STATE_DATA_CACHE_ENABLED (1 << 1)
1066#define CPU_STATE_INSTRUCTION_CACHE_ENABLED (1 << 2)
1067#define CPU_STATE_BRANCH_PREDICTION_ENABLED (1 << 3)
1068
1070#define CPU_GROUP_0 0
1071#define CPU_GROUP_1 1
1072#define CPU_GROUP_2 2
1073#define CPU_GROUP_3 3
1074#define CPU_GROUP_4 4
1075#define CPU_GROUP_5 5
1076#define CPU_GROUP_6 6
1077#define CPU_GROUP_7 7
1078#define CPU_GROUP_8 8
1079#define CPU_GROUP_9 9
1080#define CPU_GROUP_10 10
1081#define CPU_GROUP_11 11
1082#define CPU_GROUP_12 12
1083#define CPU_GROUP_13 13
1084#define CPU_GROUP_14 14
1085#define CPU_GROUP_15 15
1086#define CPU_GROUP_16 16
1087#define CPU_GROUP_17 17
1088#define CPU_GROUP_18 18
1089#define CPU_GROUP_19 19
1090#define CPU_GROUP_20 20
1091#define CPU_GROUP_21 21
1092#define CPU_GROUP_22 22
1093#define CPU_GROUP_23 23
1094#define CPU_GROUP_24 24
1095#define CPU_GROUP_25 25
1096#define CPU_GROUP_26 26
1097#define CPU_GROUP_27 27
1098#define CPU_GROUP_28 28
1099#define CPU_GROUP_29 29
1100#define CPU_GROUP_30 30
1101#define CPU_GROUP_31 31
1102
1103#define CPU_GROUP_ALL 0xFFFFFFFF
1104
1105#define CPU_GROUP_MAX CPU_GROUP_31
1106
1108#define CPU_ID_0 0
1109#define CPU_ID_1 1
1110#define CPU_ID_2 2
1111#define CPU_ID_3 3
1112#define CPU_ID_4 4
1113#define CPU_ID_5 5
1114#define CPU_ID_6 6
1115#define CPU_ID_7 7
1116#define CPU_ID_8 8
1117#define CPU_ID_9 9
1118#define CPU_ID_10 10
1119#define CPU_ID_11 11
1120#define CPU_ID_12 12
1121#define CPU_ID_13 13
1122#define CPU_ID_14 14
1123#define CPU_ID_15 15
1124#define CPU_ID_16 16
1125#define CPU_ID_17 17
1126#define CPU_ID_18 18
1127#define CPU_ID_19 19
1128#define CPU_ID_20 20
1129#define CPU_ID_21 21
1130#define CPU_ID_22 22
1131#define CPU_ID_23 23
1132#define CPU_ID_24 24
1133#define CPU_ID_25 25
1134#define CPU_ID_26 26
1135#define CPU_ID_27 27
1136#define CPU_ID_28 28
1137#define CPU_ID_29 29
1138#define CPU_ID_30 30
1139#define CPU_ID_31 31
1140
1141#define CPU_ID_ALL 0xFFFFFFFF
1142
1143#define CPU_ID_MAX CPU_ID_31
1144
1146#define CPU_MASK_0 (1 << CPU_ID_0)
1147#define CPU_MASK_1 (1 << CPU_ID_1)
1148#define CPU_MASK_2 (1 << CPU_ID_2)
1149#define CPU_MASK_3 (1 << CPU_ID_3)
1150#define CPU_MASK_4 (1 << CPU_ID_4)
1151#define CPU_MASK_5 (1 << CPU_ID_5)
1152#define CPU_MASK_6 (1 << CPU_ID_6)
1153#define CPU_MASK_7 (1 << CPU_ID_7)
1154#define CPU_MASK_8 (1 << CPU_ID_8)
1155#define CPU_MASK_9 (1 << CPU_ID_9)
1156#define CPU_MASK_10 (1 << CPU_ID_10)
1157#define CPU_MASK_11 (1 << CPU_ID_11)
1158#define CPU_MASK_12 (1 << CPU_ID_12)
1159#define CPU_MASK_13 (1 << CPU_ID_13)
1160#define CPU_MASK_14 (1 << CPU_ID_14)
1161#define CPU_MASK_15 (1 << CPU_ID_15)
1162#define CPU_MASK_16 (1 << CPU_ID_16)
1163#define CPU_MASK_17 (1 << CPU_ID_17)
1164#define CPU_MASK_18 (1 << CPU_ID_18)
1165#define CPU_MASK_19 (1 << CPU_ID_19)
1166#define CPU_MASK_20 (1 << CPU_ID_20)
1167#define CPU_MASK_21 (1 << CPU_ID_21)
1168#define CPU_MASK_22 (1 << CPU_ID_22)
1169#define CPU_MASK_23 (1 << CPU_ID_23)
1170#define CPU_MASK_24 (1 << CPU_ID_24)
1171#define CPU_MASK_25 (1 << CPU_ID_25)
1172#define CPU_MASK_26 (1 << CPU_ID_26)
1173#define CPU_MASK_27 (1 << CPU_ID_27)
1174#define CPU_MASK_28 (1 << CPU_ID_28)
1175#define CPU_MASK_29 (1 << CPU_ID_29)
1176#define CPU_MASK_30 (1 << CPU_ID_30)
1177#define CPU_MASK_31 (1 << CPU_ID_31)
1178
1179#define CPU_MASK_NONE 0x00000000
1180#define CPU_MASK_ALL 0xFFFFFFFF
1181
1183#define CPU_AFFINITY_0 (1 << CPU_ID_0)
1184#define CPU_AFFINITY_1 (1 << CPU_ID_1)
1185#define CPU_AFFINITY_2 (1 << CPU_ID_2)
1186#define CPU_AFFINITY_3 (1 << CPU_ID_3)
1187#define CPU_AFFINITY_4 (1 << CPU_ID_4)
1188#define CPU_AFFINITY_5 (1 << CPU_ID_5)
1189#define CPU_AFFINITY_6 (1 << CPU_ID_6)
1190#define CPU_AFFINITY_7 (1 << CPU_ID_7)
1191#define CPU_AFFINITY_8 (1 << CPU_ID_8)
1192#define CPU_AFFINITY_9 (1 << CPU_ID_9)
1193#define CPU_AFFINITY_10 (1 << CPU_ID_10)
1194#define CPU_AFFINITY_11 (1 << CPU_ID_11)
1195#define CPU_AFFINITY_12 (1 << CPU_ID_12)
1196#define CPU_AFFINITY_13 (1 << CPU_ID_13)
1197#define CPU_AFFINITY_14 (1 << CPU_ID_14)
1198#define CPU_AFFINITY_15 (1 << CPU_ID_15)
1199#define CPU_AFFINITY_16 (1 << CPU_ID_16)
1200#define CPU_AFFINITY_17 (1 << CPU_ID_17)
1201#define CPU_AFFINITY_18 (1 << CPU_ID_18)
1202#define CPU_AFFINITY_19 (1 << CPU_ID_19)
1203#define CPU_AFFINITY_20 (1 << CPU_ID_20)
1204#define CPU_AFFINITY_21 (1 << CPU_ID_21)
1205#define CPU_AFFINITY_22 (1 << CPU_ID_22)
1206#define CPU_AFFINITY_23 (1 << CPU_ID_23)
1207#define CPU_AFFINITY_24 (1 << CPU_ID_24)
1208#define CPU_AFFINITY_25 (1 << CPU_ID_25)
1209#define CPU_AFFINITY_26 (1 << CPU_ID_26)
1210#define CPU_AFFINITY_27 (1 << CPU_ID_27)
1211#define CPU_AFFINITY_28 (1 << CPU_ID_28)
1212#define CPU_AFFINITY_29 (1 << CPU_ID_29)
1213#define CPU_AFFINITY_30 (1 << CPU_ID_30)
1214#define CPU_AFFINITY_31 (1 << CPU_ID_31)
1215
1216#define CPU_AFFINITY_NONE 0x00000000
1217#define CPU_AFFINITY_ALL 0xFFFFFFFF
1218
1220#define FPU_TYPE_UNKNOWN 0
1221#define FPU_TYPE_SOFT 1
1222#define FPU_TYPE_VFPV2 2
1223#define FPU_TYPE_VFPV3 3
1224#define FPU_TYPE_VFPV4 4
1225
1227#define FPU_STATE_NONE (0 << 0)
1228#define FPU_STATE_ENABLED (1 << 0)
1229
1231#define GPU_TYPE_UNKNOWN 0
1232#define GPU_TYPE_VC4 1
1233#define GPU_TYPE_MALI400 2
1234#define GPU_TYPE_MALI450 3
1235#define GPU_TYPE_GC880 4
1236#define GPU_TYPE_GC2000 5
1237#define GPU_TYPE_VC6 6
1238
1240#define GPU_STATE_NONE (0 << 0)
1241#define GPU_STATE_ENABLED (1 << 0)
1242
1244#define CACHE_TYPE_NONE 0
1245#define CACHE_TYPE_DATA 1
1246#define CACHE_TYPE_INSTRUCTION 2
1247#define CACHE_TYPE_SEPARATE 3
1248#define CACHE_TYPE_UNIFIED 4
1249
1251#define DMA_DIR_NONE 0
1252#define DMA_DIR_MEM_TO_MEM 1
1253#define DMA_DIR_MEM_TO_DEV 2
1254#define DMA_DIR_DEV_TO_MEM 3
1255#define DMA_DIR_DEV_TO_DEV 4
1256
1258#define DMA_DREQ_ID_NONE 0
1259#define DMA_DREQ_ID_UART_TX 1
1260#define DMA_DREQ_ID_UART_RX 2
1261#define DMA_DREQ_ID_SPI_TX 3
1262#define DMA_DREQ_ID_SPI_RX 4
1263#define DMA_DREQ_ID_SPI_SLAVE_TX 5
1264#define DMA_DREQ_ID_SPI_SLAVE_RX 6
1265#define DMA_DREQ_ID_PCM_TX 7
1266#define DMA_DREQ_ID_PCM_RX 8
1267#define DMA_DREQ_ID_PWM 9
1268#define DMA_DREQ_ID_MMC 10
1269#define DMA_DREQ_ID_SDHOST 11
1271#define DMA_DREQ_ID_UART0_TX DMA_DREQ_ID_UART_TX
1272#define DMA_DREQ_ID_UART0_RX DMA_DREQ_ID_UART_RX
1273#define DMA_DREQ_ID_UART1_TX 12
1274#define DMA_DREQ_ID_UART1_RX 13
1275#define DMA_DREQ_ID_UART2_TX 14
1276#define DMA_DREQ_ID_UART2_RX 15
1277#define DMA_DREQ_ID_UART3_TX 16
1278#define DMA_DREQ_ID_UART3_RX 17
1279#define DMA_DREQ_ID_UART4_TX 18
1280#define DMA_DREQ_ID_UART4_RX 19
1281#define DMA_DREQ_ID_UART5_TX 20
1282#define DMA_DREQ_ID_UART5_RX 21
1283#define DMA_DREQ_ID_SPI0_TX DMA_DREQ_ID_SPI_TX
1284#define DMA_DREQ_ID_SPI0_RX DMA_DREQ_ID_SPI_RX
1285#define DMA_DREQ_ID_SPI1_TX 22
1286#define DMA_DREQ_ID_SPI1_RX 23
1287#define DMA_DREQ_ID_SPI2_TX 24
1288#define DMA_DREQ_ID_SPI2_RX 25
1289#define DMA_DREQ_ID_SPI3_TX 26
1290#define DMA_DREQ_ID_SPI3_RX 27
1291#define DMA_DREQ_ID_SPI4_TX 28
1292#define DMA_DREQ_ID_SPI4_RX 29
1293#define DMA_DREQ_ID_SPI5_TX 30
1294#define DMA_DREQ_ID_SPI5_RX 31
1295#define DMA_DREQ_ID_SPI6_TX 32
1296#define DMA_DREQ_ID_SPI6_RX 33
1297#define DMA_DREQ_ID_SPI_SLAVE0_TX DMA_DREQ_ID_SPI_SLAVE_TX
1298#define DMA_DREQ_ID_SPI_SLAVE0_RX DMA_DREQ_ID_SPI_SLAVE_RX
1299#define DMA_DREQ_ID_PCM0_TX DMA_DREQ_ID_PCM_TX
1300#define DMA_DREQ_ID_PCM0_RX DMA_DREQ_ID_PCM_RX
1301#define DMA_DREQ_ID_PWM0 DMA_DREQ_ID_PWM
1302#define DMA_DREQ_ID_PWM1 34
1303#define DMA_DREQ_ID_EMMC0 DMA_DREQ_ID_MMC
1304#define DMA_DREQ_ID_EMMC1 DMA_DREQ_ID_SDHOST
1305#define DMA_DREQ_ID_EMMC2 35
1306#define DMA_DREQ_ID_SMI 36
1307
1309#define GPIO_PIN_0 0
1310#define GPIO_PIN_1 1
1311#define GPIO_PIN_2 2
1312#define GPIO_PIN_3 3
1313#define GPIO_PIN_4 4
1314#define GPIO_PIN_5 5
1315#define GPIO_PIN_6 6
1316#define GPIO_PIN_7 7
1317#define GPIO_PIN_8 8
1318#define GPIO_PIN_9 9
1319#define GPIO_PIN_10 10
1320#define GPIO_PIN_11 11
1321#define GPIO_PIN_12 12
1322#define GPIO_PIN_13 13
1323#define GPIO_PIN_14 14
1324#define GPIO_PIN_15 15
1325#define GPIO_PIN_16 16
1326#define GPIO_PIN_17 17
1327#define GPIO_PIN_18 18
1328#define GPIO_PIN_19 19
1329#define GPIO_PIN_20 20
1330#define GPIO_PIN_21 21
1331#define GPIO_PIN_22 22
1332#define GPIO_PIN_23 23
1333#define GPIO_PIN_24 24
1334#define GPIO_PIN_25 25
1335#define GPIO_PIN_26 26
1336#define GPIO_PIN_27 27
1337#define GPIO_PIN_28 28
1338#define GPIO_PIN_29 29
1339#define GPIO_PIN_30 30
1340#define GPIO_PIN_31 31
1341#define GPIO_PIN_32 32
1342#define GPIO_PIN_33 33
1343#define GPIO_PIN_34 34
1344#define GPIO_PIN_35 35
1345#define GPIO_PIN_36 36
1346#define GPIO_PIN_37 37
1347#define GPIO_PIN_38 38
1348#define GPIO_PIN_39 39
1349#define GPIO_PIN_40 40
1350#define GPIO_PIN_41 41
1351#define GPIO_PIN_42 42
1352#define GPIO_PIN_43 43
1353#define GPIO_PIN_44 44
1354#define GPIO_PIN_45 45
1355#define GPIO_PIN_46 46
1356#define GPIO_PIN_47 47
1357#define GPIO_PIN_48 48
1358#define GPIO_PIN_49 49
1359#define GPIO_PIN_50 50
1360#define GPIO_PIN_51 51
1361#define GPIO_PIN_52 52
1362#define GPIO_PIN_53 53
1363#define GPIO_PIN_54 54
1364#define GPIO_PIN_55 55
1365#define GPIO_PIN_56 56
1366#define GPIO_PIN_57 57
1367#define GPIO_PIN_58 58
1368#define GPIO_PIN_59 59
1369#define GPIO_PIN_60 60
1370
1371#define GPIO_PIN_MAX 60
1372
1373#define GPIO_PIN_UNKNOWN (uint32_t)-1
1374
1376#define GPIO_FUNCTION_IN 0
1377#define GPIO_FUNCTION_OUT 1
1378#define GPIO_FUNCTION_ALT0 2
1379#define GPIO_FUNCTION_ALT1 3
1380#define GPIO_FUNCTION_ALT2 4
1381#define GPIO_FUNCTION_ALT3 5
1382#define GPIO_FUNCTION_ALT4 6
1383#define GPIO_FUNCTION_ALT5 7
1384
1385#define GPIO_FUNCTION_UNKNOWN (uint32_t)-1
1386
1388#define GPIO_LEVEL_LOW 0
1389#define GPIO_LEVEL_HIGH 1
1390
1391#define GPIO_LEVEL_UNKNOWN (uint32_t)-1
1392
1394#define GPIO_PULL_NONE 0
1395#define GPIO_PULL_UP 1
1396#define GPIO_PULL_DOWN 2
1397
1398#define GPIO_PULL_UNKNOWN (uint32_t)-1
1399
1401#define GPIO_TRIGGER_NONE 0
1402#define GPIO_TRIGGER_LOW 1
1403#define GPIO_TRIGGER_HIGH 2
1404#define GPIO_TRIGGER_RISING 3
1405#define GPIO_TRIGGER_FALLING 4
1406#define GPIO_TRIGGER_ASYNC_RISING 5
1407#define GPIO_TRIGGER_ASYNC_FALLING 6
1408#define GPIO_TRIGGER_EDGE 7
1409
1410#define GPIO_TRIGGER_UNKNOWN (uint32_t)-1
1411
1413#define VIRTUAL_GPIO_PIN_0 GPIO_PIN_0
1414#define VIRTUAL_GPIO_PIN_1 GPIO_PIN_1
1415#define VIRTUAL_GPIO_PIN_2 GPIO_PIN_2
1416#define VIRTUAL_GPIO_PIN_3 GPIO_PIN_3
1417#define VIRTUAL_GPIO_PIN_4 GPIO_PIN_4
1418#define VIRTUAL_GPIO_PIN_5 GPIO_PIN_5
1419#define VIRTUAL_GPIO_PIN_6 GPIO_PIN_6
1420#define VIRTUAL_GPIO_PIN_7 GPIO_PIN_7
1421
1423#define VIRTUAL_GPIO_FUNCTION_IN 0
1424#define VIRTUAL_GPIO_FUNCTION_OUT 1
1425
1427#define SERIAL_BAUD_RATE_DEFAULT 0
1428
1429#define SERIAL_BAUD_RATE_STANDARD 115200
1430#define SERIAL_BAUD_RATE_FALLBACK 9600
1431
1433#define SERIAL_DATA_8BIT 8
1434#define SERIAL_DATA_7BIT 7
1435#define SERIAL_DATA_6BIT 6
1436#define SERIAL_DATA_5BIT 5
1437
1439#define SERIAL_STOP_1BIT 1
1440#define SERIAL_STOP_2BIT 2
1441#define SERIAL_STOP_1BIT5 3
1442
1444#define SERIAL_PARITY_NONE 0
1445#define SERIAL_PARITY_ODD 1
1446#define SERIAL_PARITY_EVEN 2
1447#define SERIAL_PARITY_MARK 3
1448#define SERIAL_PARITY_SPACE 4
1449
1451#define SERIAL_FLOW_NONE 0
1452#define SERIAL_FLOW_RTS_CTS 1
1453#define SERIAL_FLOW_DSR_DTR 2
1454
1456#define I2C_ADDRESS_INVALID (uint16_t)-1
1457
1460
1462#define SPI_MODE_4WIRE 0
1463#define SPI_MODE_3WIRE 1
1464#define SPI_MODE_LOSSI 2
1465
1466#define SPI_MODE_UNKNOWN (uint32_t)-1
1467
1469#define SPI_CS_0 0
1470#define SPI_CS_1 1
1471#define SPI_CS_2 2
1472#define SPI_CS_3 3
1473#define SPI_CS_4 4
1474#define SPI_CS_5 5
1475#define SPI_CS_6 6
1476#define SPI_CS_7 7
1477#define SPI_CS_8 8
1478#define SPI_CS_9 9
1479#define SPI_CS_10 10
1480#define SPI_CS_11 11
1481#define SPI_CS_12 12
1482#define SPI_CS_13 13
1483#define SPI_CS_14 14
1484#define SPI_CS_15 15
1485
1486#define SPI_CS_MAX 15
1487
1488#define SPI_CS_NONE (uint16_t)-1
1489
1491#define SPI_CLOCK_PHASE_LOW 0
1492#define SPI_CLOCK_PHASE_HIGH 1
1493
1494#define SPI_CLOCK_PHASE_UNKNOWN (uint32_t)-1
1495
1497#define SPI_CLOCK_POLARITY_LOW 0
1498#define SPI_CLOCK_POLARITY_HIGH 1
1499
1500#define SPI_CLOCK_POLARITY_UNKNOWN (uint32_t)-1
1501
1503#define SPI_CS_POLARITY_LOW 0
1504#define SPI_CS_POLARITY_HIGH 1
1505
1506#define SPI_CS_POLARITY_UNKNOWN (uint32_t)-1
1507
1509#define POWER_ID_MMC0 0
1510#define POWER_ID_MMC1 1
1511#define POWER_ID_MMC2 2
1512#define POWER_ID_MMC3 3
1513#define POWER_ID_UART0 4
1514#define POWER_ID_UART1 5
1515#define POWER_ID_UART2 6
1516#define POWER_ID_UART3 7
1517#define POWER_ID_USB0 8
1518#define POWER_ID_USB1 9
1519#define POWER_ID_USB2 10
1520#define POWER_ID_USB3 11
1521#define POWER_ID_I2C0 12
1522#define POWER_ID_I2C1 13
1523#define POWER_ID_I2C2 14
1524#define POWER_ID_I2C3 15
1525#define POWER_ID_SPI0 16
1526#define POWER_ID_SPI1 17
1527#define POWER_ID_SPI2 18
1528#define POWER_ID_SPI3 19
1529#define POWER_ID_CCP2TX 20
1531#define POWER_ID_UART4 21
1532#define POWER_ID_UART5 22
1533#define POWER_ID_UART6 23
1534#define POWER_ID_UART7 24
1535#define POWER_ID_UART8 25
1536#define POWER_ID_UART9 26
1537#define POWER_ID_I2C4 27
1538#define POWER_ID_I2C5 28
1539#define POWER_ID_I2C6 29
1540#define POWER_ID_I2C7 30
1541#define POWER_ID_I2C8 31
1542#define POWER_ID_I2C9 32
1543#define POWER_ID_SPI4 33
1544#define POWER_ID_SPI5 34
1545#define POWER_ID_SPI6 35
1546#define POWER_ID_SPI7 36
1547#define POWER_ID_SPI8 37
1548#define POWER_ID_SPI9 38
1549
1550#define POWER_ID_UNKNOWN (uint32_t)-1
1551
1553#define POWER_STATE_OFF 0
1554#define POWER_STATE_ON 1
1555
1557#define CLOCK_ID_MMC0 0
1558#define CLOCK_ID_MMC1 1
1559#define CLOCK_ID_MMC2 2
1560#define CLOCK_ID_MMC3 3
1561#define CLOCK_ID_UART0 4
1562#define CLOCK_ID_UART1 5
1563#define CLOCK_ID_UART2 6
1564#define CLOCK_ID_UART3 7
1565#define CLOCK_ID_CPU 8
1566#define CLOCK_ID_CORE 9
1567#define CLOCK_ID_GPU 10
1568#define CLOCK_ID_V3D 11
1569#define CLOCK_ID_H264 12
1570#define CLOCK_ID_ISP 13
1571#define CLOCK_ID_SDRAM 14
1572#define CLOCK_ID_PIXEL 15
1573#define CLOCK_ID_PWM0 16
1574#define CLOCK_ID_PWM1 17
1575#define CLOCK_ID_I2C0 18
1576#define CLOCK_ID_I2C1 19
1577#define CLOCK_ID_I2C2 20
1578#define CLOCK_ID_I2C3 21
1579#define CLOCK_ID_SPI0 22
1580#define CLOCK_ID_SPI1 23
1581#define CLOCK_ID_SPI2 24
1582#define CLOCK_ID_SPI3 25
1584#define CLOCK_ID_UART4 26
1585#define CLOCK_ID_UART5 27
1586#define CLOCK_ID_UART6 28
1587#define CLOCK_ID_UART7 29
1588#define CLOCK_ID_UART8 30
1589#define CLOCK_ID_UART9 31
1590#define CLOCK_ID_I2C4 32
1591#define CLOCK_ID_I2C5 33
1592#define CLOCK_ID_I2C6 34
1593#define CLOCK_ID_I2C7 35
1594#define CLOCK_ID_I2C8 36
1595#define CLOCK_ID_I2C9 37
1596#define CLOCK_ID_SPI4 38
1597#define CLOCK_ID_SPI5 39
1598#define CLOCK_ID_SPI6 40
1599#define CLOCK_ID_SPI7 41
1600#define CLOCK_ID_SPI8 42
1601#define CLOCK_ID_SPI9 43
1602
1603#define CLOCK_ID_UNKNOWN (uint32_t)-1
1604
1606#define CLOCK_STATE_OFF 0
1607#define CLOCK_STATE_ON 1
1608
1610#define TURBO_ID_SOC 0
1611
1613#define VOLTAGE_ID_CORE 0
1614#define VOLTAGE_ID_SDRAM_C 1
1615#define VOLTAGE_ID_SDRAM_P 2
1616#define VOLTAGE_ID_SDRAM_I 3
1617
1619#define TEMPERATURE_ID_SOC 0
1620
1622#define CONSOLE_DIRECTION_UP 0
1623#define CONSOLE_DIRECTION_DOWN 1
1624#define CONSOLE_DIRECTION_LEFT 2
1625#define CONSOLE_DIRECTION_RIGHT 3
1626
1628#define CONSOLE_POSITION_FULL 0
1629#define CONSOLE_POSITION_TOP 1
1630#define CONSOLE_POSITION_BOTTOM 2
1631#define CONSOLE_POSITION_LEFT 3
1632#define CONSOLE_POSITION_RIGHT 4
1633#define CONSOLE_POSITION_TOPLEFT 5
1634#define CONSOLE_POSITION_TOPRIGHT 6
1635#define CONSOLE_POSITION_BOTTOMLEFT 7
1636#define CONSOLE_POSITION_BOTTOMRIGHT 8
1637
1638#define CONSOLE_POSITION_FULLSCREEN 9
1639
1640#define CONSOLE_POSITION_UNKNOWN (uint32_t)-1
1641
1643#define FRAMEBUFFER_DEPTH_8 8
1644#define FRAMEBUFFER_DEPTH_16 16
1645#define FRAMEBUFFER_DEPTH_24 24
1646#define FRAMEBUFFER_DEPTH_32 32
1647
1649#define FRAMEBUFFER_ORDER_BGR 0
1650#define FRAMEBUFFER_ORDER_RGB 1
1651
1653#define FRAMEBUFFER_MODE_ENABLED 0
1654#define FRAMEBUFFER_MODE_REVERSED 1
1655#define FRAMEBUFFER_MODE_IGNORED 2
1656
1658#define FRAMEBUFFER_ROTATION_0 0
1659#define FRAMEBUFFER_ROTATION_90 1
1660#define FRAMEBUFFER_ROTATION_180 2
1661#define FRAMEBUFFER_ROTATION_270 3
1662
1664#define LOG_LEVEL_DEBUG 1
1665#define LOG_LEVEL_INFO 2
1666#define LOG_LEVEL_WARN 3
1667#define LOG_LEVEL_ERROR 4
1668#define LOG_LEVEL_NONE 5
1669
1671#define LOGGING_PROTOCOL_UDP 0
1672#define LOGGING_PROTOCOL_TCP 1
1673
1675#define LOGGING_FACILITY_KERNEL 0
1676#define LOGGING_FACILITY_PLATFORM 1
1677#define LOGGING_FACILITY_THREADS 2
1678#define LOGGING_FACILITY_DEVICES 3
1679#define LOGGING_FACILITY_NETWORK 4
1680#define LOGGING_FACILITY_STORAGE 5
1681#define LOGGING_FACILITY_FILESYSTEM 6
1682#define LOGGING_FACILITY_KEYBOARD 7
1683#define LOGGING_FACILITY_MOUSE 8
1684#define LOGGING_FACILITY_SCSI 9
1685#define LOGGING_FACILITY_DMA 10
1686#define LOGGING_FACILITY_GPIO 11
1687#define LOGGING_FACILITY_MMC 12
1688#define LOGGING_FACILITY_USB 13
1689#define LOGGING_FACILITY_SERVICES 14
1690#define LOGGING_FACILITY_HTTP 15
1691#define LOGGING_FACILITY_IMAP 16
1692#define LOGGING_FACILITY_POP 17
1693#define LOGGING_FACILITY_SMTP 18
1694#define LOGGING_FACILITY_TELNET 19
1695#define LOGGING_FACILITY_SSH 20
1696#define LOGGING_FACILITY_SHELL 21
1697#define LOGGING_FACILITY_NTP 22
1698#define LOGGING_FACILITY_FTP 23
1699#define LOGGING_FACILITY_RTC 24
1700#define LOGGING_FACILITY_I2C 25
1701#define LOGGING_FACILITY_I2S 26
1702#define LOGGING_FACILITY_PWM 27
1703#define LOGGING_FACILITY_SERIAL 28
1704#define LOGGING_FACILITY_SPI 29
1705#define LOGGING_FACILITY_UART 30
1706#define LOGGING_FACILITY_AUDIO 31
1707#define LOGGING_FACILITY_1WIRE 32
1708#define LOGGING_FACILITY_TOUCH 33
1709#define LOGGING_FACILITY_VIDEO 34
1710#define LOGGING_FACILITY_CODEC 35
1711#define LOGGING_FACILITY_NFS 36
1712#define LOGGING_FACILITY_RPC 37
1713#define LOGGING_FACILITY_PCI 38
1714#define LOGGING_FACILITY_VIRTIO 39
1715#define LOGGING_FACILITY_BLUETOOTH 40
1716#define LOGGING_FACILITY_JOYSTICK 41
1717#define LOGGING_FACILITY_HID 42
1718
1719#define LOGGING_FACILITY_USER 1000
1720
1721#define LOGGING_FACILITY_INVALID 0xFFFFFFFF
1722
1724#define LOGGING_SEVERITY_ERROR 0
1725#define LOGGING_SEVERITY_WARN 1
1726#define LOGGING_SEVERITY_INFO 2
1727#define LOGGING_SEVERITY_DEBUG 3
1728
1729#define LOGGING_SEVERITY_INVALID 0xFFFFFFFF
1730
1732#define HANDLE_TYPE_SPIN 1
1733#define HANDLE_TYPE_MUTEX 2
1734#define HANDLE_TYPE_SECTION 3
1735#define HANDLE_TYPE_SEMAPHORE 4
1736#define HANDLE_TYPE_SYNCHRONIZER 5
1737#define HANDLE_TYPE_CONDITION 6
1738#define HANDLE_TYPE_COMPLETION 7
1739#define HANDLE_TYPE_LIST 8
1740#define HANDLE_TYPE_QUEUE 9
1741#define HANDLE_TYPE_THREAD 10
1742#define HANDLE_TYPE_MESSAGESLOT 11
1743#define HANDLE_TYPE_MAILSLOT 12
1744#define HANDLE_TYPE_BUFFER 13
1745#define HANDLE_TYPE_EVENT 14
1746
1747#define HANDLE_TYPE_TIMER 15
1748#define HANDLE_TYPE_WORKER 16
1749#define HANDLE_TYPE_WINDOW 17
1750#define HANDLE_TYPE_FONT 18
1751#define HANDLE_TYPE_KEYMAP 19
1752
1753#define HANDLE_TYPE_FILE 100
1754#define HANDLE_TYPE_PIPE 101
1755#define HANDLE_TYPE_SOCKET 102
1756#define HANDLE_TYPE_DEVICE 103
1757#define HANDLE_TYPE_FIRMWARE 104
1758
1759#define HANDLE_TYPE_USER_BASE 1000
1760
1762#define FILESYS_CACHE_MODE_NONE 0
1763#define FILESYS_CACHE_MODE_READONLY 1
1764#define FILESYS_CACHE_MODE_READWRITE 2
1765
1768#define CURSOR_ARROW_DEFAULT_WIDTH 16
1769#define CURSOR_ARROW_DEFAULT_HEIGHT 18
1770#define CURSOR_ARROW_DEFAULT_FORMAT COLOR_FORMAT_DEFAULT
1771static const uint32_t CURSOR_ARROW_DEFAULT[CURSOR_ARROW_DEFAULT_WIDTH * CURSOR_ARROW_DEFAULT_HEIGHT] = {
1790
1791#ifdef __cplusplus
1792}
1793#endif
1794
1795#endif // _ULTIBO_GLOBALCONST_H
#define COLOR_NONE
Definition globalconst.h:832
#define CURSOR_ARROW_DEFAULT_HEIGHT
Must be >= 16 and <= 64 on Raspberry Pi.
Definition globalconst.h:1769
#define COLOR_WHITE
Definition globalconst.h:855
#define CURSOR_ARROW_DEFAULT_WIDTH
Must be >= 16 and <= 64 on Raspberry Pi.
Definition globalconst.h:1768
#define COLOR_BLACK
Definition globalconst.h:833