Revision 4d55cea4

View differences:

doc/classdiagrams/config.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="290px" preserveAspectRatio="none" style="width:308px;height:290px;" version="1.1" viewBox="0 0 308 290" width="308px" zoomAndPan="magnify"><defs><filter height="300%" id="fvia6mr5z56ky" 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="107.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="120" x="92" y="37.6611">Configuration</text><!--MD5=[e443ac33c80100c2d54e1f5fe669f6d7]
2
class urt_config--><rect fill="#FEFECE" filter="url(#fvia6mr5z56ky)" height="230.4609" id="urt_config" style="stroke: #A80036; stroke-width: 1.5;" width="290" x="7" y="48.9063"/><ellipse cx="116.75" cy="64.9063" fill="#BFBFBF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M119.7188,70.5469 Q119.1406,70.8438 118.5,70.9844 Q117.8594,71.1406 117.1563,71.1406 Q114.6563,71.1406 113.3281,69.5 Q112.0156,67.8438 112.0156,64.7188 Q112.0156,61.5938 113.3281,59.9375 Q114.6563,58.2813 117.1563,58.2813 Q117.8594,58.2813 118.5,58.4375 Q119.1563,58.5938 119.7188,58.8906 L119.7188,61.6094 Q119.0938,61.0313 118.5,60.7656 Q117.9063,60.4844 117.2813,60.4844 Q115.9375,60.4844 115.25,61.5625 Q114.5625,62.625 114.5625,64.7188 Q114.5625,66.8125 115.25,67.8906 Q115.9375,68.9531 117.2813,68.9531 Q117.9063,68.9531 118.5,68.6875 Q119.0938,68.4063 119.7188,67.8281 L119.7188,70.5469 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="137.25" y="69.0605">urt_config</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8" x2="296" y1="80.9063" y2="80.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="159" x="13" y="95.1167">URT_CFG_DELAY_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="13" y="107.9214">URT_CFG_TOPICID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="13" y="120.7261">URT_CFG_SERVICEID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="13" y="133.5308">URT_CFG_NODESTAGE_WIDTH : int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="296" y1="140.125" y2="140.125"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="13" y="154.3354">URT_CFG_DEBUG_ENABLED : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="296" y1="160.9297" y2="160.9297"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="13" y="175.1401">URT_CFG_PUBSUB_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="13" y="187.9448">URT_CFG_PUBSUB_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="13" y="200.7495">URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="252" x="13" y="213.5542">URT_CFG_PUBSUB_QOS_RATECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="13" y="226.3589">URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="296" y1="232.9531" y2="232.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="13" y="247.1636">URT_CFG_RPC_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="13" y="259.9683">URT_CFG_RPC_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="13" y="272.7729">URT_CFG_RPC_QOS_JITTERCHECKS : bool</text><!--MD5=[fa463d24fc3844a76136af04696c4d0a]
3
@startuml
4

  
5
title **µRtWare**\nConfiguration
6

  
7

  
8

  
9

  
10

  
11

  
12

  
13

  
14

  
15

  
16

  
17

  
18

  
19
  class urt_config <<C,BFBFBF>> {
20
  URT_CFG_DELAY_WIDTH : int
21
  URT_CFG_TOPICID_WIDTH : int
22
  URT_CFG_SERVICEID_WIDTH : int
23
  URT_CFG_NODESTAGE_WIDTH : int
24
  ..
25
  URT_CFG_DEBUG_ENABLED : bool
26
  ..
27
  URT_CFG_PUBSUB_ENABLED : bool
28
  URT_CFG_PUBSUB_PROFILING : bool
29
  URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool
30
  URT_CFG_PUBSUB_QOS_RATECHECKS : bool
31
  URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool
32
  ..
33
  URT_CFG_RPC_ENABLED : bool
34
  URT_CFG_RPC_PROFILING : bool
35
  URT_CFG_RPC_QOS_JITTERCHECKS : bool
36
}
37

  
38

  
39

  
40

  
41

  
42
@enduml
43

  
44
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
45
(GPL source distribution)
46
Java Runtime: OpenJDK Runtime Environment
47
JVM: OpenJDK 64-Bit Server VM
48
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
49
Operating System: Linux
50
Default Encoding: UTF-8
51
Language: en
52
Country: US
53
--></g></svg>
doc/classdiagrams/config.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7

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

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

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

  
22
/'### INTRO ##################################################################'/
23

  
24
@startuml
25

  
26
title **µRtWare**\nConfiguration
27

  
28
!include ../functions.iuml
29

  
30
/'### ENTITIES ###############################################################'/
31

  
32
!startsub ENTITIES
33

  
34
/' Not a type but a set of configuration macros. '/
35
$configuration("urt_config") {
36
    'Selector to specify the width of urt_delay_t type (32 or 64).
37
  URT_CFG_DELAY_WIDTH : int
38
    'Selector to specify the width of the urt_topicid_t type (8, 16, 32 or 64).
39
  URT_CFG_TOPICID_WIDTH : int
40
    'Selector to specify the width of the urt_serviceid_t type (8, 16, 32 or 64).
41
  URT_CFG_SERVICEID_WIDTH : int
42
    'Selector to specify the width of the urt_nodestage_t type (8, 16, 32 or 64).
43
  URT_CFG_NODESTAGE_WIDTH : int
44
  ..
45
    'Selection to en-/disable debug checks.
46
  URT_CFG_DEBUG_ENABLED : bool
47
  ..
48
    'Selection ed-/disable publush-subscribe functionality.
49
  URT_CFG_PUBSUB_ENABLED : bool
50
    'Selection to en-/disable profiling for publish-subscribe.
51
  URT_CFG_PUBSUB_PROFILING : bool
52
    'Selection to en-/disable QoS deadline checks (e.g. timers) for publish-subscribe.
53
  URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool
54
    'Selection to en-/disable QoS rate checks (e.g. timers) for publish-subscribe.
55
  URT_CFG_PUBSUB_QOS_RATECHECKS : bool
56
    'Selection to en-/disable QoS jitter checks for publish-subscribe.
57
  URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool
58
  ..
59
    'Selection to en-/disable RPC functionality.
60
  URT_CFG_RPC_ENABLED : bool
61
    'Selection to en-/disable profiling of RPCs.
62
  URT_CFG_RPC_PROFILING : bool
63
    'Selection to en-/disable QoS jitter checks for RPCs.
64
  URT_CFG_RPC_QOS_JITTERCHECKS : bool
65
}
66

  
67
!endsub
68

  
69
/'### DEPENDENCIES & LAYOUT ##################################################'/
70

  
71
!startsub DEPENDENCIES
72
!endsub
73

  
74
/'### OUTRO ##################################################################'/
75

  
76
@enduml
77

  
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="759px" preserveAspectRatio="none" style="width:5287px;height:759px;" version="1.1" viewBox="0 0 5287 759" width="5287px" zoomAndPan="magnify"><defs><filter height="300%" id="f1o4xjkf1sw9ns" 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="2606.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="387" x="2457.5" y="37.6611">Operating System Abstraction Layer (OSAL)</text><!--MD5=[2e45f233f6bb64aa81ebe67fb6de8946]
2
cluster condition variable--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="431.5" style="stroke: #000000; stroke-width: 1.5;" width="726" x="14" y="177.4063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="307" y="192.4014">condition variable</text><!--MD5=[c7113df1f710ca294cbd01734aa00974]
3
cluster timer--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="425.5" style="stroke: #000000; stroke-width: 1.5;" width="798" x="2817" y="170.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="3195.5" y="185.9014">timer</text><!--MD5=[107bb3f79455a18bd83c75ada1ac7979]
4
cluster thread--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="583" style="stroke: #000000; stroke-width: 1.5;" width="1039" x="1073" y="57.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="1566.5" y="72.9014">thread</text><!--MD5=[8d74b40516bd265adb19f202ab81f40d]
5
cluster events--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="565" style="stroke: #000000; stroke-width: 1.5;" width="1642" x="3634" y="183.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="4428" y="198.9014">events</text><!--MD5=[52fa11869cb40c93fa7702378ddd839e]
6
class urt_osCondvarWaitStatus_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="242" y="514.9063"/><ellipse cx="288.25" cy="530.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M292.3594,536.9063 L284.6406,536.9063 L284.6406,524.5156 L292.3594,524.5156 L292.3594,526.6719 L287.0938,526.6719 L287.0938,529.3438 L291.8594,529.3438 L291.8594,531.5 L287.0938,531.5 L287.0938,534.75 L292.3594,534.75 L292.3594,536.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="169" x="308.75" y="535.0605">urt_osCondvarWaitStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="511" y1="546.9063" y2="546.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="248" y="561.1167">URT_CONDVAR_WAITSTATUS_SIGNAL = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="248" y="573.9214">URT_CONDVAR_WAITSTATUS_BROADCAST = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="248" y="586.7261">URT_CONDVAR_WAITSTATUS_TIMEOUT = 0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="511" y1="593.3203" y2="593.3203"/><!--MD5=[004fc5dee471033e8e4138c1c73f0692]
7
class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="710" x="22" y="204.4063"/><ellipse cx="322.25" cy="220.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M323.0938,227.1563 L320.6406,227.1563 L320.6406,216.9063 L317.5,216.9063 L317.5,214.7656 L326.2344,214.7656 L326.2344,216.9063 L323.0938,216.9063 L323.0938,227.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="342.75" y="224.5605">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23" x2="731" y1="236.4063" y2="236.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23" x2="731" y1="244.4063" y2="244.4063"/><ellipse cx="33" cy="255.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="258.6167">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="268.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="271.4214">urtCondvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="281.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="284.2261">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="293.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="297.0308">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t</text><!--MD5=[93799a03260ba286abda700174f4f205]
8
class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="3073" y="527.4063"/><ellipse cx="3143.75" cy="543.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3144.5938,550.1563 L3142.1406,550.1563 L3142.1406,539.9063 L3139,539.9063 L3139,537.7656 L3147.7344,537.7656 L3147.7344,539.9063 L3144.5938,539.9063 L3144.5938,550.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="3164.25" y="547.5605">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3074" x2="3358" y1="559.4063" y2="559.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3074" x2="3358" y1="567.4063" y2="567.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="3079" y="581.6167">urt_osTimerCallback_t (parameter : void*) : void</text><!--MD5=[0b340d7b925b1eab6a1b7e084f68a7c2]
9
class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="112.0234" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="782" x="2825" y="197.9063"/><ellipse cx="3169.75" cy="213.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3170.5938,220.6563 L3168.1406,220.6563 L3168.1406,210.4063 L3165,210.4063 L3165,208.2656 L3173.7344,208.2656 L3173.7344,210.4063 L3170.5938,210.4063 L3170.5938,220.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="3190.25" y="218.0605">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2826" x2="3606" y1="229.9063" y2="229.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2826" x2="3606" y1="237.9063" y2="237.9063"/><ellipse cx="2836" cy="248.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="2845" y="252.1167">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="2836" cy="261.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="2845" y="264.9214">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="2836" cy="274.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="2845" y="277.7261">urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="2836" cy="287.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="2845" y="290.5308">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="2836" cy="300.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="2845" y="303.3354">urtTimerIsArmed (timer : urt_osTimer_t*) : bool</text><!--MD5=[86c16d91227b9a9ec3b6b9b0285de4e9]
10
class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="150.4375" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1081.5" y="482.9063"/><ellipse cx="1117.65" cy="498.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1118.4938,505.6563 L1116.0406,505.6563 L1116.0406,495.4063 L1112.9,495.4063 L1112.9,493.2656 L1121.6344,493.2656 L1121.6344,495.4063 L1118.4938,495.4063 L1118.4938,505.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1136.35" y="503.0605">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1082.5" x2="1277.5" y1="514.9063" y2="514.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="1087.5" y="529.1167">URT_THREAD_PRIO_LOW_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="1087.5" y="541.9214">URT_THREAD_PRIO_LOW_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="1087.5" y="554.7261">URT_THREAD_PRIO_NORMAL_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="1087.5" y="567.5308">URT_THREAD_PRIO_NORMAL_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="164" x="1087.5" y="580.3354">URT_THREAD_PRIO_HIGH_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="1087.5" y="593.1401">URT_THREAD_PRIO_HIGH_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="1087.5" y="605.9448">URT_THREAD_PRIO_RT_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="1087.5" y="618.7495">URT_THREAD_PRIO_RT_MAX</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1082.5" x2="1277.5" y1="625.3438" y2="625.3438"/><!--MD5=[69d8aab9aa387a2f5052ea3da80e80ea]
11
class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1314" y="527.4063"/><ellipse cx="1361.75" cy="543.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1362.5938,550.1563 L1360.1406,550.1563 L1360.1406,539.9063 L1357,539.9063 L1357,537.7656 L1365.7344,537.7656 L1365.7344,539.9063 L1362.5938,539.9063 L1362.5938,550.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="1382.25" y="547.5605">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1315" x2="1565" y1="559.4063" y2="559.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1315" x2="1565" y1="567.4063" y2="567.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="1320" y="581.6167">urt_osThreadFunction_t (arg : void*) : void</text><!--MD5=[ab5f611d45c3fa10609c33f780d8c3e1]
12
class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="1601" y="520.9063"/><ellipse cx="1622.75" cy="536.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1626.8594,542.9063 L1619.1406,542.9063 L1619.1406,530.5156 L1626.8594,530.5156 L1626.8594,532.6719 L1621.5938,532.6719 L1621.5938,535.3438 L1626.3594,535.3438 L1626.3594,537.5 L1621.5938,537.5 L1621.5938,540.75 L1626.8594,540.75 L1626.8594,542.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="1638.25" y="541.0605">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1842" y1="552.9063" y2="552.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="1607" y="567.1167">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1607" y="579.9214">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1842" y1="586.5156" y2="586.5156"/><!--MD5=[47d14ad2c233fae1b32b8d0a283e820a]
13
class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="137.6328" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="1878" y="488.9063"/><ellipse cx="1922.75" cy="504.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1926.8594,510.9063 L1919.1406,510.9063 L1919.1406,498.5156 L1926.8594,498.5156 L1926.8594,500.6719 L1921.5938,500.6719 L1921.5938,503.3438 L1926.3594,503.3438 L1926.3594,505.5 L1921.5938,505.5 L1921.5938,508.75 L1926.8594,508.75 L1926.8594,510.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="1943.25" y="509.0605">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1879" x2="2103" y1="520.9063" y2="520.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="1884" y="535.1167">URT_THREAD_STATE_INACTIVE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="1884" y="547.9214">URT_THREAD_STATE_RUNNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="1884" y="560.7261">URT_THREAD_STATE_READY = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="1884" y="573.5308">URT_THREAD_STATE_SLEEPING = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="1884" y="586.3354">URT_THREAD_STATE_SUSPENDED = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="1884" y="599.1401">URT_THREAD_STATE_WAITING = 5</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="1884" y="611.9448">URT_THREAD_STATE_TERMINATED = 6</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1879" x2="2103" y1="618.5391" y2="618.5391"/><!--MD5=[0a16224ede9ffa9bb2d34e085a076e6d]
14
class urt_osThread_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="337.7031" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="560" x="1442" y="84.9063"/><ellipse cx="1670.75" cy="100.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1671.5938,107.6563 L1669.1406,107.6563 L1669.1406,97.4063 L1666,97.4063 L1666,95.2656 L1674.7344,95.2656 L1674.7344,97.4063 L1671.5938,97.4063 L1671.5938,107.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="1691.25" y="105.0605">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1443" x2="2001" y1="116.9063" y2="116.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="1448" y="131.1167">URT_THREAD_SLEEP_MAX : float</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1448" 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="1448" 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="1448" y="169.5308">URT_THREAD_USLEEP_MAX : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1443" x2="2001" y1="176.125" y2="176.125"/><ellipse cx="1453" 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="1462" y="190.3354">URT_THREAD_MEMORY (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1443" x2="2001" y1="196.9297" y2="196.9297"/><ellipse cx="1453" 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="1462" y="211.1401">urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*</text><ellipse cx="1453" 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="1462" y="223.9448">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="1453" 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="1462" y="236.7495">urtThreadYield (void) : void</text><ellipse cx="1453" 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="1462" y="249.5542">urtThreadGetPriority (void) : urt_osThreadPrio_t</text><ellipse cx="1453" 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="1462" y="262.3589">urtThreadSetPriority (prio : urt_osThreadPrio_t) : void</text><ellipse cx="1453" 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="1462" y="275.1636">urtThreadSuspend (thread : urt_osThread_t*) : void</text><ellipse cx="1453" 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="1462" y="287.9683">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="1453" 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="1462" y="300.7729">urtThreadSleep (seconds : float) : void</text><ellipse cx="1453" 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="1462" y="313.5776">urtThreadSSleep (seconds : urt_delay_t) : void</text><ellipse cx="1453" 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="1462" y="326.3823">urtThreadMSleep (milliseconds : urt_delay_t) : void</text><ellipse cx="1453" 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="1462" y="339.187">urtThreadUSleep (microseconds : urt_delay_t) : void</text><ellipse cx="1453" 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="1462" y="351.9917">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="1453" 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="1462" y="364.7964">urtThreadExit (void) : void</text><ellipse cx="1453" 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="1462" y="377.6011">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="1453" 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="1462" y="390.4058">urtThreadJoin (thread : urt_osThread_t*) : void</text><ellipse cx="1453" 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="1462" y="403.2104">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="1453" 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="1462" y="416.0151">urtThreadGetSelf (void) : urt_osThread_t*</text><!--MD5=[0a4e0f34d8da0ad3ed6ecf72f02e09c8]
15
class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="3642" y="527.4063"/><ellipse cx="3719.25" cy="543.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3720.0938,550.1563 L3717.6406,550.1563 L3717.6406,539.9063 L3714.5,539.9063 L3714.5,537.7656 L3723.2344,537.7656 L3723.2344,539.9063 L3720.0938,539.9063 L3720.0938,550.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="3739.75" y="547.5605">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="3921" y1="559.4063" y2="559.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="268" x="3648" y="573.6167">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="3921" y1="580.2109" y2="580.2109"/><!--MD5=[dc1cc33af288560680c15dec1e56eda0]
16
class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="4363" y="692.9063"/><ellipse cx="4378" cy="708.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4378.8438,715.6563 L4376.3906,715.6563 L4376.3906,705.4063 L4373.25,705.4063 L4373.25,703.2656 L4381.9844,703.2656 L4381.9844,705.4063 L4378.8438,705.4063 L4378.8438,715.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4392" y="713.0605">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4364" x2="4512" y1="724.9063" y2="724.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4364" x2="4512" y1="732.9063" y2="732.9063"/><!--MD5=[e2bbbd64e6979bf7b755747a6c0ba948]
17
class urt_osEventWait_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="3994" y="514.9063"/><ellipse cx="4017.1" cy="530.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4021.2094,536.9063 L4013.4906,536.9063 L4013.4906,524.5156 L4021.2094,524.5156 L4021.2094,526.6719 L4015.9438,526.6719 L4015.9438,529.3438 L4020.7094,529.3438 L4020.7094,531.5 L4015.9438,531.5 L4015.9438,534.75 L4021.2094,534.75 L4021.2094,536.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="4032.9" y="535.0605">urt_osEventWait_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3995" x2="4155" y1="546.9063" y2="546.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="4000" y="561.1167">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="4000" y="573.9214">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="4000" y="586.7261">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3995" x2="4155" y1="593.3203" y2="593.3203"/><!--MD5=[d054ac2eda12ce4b1fe5a18c9be716c1]
18
class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="4191" y="514.9063"/><ellipse cx="4366.25" cy="530.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4367.0938,537.6563 L4364.6406,537.6563 L4364.6406,527.4063 L4361.5,527.4063 L4361.5,525.2656 L4370.2344,525.2656 L4370.2344,527.4063 L4367.0938,527.4063 L4367.0938,537.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="4386.75" y="535.0605">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4192" x2="4684" y1="546.9063" y2="546.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4192" x2="4684" y1="554.9063" y2="554.9063"/><ellipse cx="4202" cy="565.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="4211" y="569.1167">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="4202" cy="578.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="4211" y="581.9214">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="4202" cy="591.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="4211" y="594.7261">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--MD5=[4d6906f8b977dc26629fa492460e6327]
19
class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="4720.5" y="520.9063"/><ellipse cx="4925.25" cy="536.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4926.0938,543.6563 L4923.6406,543.6563 L4923.6406,533.4063 L4920.5,533.4063 L4920.5,531.2656 L4929.2344,531.2656 L4929.2344,533.4063 L4926.0938,533.4063 L4926.0938,543.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="4945.75" y="541.0605">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4721.5" x2="5266.5" y1="552.9063" y2="552.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4721.5" x2="5266.5" y1="560.9063" y2="560.9063"/><ellipse cx="4731.5" cy="571.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="4740.5" y="575.1167">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="4731.5" cy="584.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="521" x="4740.5" y="587.9214">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--MD5=[04a3b5a37031e2a4d723f19d8adf86f5]
20
class urt_events--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="890" x="3642" y="210.9063"/><ellipse cx="4049.75" cy="226.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4053.9844,222.6719 L4048.7031,222.6719 L4048.7031,225.3438 L4053.5,225.3438 L4053.5,227.5 L4048.7031,227.5 L4048.7031,232.9063 L4046.2656,232.9063 L4046.2656,220.5156 L4053.9844,220.5156 L4053.9844,222.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="4070.25" y="231.0605">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="4531" y1="242.9063" y2="242.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="4531" y1="250.9063" y2="250.9063"/><ellipse cx="3653" cy="261.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="864" x="3662" y="265.1167">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t</text><ellipse cx="3653" cy="274.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="567" x="3662" y="277.9214">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text>&