[processor-sdk/performance-audio-sr.git] / ipc_3_43_00_00_eng / docs / cdoc / ti / sdo / ipc / interfaces / IGateMPSupport.html
1 <html>
2 <head>
3 <title>interface ti.sdo.ipc.interfaces.IGateMPSupport</title>
4 <link rel="stylesheet" type="text/css" href="../../../../xdoc.css" />
5 </head>
6 <body><div id="xdocWrapper"><div id="xdocContent">
7 <table class="xdocHdr"><tr>
8 <td class="xdocHdrTitle"><span class="xdoc-kw1">interface</span> <span class="xdoc-id">ti.sdo.ipc.interfaces.</span><span class="xdoc-id">IGateMPSupport</span></td>
9 <td class="xdocHdrArrow">
10 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/package.html" title="package ti.sdo.ipc.interfaces"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
11 <td class="xdocHdrArrow">
12 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_right.png"/></a></td>
13 </table>
14 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html">index URL</a></div>
15 <ul class="xdocToc">
16 <li class="xdocToc"><a class="xdocToc" href="#spec-synop">Specification synopsis</a></li>
17 <li class="xdocToc2"><a class="xdocToc" href="#xdocElems">Individual elements</a></li>
18 </ul>
19 <table class="xdocLabel"><tr>
20 <td class="xdocLabelLeft"><tt><span class="xdoc-id">XDCspec</span></tt> summary</td>
21 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
22 </tr></table>
23 <div class="xdocSynX">
24 <div class="xdocSynCode">
25 <tt></tt><span class="xdoc-kw1">interface</span> <span class="xdoc-id">IGateMPSupport</span> {<b> ...</b>
26 </div>
27 <div class='xdocSynSum'><tt></tt>// inherits <a class="xdoc-link" href="../../../../xdc/runtime/IGateProvider.html" title="xdc.runtime.IGateProvider">xdc.runtime.IGateProvider</a></div>
28 <div class='xdocSynSum'><tt> </tt>// inherits <a class="xdoc-link" href="../../../../xdc/runtime/IModule.html" title="xdc.runtime.IModule">xdc.runtime.IModule</a></div>
29 <div class="xdocSynCode">
30 <tt></tt><span class="xdoc-kw1">instance</span>:<b> ...</b>
31 </div>
32 </div>
33 <span id='spec-synop'></span>
34 <table class="xdocLabel"><tr>
35 <td class="xdocLabelLeft"><tt><span class="xdoc-id">XDCspec</span></tt> declarations</td>
36 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
37 </tr></table>
38 <div class="xdocSynX">
39 <div class="xdocSynCode">
40 <tt></tt><span class="xdoc-kw1">package</span> <a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/package.html" title="ti.sdo.ipc.interfaces">ti.sdo.ipc.interfaces</a>;
41 </div>
42 <div class="xdocSynSpacer"> </div>
43 <div class="xdocSynCode">
44 <tt></tt><span class="xdoc-kw1">interface</span> <span class="xdoc-id">IGateMPSupport</span><span class="xdoc-kw1"> inherits </span><a class="xdoc-link" href="../../../../xdc/runtime/IGateProvider.html" title="xdc.runtime.IGateProvider">IGateProvider</a> {
45 </div>
46 <div class='xdocSynHdr'>module-wide constants & types</div>
48 <div class="xdocSynCode">
49 <tt> </tt><tt></tt><span class="xdoc-kw1">const</span> <span class="xdoc-kw2">Int</span> <a class="xdocSynGo" href="#.Q_.B.L.O.C.K.I.N.G"><span class="xdoc-id">Q_BLOCKING</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Blocking quality</span></span></a> = 1;
50 </div>
51 <div class="xdocSynCode">
52 <tt> </tt><tt></tt><span class="xdoc-kw1">const</span> <span class="xdoc-kw2">Int</span> <a class="xdocSynGo" href="#.Q_.P.R.E.E.M.P.T.I.N.G"><span class="xdoc-id">Q_PREEMPTING</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Preempting quality</span></span></a> = 2;
53 </div>
54 <div class='xdocSynHdr'>module-wide config parameters</div>
56 <div class="xdocSynCode">
57 <tt> </tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw1">config</span> <a class="xdoc-link" href="../../../../xdc/runtime/Types.html#.Common$" title="xdc.runtime.Types.Common$">Types.Common$</a> <a class="xdocSynGo" href="#common$"><span class="xdoc-id">common$</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Common module configuration parameters</span></span></a>;
58 </div>
59 <div class='xdocSynHdr'>module-wide functions</div>
61 <div class="xdocSynCode">
62 <tt> </tt><tt></tt><span class="xdoc-kw2">Bool</span> <a class="xdocSynGo" href="#query"><span class="xdoc-id">query</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Runtime test for a particular gate quality</span></span></a>(<span class="xdoc-kw2">Int</span> <span class="xdoc-id">qual</span>);
63 </div>
64 <div class="xdocSynCode">
65 <tt> </tt><tt></tt><span class="xdoc-kw2">SizeT</span> <a class="xdocSynGo" href="#shared.Mem.Req"><span class="xdoc-id">sharedMemReq</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Amount of shared memory required for creation of each instance</span></span></a>(<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html#per-instance_config_parameters" title="ti.sdo.ipc.interfaces.IGateMPSupport.Params">IGateMPSupport.Params</a> *<span class="xdoc-id">params</span>);
66 </div>
67 <div class="xdocSynSpacer"> </div>
68 <div class="xdocSynCode">
69 <tt> </tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw2">UInt</span> <a class="xdocSynGo" href="#get.Num.Resources"><span class="xdoc-id">getNumResources</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Returns the number of resources offered by the GateMP delegate</span></span></a>();
70 </div>
71 <div class="xdocSynCode">
72 <tt> </tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw2">Bool</span> <a class="xdocSynGo" href="#query.Meta"><span class="xdoc-id">queryMeta</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Configuration time test for a particular gate quality</span></span></a>(<span class="xdoc-kw2">Int</span> <span class="xdoc-id">qual</span>);
73 </div>
74 <div class="xdocSynSpacer"> </div>
75 <div class="xdocSynSpacer"> </div>
76 <div class="xdocSynCode">
77 <tt></tt><tt></tt><span class="xdoc-kw1">instance</span>:
78 </div>
79 <div class='xdocSynHdr'>per-instance config parameters</div>
81 <div class="xdocSynCode">
82 <tt> </tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">UInt</span> <a class="xdocSynGo" href="#resource.Id"><span class="xdoc-id">resourceId</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Logical resource id</span></span></a> = 0;
83 </div>
84 <div class="xdocSynCode">
85 <tt> </tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">Ptr</span> <a class="xdocSynGo" href="#shared.Addr"><span class="xdoc-id">sharedAddr</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Physical address of the shared memory</span></span></a> = <span class="xdoc-kw2">null</span>;
86 </div>
87 <div class='xdocSynHdr'>per-instance creation</div>
89 <div class="xdocSynCode">
90 <tt> </tt><tt></tt><a class="xdocSynGo" href="#per-instance_creation"><span class="xdoc-id">create</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Create an instance-object</span></span></a>(<a class="xdoc-link" href="../../../../xdc/runtime/IGateProvider.html#per-instance_object_types" title="xdc.runtime.IGateProvider.Handle">IGateProvider.Handle</a> <span class="xdoc-id">localGate</span>);
91 </div>
92 <div class='xdocSynHdr'>per-instance functions</div>
94 <div class="xdocSynCode">
95 <tt> </tt><tt></tt><span class="xdoc-kw2">IArg</span> <a class="xdocSynGo" href="#enter"><span class="xdoc-id">enter</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Enter this gate</span></span></a>();
96 </div>
97 <div class="xdocSynCode">
98 <tt> </tt><tt></tt><span class="xdoc-kw2">Void</span> <a class="xdocSynGo" href="#leave"><span class="xdoc-id">leave</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Leave this gate</span></span></a>(<span class="xdoc-kw2">IArg</span> <span class="xdoc-id">key</span>);
99 </div>
100 <div class="xdocSynCode">
101 <tt></tt>}
102 </div>
103 </div>
104 <div id="xdocSep">
105 </div>
106 <div id="xdocElems">
107 <div class="xdocSynSpacer"> </div>
108 <a class="xdocAnchor" id=".Q_.B.L.O.C.K.I.N.G"></a>
109 <table class="xdocHdr"><tr>
110 <td class="xdocHdrTitle"><span class="xdoc-kw1">const</span> <span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">Q_BLOCKING</span></td>
111 <td class="xdocHdrArrow">
112 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
113 </table>
114 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#.Q_.B.L.O.C.K.I.N.G">index URL</a></div>
115 <p class="xdocHdrSummaryDcl">Blocking quality</p>
116 <span id='spec-synop'></span>
117 <table class="xdocLabel"><tr>
118 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
119 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
120 </tr></table>
121 <div class="xdocSynXdcl">
122 <div class="xdocSynCode">
123 <tt></tt><tt></tt><span class="xdoc-kw1">const</span> <span class="xdoc-kw2">Int</span> <span class="xdoc-id">Q_BLOCKING</span> = 1;
124 </div>
125 </div>
126 <div class="xdocSynSpacer"> </div>
127 <span id="xdoc-sect-1"></span>
128 <div class="xdocSect">DETAILS</div>
129 <div class="xdocText">Gates with this "quality" may cause the calling thread to block;
130 i.e., suspend execution until another thread leaves the gate.</div>
131 <div class="xdocSynSpacer"> </div>
132 <a class="xdocAnchor" id=".Q_.P.R.E.E.M.P.T.I.N.G"></a>
133 <table class="xdocHdr"><tr>
134 <td class="xdocHdrTitle"><span class="xdoc-kw1">const</span> <span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">Q_PREEMPTING</span></td>
135 <td class="xdocHdrArrow">
136 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
137 </table>
138 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#.Q_.P.R.E.E.M.P.T.I.N.G">index URL</a></div>
139 <p class="xdocHdrSummaryDcl">Preempting quality</p>
140 <span id='spec-synop'></span>
141 <table class="xdocLabel"><tr>
142 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
143 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
144 </tr></table>
145 <div class="xdocSynXdcl">
146 <div class="xdocSynCode">
147 <tt></tt><tt></tt><span class="xdoc-kw1">const</span> <span class="xdoc-kw2">Int</span> <span class="xdoc-id">Q_PREEMPTING</span> = 2;
148 </div>
149 </div>
150 <div class="xdocSynSpacer"> </div>
151 <span id="xdoc-sect-1"></span>
152 <div class="xdocSect">DETAILS</div>
153 <div class="xdocText">Gates with this "quality" allow other threads to preempt the thread
154 that has already entered the gate.</div>
155 <div class="xdocSynSpacer"> </div>
156 <a class="xdocAnchor" id="common$"></a>
157 <table class="xdocHdr"><tr>
158 <td class="xdocHdrTitle"><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw1">config</span> <span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">common$</span> <small><span class="xdocSynSum">// module-wide</span></small></td>
159 <td class="xdocHdrArrow">
160 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
161 </table>
162 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#common$">index URL</a></div>
163 <p class="xdocHdrSummaryDcl">Common module configuration parameters</p>
164 <span id='spec-synop'></span>
165 <table class="xdocLabel"><tr>
166 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
167 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
168 </tr></table>
169 <div class="xdocSynXdcl">
170 <div class="xdocSynCode">
171 <tt></tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw1">config</span> <a class="xdoc-link" href="../../../../xdc/runtime/Types.html#.Common$" title="xdc.runtime.Types.Common$">Types.Common$</a> <span class="xdoc-id">common$</span>;
172 </div>
173 </div>
174 <div class="xdocSynSpacer"> </div>
175 <span id="xdoc-sect-1"></span>
176 <div class="xdocSect">DETAILS</div>
177 <div class="xdocText">All modules have this configuration parameter. Its name
178 contains the '$' character to ensure it does not conflict with
179 configuration parameters declared by the module. This allows
180 new configuration parameters to be added in the future without
181 any chance of breaking existing modules.</div>
182 <div class="xdocSynSpacer"> </div>
183 <a class="xdocAnchor" id="query"></a>
184 <table class="xdocHdr"><tr>
185 <td class="xdocHdrTitle"><span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">query</span>() <small><span class="xdocSynSum">// module-wide</span></small></td>
186 <td class="xdocHdrArrow">
187 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
188 </table>
189 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#query">index URL</a></div>
190 <p class="xdocHdrSummaryDcl">Runtime test for a particular gate quality</p>
191 <span id='spec-synop'></span>
192 <table class="xdocLabel"><tr>
193 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
194 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
195 </tr></table>
196 <div class="xdocSynXdcl">
197 <div class="xdocSynCode">
198 <tt></tt><tt></tt><span class="xdoc-kw2">Bool</span> <span class="xdoc-id">query</span>(<span class="xdoc-kw2">Int</span> <span class="xdoc-id">qual</span>);
199 </div>
200 </div>
201 <div class="xdocSynSpacer"> </div>
202 <span id="xdoc-sect-1"></span>
203 <div class="xdocSect">ARGUMENTS</div>
204 <div class="xdocChild"><span class="xdocChildId">qual</span>
205 <span class="xdocChildSum">— constant describing a quality</span>
206 </div>
207 <span id="xdoc-sect-2"></span>
208 <div class="xdocSect">RETURNS</div>
209 <div class="xdocText">Returns <tt>TRUE</tt> if the gate has the given quality,
210 and <tt>FALSE</tt> otherwise, which includes the case when the gate does not
211 recognize the constant describing the quality.</div>
212 <div class="xdocSynSpacer"> </div>
213 <a class="xdocAnchor" id="shared.Mem.Req"></a>
214 <table class="xdocHdr"><tr>
215 <td class="xdocHdrTitle"><span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">sharedMemReq</span>() <small><span class="xdocSynSum">// module-wide</span></small></td>
216 <td class="xdocHdrArrow">
217 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
218 </table>
219 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#shared.Mem.Req">index URL</a></div>
220 <p class="xdocHdrSummaryDcl">Amount of shared memory required for creation of each instance</p>
221 <span id='spec-synop'></span>
222 <table class="xdocLabel"><tr>
223 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
224 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
225 </tr></table>
226 <div class="xdocSynXdcl">
227 <div class="xdocSynCode">
228 <tt></tt><tt></tt><span class="xdoc-kw2">SizeT</span> <span class="xdoc-id">sharedMemReq</span>(<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html#per-instance_config_parameters" title="ti.sdo.ipc.interfaces.IGateMPSupport.Params">IGateMPSupport.Params</a> *<span class="xdoc-id">params</span>);
229 </div>
230 </div>
231 <div class="xdocSynSpacer"> </div>
232 <span id="xdoc-sect-1"></span>
233 <div class="xdocSect">ARGUMENTS</div>
234 <div class="xdocChild"><span class="xdocChildId">params</span>
235 <span class="xdocChildSum">— Pointer to the parameters that will be used in
236 the create.</span>
237 </div>
238 <span id="xdoc-sect-2"></span>
239 <div class="xdocSect">DETAILS</div>
240 <div class="xdocText">The value returned by this function may depend on the cache alignment
241 requirements for the shared region from which memory will be used.</div>
242 <span id="xdoc-sect-3"></span>
243 <div class="xdocSect">RETURNS</div>
244 <div class="xdocText">Number of MAUs needed to create the instance.</div>
245 <div class="xdocSynSpacer"> </div>
246 <a class="xdocAnchor" id="get.Num.Resources"></a>
247 <table class="xdocHdr"><tr>
248 <td class="xdocHdrTitle"><span class="xdoc-kw1">metaonly </span><span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">getNumResources</span>() <small><span class="xdocSynSum">// module-wide</span></small></td>
249 <td class="xdocHdrArrow">
250 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
251 </table>
252 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#get.Num.Resources">index URL</a></div>
253 <p class="xdocHdrSummaryDcl">Returns the number of resources offered by the GateMP delegate</p>
254 <span id='spec-synop'></span>
255 <table class="xdocLabel"><tr>
256 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
257 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
258 </tr></table>
259 <div class="xdocSynXdcl">
260 <div class="xdocSynCode">
261 <tt></tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw2">UInt</span> <span class="xdoc-id">getNumResources</span>();
262 </div>
263 </div>
264 <div class="xdocSynSpacer"> </div>
265 <div class="xdocSynSpacer"> </div>
266 <a class="xdocAnchor" id="query.Meta"></a>
267 <table class="xdocHdr"><tr>
268 <td class="xdocHdrTitle"><span class="xdoc-kw1">metaonly </span><span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">queryMeta</span>() <small><span class="xdocSynSum">// module-wide</span></small></td>
269 <td class="xdocHdrArrow">
270 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
271 </table>
272 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#query.Meta">index URL</a></div>
273 <p class="xdocHdrSummaryDcl">Configuration time test for a particular gate quality</p>
274 <span id='spec-synop'></span>
275 <table class="xdocLabel"><tr>
276 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
277 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
278 </tr></table>
279 <div class="xdocSynXdcl">
280 <div class="xdocSynCode">
281 <tt></tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw2">Bool</span> <span class="xdoc-id">queryMeta</span>(<span class="xdoc-kw2">Int</span> <span class="xdoc-id">qual</span>);
282 </div>
283 </div>
284 <div class="xdocSynSpacer"> </div>
285 <span id="xdoc-sect-1"></span>
286 <div class="xdocSect">ARGUMENTS</div>
287 <div class="xdocChild"><span class="xdocChildId">qual</span>
288 <span class="xdocChildSum">— constant describing a quality</span>
289 </div>
290 <span id="xdoc-sect-2"></span>
291 <div class="xdocSect">RETURNS</div>
292 <div class="xdocText">Returns <tt>TRUE</tt> if the gate has the given quality,
293 and <tt>FALSE</tt> otherwise, which includes the case when the gate does not
294 recognize the constant describing the quality.</div>
295 <div class="xdocSynSpacer"> </div>
296 <a class="xdocAnchor" id="resource.Id"></a>
297 <table class="xdocHdr"><tr>
298 <td class="xdocHdrTitle"><span class="xdoc-kw1">config</span> <span class="xdoc-id">IGateMPSupport.Params.</span><span class="xdoc-id">resourceId</span> <small><span class="xdocSynSum">// instance</span></small></td>
299 <td class="xdocHdrArrow">
300 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
301 </table>
302 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#resource.Id">index URL</a></div>
303 <p class="xdocHdrSummaryDcl">Logical resource id</p>
304 <span id='spec-synop'></span>
305 <table class="xdocLabel"><tr>
306 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
307 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
308 </tr></table>
309 <div class="xdocSynXdcl">
310 <div class="xdocSynCode">
311 <tt></tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">UInt</span> <span class="xdoc-id">resourceId</span> = 0;
312 </div>
313 </div>
314 <div class="xdocSynSpacer"> </div>
315 <div class="xdocSynSpacer"> </div>
316 <a class="xdocAnchor" id="shared.Addr"></a>
317 <table class="xdocHdr"><tr>
318 <td class="xdocHdrTitle"><span class="xdoc-kw1">config</span> <span class="xdoc-id">IGateMPSupport.Params.</span><span class="xdoc-id">sharedAddr</span> <small><span class="xdocSynSum">// instance</span></small></td>
319 <td class="xdocHdrArrow">
320 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
321 </table>
322 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#shared.Addr">index URL</a></div>
323 <p class="xdocHdrSummaryDcl">Physical address of the shared memory</p>
324 <span id='spec-synop'></span>
325 <table class="xdocLabel"><tr>
326 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
327 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
328 </tr></table>
329 <div class="xdocSynXdcl">
330 <div class="xdocSynCode">
331 <tt></tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">Ptr</span> <span class="xdoc-id">sharedAddr</span> = <span class="xdoc-kw2">null</span>;
332 </div>
333 </div>
334 <div class="xdocSynSpacer"> </div>
335 <span id="xdoc-sect-1"></span>
336 <div class="xdocSect">DETAILS</div>
337 <div class="xdocText">This parameter is only used by GateMP delegates that use shared memory</div>
338 <a class="xdocAnchor" id="per-instance_creation"></a>
339 <table class="xdocHdr"><tr>
340 <td class="xdocHdrTitle"><span class="xdocSynSum">Static Instance Creation</span></td>
341 <td class="xdocHdrArrow">
342 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
343 </table>
344 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#per-instance_creation">index URL</a></div>
345 <p class="xdocHdrSummary"></p>
346 <span id='spec-synop'></span>
347 <table class="xdocLabel"><tr>
348 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
349 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
350 </tr></table>
351 <div class="xdocSynXdcl">
352 <div class="xdocSynCode">
353 <tt></tt><tt></tt><span class="xdoc-id">create</span>(<a class="xdoc-link" href="../../../../xdc/runtime/IGateProvider.html#per-instance_object_types" title="xdc.runtime.IGateProvider.Handle">IGateProvider.Handle</a> <span class="xdoc-id">localGate</span>);
354 </div>
355 <div class='xdocSynSum'><tt></tt><tt></tt>// Create an instance-object</div>
356 </div>
357 <span id="xdoc-sect-1"></span>
358 <div class="xdocSect">ARGUMENTS</div>
359 <div class="xdocChild"><span class="xdocChildId">localGate</span>
360 <span class="xdocChildSum">— Gate to use for local protection.</span>
361 </div>
362 <span id="xdoc-sect-2"></span>
363 <div class="xdocSect">DETAILS</div>
364 <div class="xdocText">A Non-NULL gate for local protection must be passed to the create
365 call. If no local protection is desired, a
366 <a class="xdoc-link" href="../../../../xdc/runtime/GateNull.html" title="xdc.runtime.GateNull">xdc.runtime.GateNull</a> handle must be passed in.</div>
367 <div class="xdocSynSpacer"> </div>
368 <a class="xdocAnchor" id="enter"></a>
369 <table class="xdocHdr"><tr>
370 <td class="xdocHdrTitle"><span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">enter</span>() <small><span class="xdocSynSum">// instance</span></small></td>
371 <td class="xdocHdrArrow">
372 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
373 </table>
374 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#enter">index URL</a></div>
375 <p class="xdocHdrSummaryDcl">Enter this gate</p>
376 <span id='spec-synop'></span>
377 <table class="xdocLabel"><tr>
378 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
379 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
380 </tr></table>
381 <div class="xdocSynXdcl">
382 <div class="xdocSynCode">
383 <tt></tt><tt></tt><span class="xdoc-kw2">IArg</span> <span class="xdoc-id">enter</span>();
384 </div>
385 </div>
386 <div class="xdocSynSpacer"> </div>
387 <span id="xdoc-sect-1"></span>
388 <div class="xdocSect">DETAILS</div>
389 <div class="xdocText">Each gate provider can implement mutual exclusion using different
390 algorithms; e.g., disabling all scheduling, disabling the scheduling
391 of all threads below a specified "priority level", suspending the
392 caller when the gate has been entered by another thread and
393 re-enabling it when the the other thread leaves the gate. However,
394 in all cases, after this method returns that caller has exclusive
395 access to the data protected by this gate.</div>
396 <div class="xdocText">A thread may reenter a gate without blocking or failing.</div>
397 <span id="xdoc-sect-2"></span>
398 <div class="xdocSect">RETURNS</div>
399 <div class="xdocText">Returns a "key" that is used to <tt><a class="xdoc-link" href="IGateMPSupport.html#leave" title="leave">leave</a></tt> this gate; this
400 value is used to restore thread preemption to the state that
401 existed just prior to entering this gate.</div>
402 <div class="xdocSynSpacer"> </div>
403 <a class="xdocAnchor" id="leave"></a>
404 <table class="xdocHdr"><tr>
405 <td class="xdocHdrTitle"><span class="xdoc-id">IGateMPSupport.</span><span class="xdoc-id">leave</span>() <small><span class="xdocSynSum">// instance</span></small></td>
406 <td class="xdocHdrArrow">
407 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
408 </table>
409 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IGateMPSupport.html#leave">index URL</a></div>
410 <p class="xdocHdrSummaryDcl">Leave this gate</p>
411 <span id='spec-synop'></span>
412 <table class="xdocLabel"><tr>
413 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
414 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IGateMPSupport.xdc</span></a></td>
415 </tr></table>
416 <div class="xdocSynXdcl">
417 <div class="xdocSynCode">
418 <tt></tt><tt></tt><span class="xdoc-kw2">Void</span> <span class="xdoc-id">leave</span>(<span class="xdoc-kw2">IArg</span> <span class="xdoc-id">key</span>);
419 </div>
420 </div>
421 <div class="xdocSynSpacer"> </div>
422 <span id="xdoc-sect-1"></span>
423 <div class="xdocSect">ARGUMENTS</div>
424 <div class="xdocChild"><span class="xdocChildId">key</span>
425 <span class="xdocChildSum">— the value returned by a matching call to
426 <tt><a class="xdoc-link" href="IGateMPSupport.html#enter" title="enter">enter</a></tt></span>
427 </div>
428 <span id="xdoc-sect-2"></span>
429 <div class="xdocSect">DETAILS</div>
430 <div class="xdocText">This method is only called by threads that have previously entered
431 this gate via <tt><a class="xdoc-link" href="IGateMPSupport.html#enter" title="enter">enter</a></tt>. After this method returns, the
432 caller must not access the data structure protected by this gate
433 (unless the caller has entered the gate more than once and other
434 calls to <tt>leave</tt> remain to balance the number of previous
435 calls to <tt>enter</tt>).</div>
436 </div>
437 <div id="xdocDate">generated on Mon, 23 May 2016 14:31:12 GMT</div>
438 </div></div></body>
439 </html>