Revision 46471486

View differences:

Makefile
3 3
# applications. It was developed as part of the software habitat for the       #
4 4
# Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as      #
5 5
# well.                                                                        #
6
# Copyright (C) 2018..2019  Thomas Schöpping et al.                            #
6
# Copyright (C) 2018..2020  Thomas Schöpping et al.                            #
7 7
#                                                                              #
8 8
# This program is free software: you can redistribute it and/or modify         #
9 9
# it under the terms of the GNU General Public License as published by         #
......
32 32
URTWARE_INC = $(URTWARE_DIR:/=) \
33 33
              $(URTWARE_DIR)inc
34 34

  
35
URTWARE_SRCDIR = $(URTWARE_DIR)src
36

  
37 35
# C sources
38 36
URTWARE_CSRC =
39 37

  
40 38
# C++ sources
41 39
URTWARE_CPPSRC =
42

  
README.md
1
About & License
2
===============
3

  
4
µRtWare is a lightweight publish/subscribe middleware for real-time
5
applications. It was developed as part of the software habitat for the
6
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
7

  
8
Copyright (C) 2018..2020  Thomas Schöpping et al.
9
(a complete list of all authors is given below)
10

  
11
This program is free software: you can redistribute it and/or modify
12
it under the terms of the GNU Lesser General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or (at
14
your option) any later version.
15

  
16
This program is distributed in the hope that it will be useful, but
17
WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
Lesser General Public License for more details.
20

  
21
You should have received a copy of the GNU Lesser General Public License
22
along with this program.  If not, see <http://www.gnu.org/licenses/>.
23

  
24
This research/work was supported by the Cluster of Excellence
25
Cognitive Interaction Technology 'CITEC' (EXC 277) at Bielefeld
26
University, which is funded by the German Research Foundation (DFG).
27

  
28
Authors:
29

  
30
-   Thomas Schöpping          <tschoepp[at]cit-ec.uni-bielefeld.de>
31
-   Marc Rothmann
32

  
33
References:
34

  
35
[1] S. Herbrechtsmeier, T. Korthals, T. Schopping and U. Rückert, "AMiRo: A
36
    modular & customizable open-source mini robot platform," 2016 20th
37
    International Conference on System Theory, Control and Computing (ICSTCC),
38
    Sinaia, 2016, pp. 687-692.
39

  
40
--------------------------------------------------------------------------------
41

  
42
Contents
43
========
44

  
45
--------------------------------------------------------------------------------
46

  
47
TODO
README.txt
1
uRtWare is a lightweight publish/subscribe middleware for real-time
2
applications. It was developed as part of the software habitat for the
3
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
4

  
5
Copyright (C) 2018..2019  Thomas Schöpping et al.
6
(a complete list of all authors is given below)
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU Lesser General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or (at
11
your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful, but
14
WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
Lesser General Public License for more details.
17

  
18
You should have received a copy of the GNU Lesser General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20

  
21
This research/work was supported by the Cluster of Excellence
22
Cognitive Interaction Technology 'CITEC' (EXC 277) at Bielefeld
23
University, which is funded by the German Research Foundation (DFG).
24

  
25
Authors:
26
 - Thomas Schöpping          <tschoepp[at]cit-ec.uni-bielefeld.de>
27
 - Marc Rothmann             <mrothmann[at]techfak.uni-bielefeld.de>
28

  
29
References:
30
 [1] S. Herbrechtsmeier, T. Korthals, T. Schopping and U. Rückert, "AMiRo: A
31
     modular & customizable open-source mini robot platform," 2016 20th
32
     International Conference on System Theory, Control and Computing (ICSTCC),
33
     Sinaia, 2016, pp. 687-692.
34

  
35

  
36

  
37
################################################################################
38
#                                                                              #
39
#        RRRRRRRR   EEEEEEEE     AAA     DDDDDDDD   MM     MM  EEEEEEEE        #
40
#        RR     RR  EE          AA AA    DD     DD  MMM   MMM  EE              #
41
#        RR     RR  EE         AA   AA   DD     DD  MMMM MMMM  EE              #
42
#        RRRRRRRR   EEEEEE    AA     AA  DD     DD  MM MMM MM  EEEEEE          #
43
#        RR   RR    EE        AAAAAAAAA  DD     DD  MM     MM  EE              #
44
#        RR    RR   EE        AA     AA  DD     DD  MM     MM  EE              #
45
#        RR     RR  EEEEEEEE  AA     AA  DDDDDDDD   MM     MM  EEEEEEEE        #
46
#                                                                              #
47
################################################################################
48

  
49
TODO
doc/classdiagrams/osal.svg
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="797px" preserveAspectRatio="none" style="width:5573px;height:797px;" version="1.1" viewBox="0 0 5573 797" width="5573px" zoomAndPan="magnify"><defs><filter height="300%" id="fm4jpltjyo5jv" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="2749.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="387" x="2600.5" y="37.6611">Operating System Abstraction Layer (OSAL)</text><!--MD5=[3dab47d3fc3e186ff10f67819eb99ff8]
2
cluster time--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="121" style="stroke: #000000; stroke-width: 1.5;" width="442" x="2128" y="202.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="34" x="2332" y="217.9014">time</text><!--MD5=[48ccbfc44b1b031f9b243763d7ad5184]
3
cluster mutex--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="134" style="stroke: #000000; stroke-width: 1.5;" width="314" x="759" y="196.4063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="891.5" y="211.4014">mutex</text><!--MD5=[2e45f233f6bb64aa81ebe67fb6de8946]
4
cluster condition variable--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="450.5" style="stroke: #000000; stroke-width: 1.5;" width="726" x="14" y="196.4063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="307" y="211.4014">condition variable</text><!--MD5=[c7113df1f710ca294cbd01734aa00974]
5
cluster timer--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="444.5" style="stroke: #000000; stroke-width: 1.5;" width="798" x="2589" y="189.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="2967.5" y="204.9014">timer</text><!--MD5=[107bb3f79455a18bd83c75ada1ac7979]
6
cluster thread--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="621" style="stroke: #000000; stroke-width: 1.5;" width="1039" x="1081" y="57.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="1574.5" y="72.9014">thread</text><!--MD5=[8d74b40516bd265adb19f202ab81f40d]
7
cluster events--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="584" style="stroke: #000000; stroke-width: 1.5;" width="1642" x="3406" y="202.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="4200" y="217.9014">events</text><!--MD5=[b978ecedb6f4da3f32705dc09c84a7d6]
8
cluster streams--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="109" style="stroke: #000000; stroke-width: 1.5;" width="226" x="5056" y="208.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="5137" y="223.9014">streams</text><!--MD5=[62106fc051f244acf17caf792167c8db]
9
cluster debug--><rect fill="#FFFFFF" filter="url(#fm4jpltjyo5jv)" height="96" style="stroke: #000000; stroke-width: 1.5;" width="262" x="5300" y="215.4063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="50" x="5406" y="230.4014">debug</text><!--MD5=[3677786d1f00795918091b0110bfa4af]
10
class urt_osTime_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="86.4141" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="425" x="2136.5" y="229.9063"/><ellipse cx="2305.25" cy="245.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2306.0938,252.6563 L2303.6406,252.6563 L2303.6406,242.4063 L2300.5,242.4063 L2300.5,240.2656 L2309.2344,240.2656 L2309.2344,242.4063 L2306.0938,242.4063 L2306.0938,252.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="2325.75" y="250.0605">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2137.5" x2="2560.5" y1="261.9063" y2="261.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2137.5" x2="2560.5" y1="269.9063" y2="269.9063"/><ellipse cx="2147.5" cy="280.9063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="231" x="2156.5" y="284.1167">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="2147.5" cy="293.7109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="2156.5" y="296.9214">urtTimeNow (void) : urt_osTime_t</text><ellipse cx="2147.5" cy="306.5156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="399" x="2156.5" y="309.7261">urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*</text><!--MD5=[532279a7a1cac9af7f32856ca2ae6b9b]
11
class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="298" x="767" y="223.4063"/><ellipse cx="868.25" cy="239.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M869.0938,246.1563 L866.6406,246.1563 L866.6406,235.9063 L863.5,235.9063 L863.5,233.7656 L872.2344,233.7656 L872.2344,235.9063 L869.0938,235.9063 L869.0938,246.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="888.75" y="243.5605">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="768" x2="1064" y1="255.4063" y2="255.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="768" x2="1064" y1="263.4063" y2="263.4063"/><ellipse cx="778" cy="274.4063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="245" x="787" y="277.6167">urtMutexInit (mutex : urt_osMutex_t*) : void</text><ellipse cx="778" cy="287.2109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="253" x="787" y="290.4214">urtMutexLock (mutex : urt_osMutex_t*) : void</text><ellipse cx="778" cy="300.0156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="272" x="787" y="303.2261">urtMutexTryLock (mutex : urt_osMutex_t*) : bool</text><ellipse cx="778" cy="312.8203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="787" y="316.0308">urtMutexUnlock (mutex : urt_osMutex_t*) : void</text><!--MD5=[52fa11869cb40c93fa7702378ddd839e]
12
class urt_osCondvarWaitStatus_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="86.4141" id="urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="242" y="552.9063"/><ellipse cx="288.25" cy="568.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M292.3594,574.9063 L284.6406,574.9063 L284.6406,562.5156 L292.3594,562.5156 L292.3594,564.6719 L287.0938,564.6719 L287.0938,567.3438 L291.8594,567.3438 L291.8594,569.5 L287.0938,569.5 L287.0938,572.75 L292.3594,572.75 L292.3594,574.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="169" x="308.75" y="573.0605">urt_osCondvarWaitStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="511" y1="584.9063" y2="584.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="248" y="599.1167">URT_CONDVAR_WAITSTATUS_SIGNAL = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="248" y="611.9214">URT_CONDVAR_WAITSTATUS_BROADCAST = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="248" y="624.7261">URT_CONDVAR_WAITSTATUS_TIMEOUT = 0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="511" y1="631.3203" y2="631.3203"/><!--MD5=[004fc5dee471033e8e4138c1c73f0692]
13
class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="710" x="22" y="223.4063"/><ellipse cx="322.25" cy="239.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M323.0938,246.1563 L320.6406,246.1563 L320.6406,235.9063 L317.5,235.9063 L317.5,233.7656 L326.2344,233.7656 L326.2344,235.9063 L323.0938,235.9063 L323.0938,246.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="342.75" y="243.5605">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23" x2="731" y1="255.4063" y2="255.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23" x2="731" y1="263.4063" y2="263.4063"/><ellipse cx="33" cy="274.4063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="283" x="42" y="277.6167">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="287.2109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="301" x="42" y="290.4214">urtCondvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="300.0156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="324" x="42" y="303.2261">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="312.8203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="684" x="42" y="316.0308">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t</text><!--MD5=[93799a03260ba286abda700174f4f205]
14
class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="2845" y="565.4063"/><ellipse cx="2915.75" cy="581.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2916.5938,588.1563 L2914.1406,588.1563 L2914.1406,577.9063 L2911,577.9063 L2911,575.7656 L2919.7344,575.7656 L2919.7344,577.9063 L2916.5938,577.9063 L2916.5938,588.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="2936.25" y="585.5605">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2846" x2="3130" y1="597.4063" y2="597.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2846" x2="3130" y1="605.4063" y2="605.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="2851" y="619.6167">urt_osTimerCallback_t (parameter : void*) : void</text><!--MD5=[0b340d7b925b1eab6a1b7e084f68a7c2]
15
class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="112.0234" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="782" x="2597" y="216.9063"/><ellipse cx="2941.75" cy="232.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2942.5938,239.6563 L2940.1406,239.6563 L2940.1406,229.4063 L2937,229.4063 L2937,227.2656 L2945.7344,227.2656 L2945.7344,229.4063 L2942.5938,229.4063 L2942.5938,239.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="2962.25" y="237.0605">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2598" x2="3378" y1="248.9063" y2="248.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2598" x2="3378" y1="256.9063" y2="256.9063"/><ellipse cx="2608" cy="267.9063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="2617" y="271.1167">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="2608" cy="280.7109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="705" x="2617" y="283.9214">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="2608" cy="293.5156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="756" x="2617" y="296.7261">urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="2608" cy="306.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="300" x="2617" y="309.5308">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="2608" cy="319.125" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="2617" y="322.3354">urtTimerIsArmed (timer : urt_osTimer_t*) : bool</text><!--MD5=[86c16d91227b9a9ec3b6b9b0285de4e9]
16
class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="150.4375" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1089.5" y="520.9063"/><ellipse cx="1125.65" cy="536.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1126.4938,543.6563 L1124.0406,543.6563 L1124.0406,533.4063 L1120.9,533.4063 L1120.9,531.2656 L1129.6344,531.2656 L1129.6344,533.4063 L1126.4938,533.4063 L1126.4938,543.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1144.35" y="541.0605">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1090.5" x2="1285.5" y1="552.9063" y2="552.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="1095.5" y="567.1167">URT_THREAD_PRIO_LOW_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="1095.5" y="579.9214">URT_THREAD_PRIO_LOW_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="1095.5" y="592.7261">URT_THREAD_PRIO_NORMAL_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="1095.5" y="605.5308">URT_THREAD_PRIO_NORMAL_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="164" x="1095.5" y="618.3354">URT_THREAD_PRIO_HIGH_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="1095.5" y="631.1401">URT_THREAD_PRIO_HIGH_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="1095.5" y="643.9448">URT_THREAD_PRIO_RT_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="1095.5" y="656.7495">URT_THREAD_PRIO_RT_MAX</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1090.5" x2="1285.5" y1="663.3438" y2="663.3438"/><!--MD5=[69d8aab9aa387a2f5052ea3da80e80ea]
17
class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1322" y="565.4063"/><ellipse cx="1369.75" cy="581.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1370.5938,588.1563 L1368.1406,588.1563 L1368.1406,577.9063 L1365,577.9063 L1365,575.7656 L1373.7344,575.7656 L1373.7344,577.9063 L1370.5938,577.9063 L1370.5938,588.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="1390.25" y="585.5605">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1323" x2="1573" y1="597.4063" y2="597.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1323" x2="1573" y1="605.4063" y2="605.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="1328" y="619.6167">urt_osThreadFunction_t (arg : void*) : void</text><!--MD5=[ab5f611d45c3fa10609c33f780d8c3e1]
18
class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="1609" y="558.9063"/><ellipse cx="1630.75" cy="574.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1634.8594,580.9063 L1627.1406,580.9063 L1627.1406,568.5156 L1634.8594,568.5156 L1634.8594,570.6719 L1629.5938,570.6719 L1629.5938,573.3438 L1634.3594,573.3438 L1634.3594,575.5 L1629.5938,575.5 L1629.5938,578.75 L1634.8594,578.75 L1634.8594,580.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="1646.25" y="579.0605">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1610" x2="1850" y1="590.9063" y2="590.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="1615" y="605.1167">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1615" y="617.9214">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1610" x2="1850" y1="624.5156" y2="624.5156"/><!--MD5=[47d14ad2c233fae1b32b8d0a283e820a]
19
class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="137.6328" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="1886" y="526.9063"/><ellipse cx="1930.75" cy="542.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1934.8594,548.9063 L1927.1406,548.9063 L1927.1406,536.5156 L1934.8594,536.5156 L1934.8594,538.6719 L1929.5938,538.6719 L1929.5938,541.3438 L1934.3594,541.3438 L1934.3594,543.5 L1929.5938,543.5 L1929.5938,546.75 L1934.8594,546.75 L1934.8594,548.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="1951.25" y="547.0605">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1887" x2="2111" y1="558.9063" y2="558.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="1892" y="573.1167">URT_THREAD_STATE_INACTIVE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="1892" y="585.9214">URT_THREAD_STATE_RUNNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="1892" y="598.7261">URT_THREAD_STATE_READY = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="1892" y="611.5308">URT_THREAD_STATE_SLEEPING = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="1892" y="624.3354">URT_THREAD_STATE_SUSPENDED = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="1892" y="637.1401">URT_THREAD_STATE_WAITING = 5</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="1892" y="649.9448">URT_THREAD_STATE_TERMINATED = 6</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1887" x2="2111" y1="656.5391" y2="656.5391"/><!--MD5=[0a16224ede9ffa9bb2d34e085a076e6d]
20
class urt_osThread_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="376.1172" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="560" x="1450" y="84.9063"/><ellipse cx="1678.75" cy="100.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1679.5938,107.6563 L1677.1406,107.6563 L1677.1406,97.4063 L1674,97.4063 L1674,95.2656 L1682.7344,95.2656 L1682.7344,97.4063 L1679.5938,97.4063 L1679.5938,107.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="1699.25" y="105.0605">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1451" x2="2009" y1="116.9063" y2="116.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="1456" y="131.1167">URT_THREAD_SLEEP_MAX : float</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1456" y="143.9214">URT_THREAD_SSLEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="1456" y="156.7261">URT_THREAD_MSLEEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="224" x="1456" y="169.5308">URT_THREAD_USLEEP_MAX : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1451" x2="2009" y1="176.125" y2="176.125"/><ellipse cx="1461" cy="187.125" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="248" x="1470" y="190.3354">URT_THREAD_MEMORY (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1451" x2="2009" y1="196.9297" y2="196.9297"/><ellipse cx="1461" cy="207.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="534" x="1470" y="211.1401">urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*</text><ellipse cx="1461" cy="220.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="490" x="1470" y="223.9448">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="1461" cy="233.5391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="1470" y="236.7495">urtThreadYield (void) : void</text><ellipse cx="1461" cy="246.3438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="1470" y="249.5542">urtThreadGetPriority (void) : urt_osThreadPrio_t</text><ellipse cx="1461" cy="259.1484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="304" x="1470" y="262.3589">urtThreadSetPriority (prio : urt_osThreadPrio_t) : void</text><ellipse cx="1461" cy="271.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="294" x="1470" y="275.1636">urtThreadSuspend (thread : urt_osThread_t*) : void</text><ellipse cx="1461" cy="284.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="335" x="1470" y="287.9683">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="1461" cy="297.5625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="1470" y="300.7729">urtThreadSleep (seconds : float) : void</text><ellipse cx="1461" cy="310.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="1470" y="313.5776">urtThreadSSleep (seconds : urt_delay_t) : void</text><ellipse cx="1461" cy="323.1719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="289" x="1470" y="326.3823">urtThreadMSleep (milliseconds : urt_delay_t) : void</text><ellipse cx="1461" cy="335.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="1470" y="339.187">urtThreadUSleep (microseconds : urt_delay_t) : void</text><ellipse cx="1461" cy="348.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="1470" y="351.9917">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="1461" cy="361.5859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="1470" y="364.7964">urtThreadExit (void) : void</text><ellipse cx="1461" cy="374.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="518" x="1470" y="377.6011">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="1461" cy="387.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="264" x="1470" y="390.4058">urtThreadJoin (thread : urt_osThread_t*) : void</text><ellipse cx="1461" cy="400" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="387" x="1470" y="403.2104">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="1461" cy="412.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="237" x="1470" y="416.0151">urtThreadGetSelf (void) : urt_osThread_t*</text><ellipse cx="1461" cy="425.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="1470" y="428.8198">urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="1461" cy="438.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="1470" y="441.6245">urtThreadGetSibling (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="1461" cy="451.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="1470" y="454.4292">urtThreadGetParent (thread : urt_osThread_t*) : urt_osThread_t*</text><!--MD5=[0a4e0f34d8da0ad3ed6ecf72f02e09c8]
21
class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="3414" y="565.4063"/><ellipse cx="3491.25" cy="581.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3492.0938,588.1563 L3489.6406,588.1563 L3489.6406,577.9063 L3486.5,577.9063 L3486.5,575.7656 L3495.2344,575.7656 L3495.2344,577.9063 L3492.0938,577.9063 L3492.0938,588.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="3511.75" y="585.5605">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3415" x2="3693" y1="597.4063" y2="597.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="268" x="3420" y="611.6167">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3415" x2="3693" y1="618.2109" y2="618.2109"/><!--MD5=[dc1cc33af288560680c15dec1e56eda0]
22
class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="4135" y="730.9063"/><ellipse cx="4150" cy="746.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4150.8438,753.6563 L4148.3906,753.6563 L4148.3906,743.4063 L4145.25,743.4063 L4145.25,741.2656 L4153.9844,741.2656 L4153.9844,743.4063 L4150.8438,743.4063 L4150.8438,753.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4164" y="751.0605">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4136" x2="4284" y1="762.9063" y2="762.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4136" x2="4284" y1="770.9063" y2="770.9063"/><!--MD5=[e2bbbd64e6979bf7b755747a6c0ba948]
23
class urt_osEventWait_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="86.4141" id="urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="3766" y="552.9063"/><ellipse cx="3789.1" cy="568.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3793.2094,574.9063 L3785.4906,574.9063 L3785.4906,562.5156 L3793.2094,562.5156 L3793.2094,564.6719 L3787.9438,564.6719 L3787.9438,567.3438 L3792.7094,567.3438 L3792.7094,569.5 L3787.9438,569.5 L3787.9438,572.75 L3793.2094,572.75 L3793.2094,574.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="3804.9" y="573.0605">urt_osEventWait_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3767" x2="3927" y1="584.9063" y2="584.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="3772" y="599.1167">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="3772" y="611.9214">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="3772" y="624.7261">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3767" x2="3927" y1="631.3203" y2="631.3203"/><!--MD5=[d054ac2eda12ce4b1fe5a18c9be716c1]
24
class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="3963" y="552.9063"/><ellipse cx="4138.25" cy="568.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4139.0938,575.6563 L4136.6406,575.6563 L4136.6406,565.4063 L4133.5,565.4063 L4133.5,563.2656 L4142.2344,563.2656 L4142.2344,565.4063 L4139.0938,565.4063 L4139.0938,575.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="4158.75" y="573.0605">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3964" x2="4456" y1="584.9063" y2="584.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3964" x2="4456" y1="592.9063" y2="592.9063"/><ellipse cx="3974" cy="603.9063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="341" x="3983" y="607.1167">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="3974" cy="616.7109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="458" x="3983" y="619.9214">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="3974" cy="629.5156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="468" x="3983" y="632.7261">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--MD5=[4d6906f8b977dc26629fa492460e6327]
25
class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#fm4jpltjyo5jv)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="4492.5" y="558.9063"/><ellipse cx="4697.25" cy="574.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4698.0938,581.6563 L4695.6406,581.6563 L4695.6406,571.4063 L4692.5,571.4063 L4692.5,569.2656 L4701.2344,569.2656 L4701.2344,571.4063 L4698.0938,571.4063 L4698.0938,581.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="4717.75" y="579.0605">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4493.5" x2="5038.5" y1="590.9063" y2="590.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4493.5" x2="5038.5" y1="598.9063" y2="598.9063"/><ellipse cx="4503.5" cy="609.9063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="325" x="4512.5" y="613.1167">urtEventSourceInit (source : urt_osEventSource_t*) : v