]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - processor_audio_sdk_1_00_00_00/psdk_cust/ipc_3_43_00_00_eng/docs/cdoc/ti/sdo/ipc/interfaces/IGateMPSupport.html
Move IPC 3.43.00.00 eng and PDK 1.0.1.0 eng to subfolders
[processor-sdk/performance-audio-sr.git] / processor_audio_sdk_1_00_00_00 / psdk_cust / 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>&nbsp;&nbsp;...</b>
26 </div>
27 <div class='xdocSynSum'><tt></tt>//&nbsp;inherits <a class="xdoc-link" href="../../../../xdc/runtime/IGateProvider.html" title="xdc.runtime.IGateProvider">xdc.runtime.IGateProvider</a></div>
28 <div class='xdocSynSum'><tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt>//&nbsp;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>&nbsp;&nbsp;...</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">&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw1">const</span> <span class="xdoc-kw2">Int</span>&nbsp;<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">//&nbsp;Blocking quality</span></span></a> = 1;
50 </div>
51 <div class="xdocSynCode">
52 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw1">const</span> <span class="xdoc-kw2">Int</span>&nbsp;<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">//&nbsp;Preempting quality</span></span></a> = 2;
53 </div>
54 <div class='xdocSynHdr'>module-wide config parameters</div>
56 <div class="xdocSynCode">
57 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</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>&nbsp;<a class="xdocSynGo" href="#common$"><span class="xdoc-id">common$</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;Common module configuration parameters</span></span></a>;
58 </div>
59 <div class='xdocSynHdr'>module-wide functions</div>
61 <div class="xdocSynCode">
62 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw2">Bool</span>&nbsp;<a class="xdocSynGo" href="#query"><span class="xdoc-id">query</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;Runtime test for a particular gate quality</span></span></a>(<span class="xdoc-kw2">Int</span>&nbsp;<span class="xdoc-id">qual</span>);
63 </div>
64 <div class="xdocSynCode">
65 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw2">SizeT</span>&nbsp;<a class="xdocSynGo" href="#shared.Mem.Req"><span class="xdoc-id">sharedMemReq</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;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>&nbsp;*<span class="xdoc-id">params</span>);
66 </div>
67 <div class="xdocSynSpacer">&nbsp;</div>
68 <div class="xdocSynCode">
69 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw2">UInt</span>&nbsp;<a class="xdocSynGo" href="#get.Num.Resources"><span class="xdoc-id">getNumResources</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;Returns the number of resources offered by the GateMP delegate</span></span></a>();
70 </div>
71 <div class="xdocSynCode">
72 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw2">Bool</span>&nbsp;<a class="xdocSynGo" href="#query.Meta"><span class="xdoc-id">queryMeta</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;Configuration time test for a particular gate quality</span></span></a>(<span class="xdoc-kw2">Int</span>&nbsp;<span class="xdoc-id">qual</span>);
73 </div>
74 <div class="xdocSynSpacer">&nbsp;</div>
75 <div class="xdocSynSpacer">&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">UInt</span>&nbsp;<a class="xdocSynGo" href="#resource.Id"><span class="xdoc-id">resourceId</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;Logical resource id</span></span></a> = 0;
83 </div>
84 <div class="xdocSynCode">
85 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">Ptr</span>&nbsp;<a class="xdocSynGo" href="#shared.Addr"><span class="xdoc-id">sharedAddr</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><a class="xdocSynGo" href="#per-instance_creation"><span class="xdoc-id">create</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;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>&nbsp;<span class="xdoc-id">localGate</span>);
91 </div>
92 <div class='xdocSynHdr'>per-instance functions</div>
94 <div class="xdocSynCode">
95 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw2">IArg</span>&nbsp;<a class="xdocSynGo" href="#enter"><span class="xdoc-id">enter</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;Enter this gate</span></span></a>();
96 </div>
97 <div class="xdocSynCode">
98 <tt>&nbsp;&nbsp;&nbsp;&nbsp;</tt><tt></tt><span class="xdoc-kw2">Void</span>&nbsp;<a class="xdocSynGo" href="#leave"><span class="xdoc-id">leave</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">//&nbsp;Leave this gate</span></span></a>(<span class="xdoc-kw2">IArg</span>&nbsp;<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">&nbsp;</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>&nbsp;<span class="xdoc-id">Q_BLOCKING</span> = 1;
124 </div>
125 </div>
126 <div class="xdocSynSpacer">&nbsp;</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">&nbsp;</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>&nbsp;<span class="xdoc-id">Q_PREEMPTING</span> = 2;
148 </div>
149 </div>
150 <div class="xdocSynSpacer">&nbsp;</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">&nbsp;</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>&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">common$</span>;
172 </div>
173 </div>
174 <div class="xdocSynSpacer">&nbsp;</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">&nbsp;</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>()&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">query</span>(<span class="xdoc-kw2">Int</span>&nbsp;<span class="xdoc-id">qual</span>);
199 </div>
200 </div>
201 <div class="xdocSynSpacer">&nbsp;</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">&#151;&nbsp;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">&nbsp;</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>()&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<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>&nbsp;*<span class="xdoc-id">params</span>);
229 </div>
230 </div>
231 <div class="xdocSynSpacer">&nbsp;</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">&#151;&nbsp;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">&nbsp;</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>()&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">getNumResources</span>();
262 </div>
263 </div>
264 <div class="xdocSynSpacer">&nbsp;</div>
265 <div class="xdocSynSpacer">&nbsp;</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>()&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">queryMeta</span>(<span class="xdoc-kw2">Int</span>&nbsp;<span class="xdoc-id">qual</span>);
282 </div>
283 </div>
284 <div class="xdocSynSpacer">&nbsp;</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">&#151;&nbsp;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">&nbsp;</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>&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">resourceId</span> = 0;
312 </div>
313 </div>
314 <div class="xdocSynSpacer">&nbsp;</div>
315 <div class="xdocSynSpacer">&nbsp;</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>&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">sharedAddr</span> = <span class="xdoc-kw2">null</span>;
332 </div>
333 </div>
334 <div class="xdocSynSpacer">&nbsp;</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>&nbsp;<span class="xdoc-id">localGate</span>);
354 </div>
355 <div class='xdocSynSum'><tt></tt><tt></tt>//&nbsp;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">&#151;&nbsp;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">&nbsp;</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>()&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">enter</span>();
384 </div>
385 </div>
386 <div class="xdocSynSpacer">&nbsp;</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">&nbsp;</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>()&nbsp;&nbsp;<small><span class="xdocSynSum">//&nbsp;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>&nbsp;<span class="xdoc-id">leave</span>(<span class="xdoc-kw2">IArg</span>&nbsp;<span class="xdoc-id">key</span>);
419 </div>
420 </div>
421 <div class="xdocSynSpacer">&nbsp;</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">&#151;&nbsp;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>