[processor-sdk/performance-audio-sr.git] / ipc_3_43_00_00_eng / docs / cdoc / ti / sdo / ipc / interfaces / IMessageQTransport.html
1 <html>
2 <head>
3 <title>interface ti.sdo.ipc.interfaces.IMessageQTransport</title>
4 <meta name="description" content="Interface for the transports used by MessageQ">
5 <link rel="stylesheet" type="text/css" href="../../../../xdoc.css" />
6 </head>
7 <body><div id="xdocWrapper"><div id="xdocContent">
8 <table class="xdocHdr"><tr>
9 <td class="xdocHdrTitle"><span class="xdoc-kw1">interface</span> <span class="xdoc-id">ti.sdo.ipc.interfaces.</span><span class="xdoc-id">IMessageQTransport</span></td>
10 <td class="xdocHdrArrow">
11 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IGateMPSupport.html" title="interface IGateMPSupport"><img class="xdocHdrArrow" src="../../../../Arrow_left.png"/></a></td>
12 <td class="xdocHdrArrow">
13 <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>
14 <td class="xdocHdrArrow">
15 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/INetworkTransport.html" title="interface INetworkTransport"><img class="xdocHdrArrow" src="../../../../Arrow_right.png"/></a></td>
16 </table>
17 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html">index URL</a></div>
18 <p class="xdocHdrSummary">Interface for the transports used by MessageQ</p>
19 <ul class="xdocToc">
20 <li class="xdocToc"><a class="xdocToc" href="#spec-synop">Specification synopsis</a></li>
21 <li class="xdocToc2"><a class="xdocToc" href="#xdocElems">Individual elements</a></li>
22 </ul>
23 <div class="xdocBrief">
24 The transport implementations have to register with
25 <a class="xdoc-link" href="../../../../ti/sdo/ipc/MessageQ.html" title="ti.sdo.ipc.MessageQ">ti.sdo.ipc.MessageQ</a>. This is done via the
26 <a class="xdoc-link" href="../../../../ti/sdo/ipc/MessageQ.html#register.Transport" title="ti.sdo.ipc.MessageQ.registerTransport">ti.sdo.ipc.MessageQ.registerTransport</a> function.
27 [ <a class="xdocBrief" href="#xdoc-desc">more</a> ... ]
28 </div>
29 <table class="xdocLabel"><tr>
30 <td class="xdocLabelLeft"><tt><span class="xdoc-id">XDCspec</span></tt> summary</td>
31 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
32 </tr></table>
33 <div class="xdocSynX">
34 <div class="xdocSynCode">
35 <tt></tt><span class="xdoc-kw1">interface</span> <span class="xdoc-id">IMessageQTransport</span> {<b> ...</b>
36 </div>
37 <div class='xdocSynSum'><tt></tt>// inherits <a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/ITransport.html" title="ti.sdo.ipc.interfaces.ITransport">ti.sdo.ipc.interfaces.ITransport</a></div>
38 <div class='xdocSynSum'><tt> </tt>// inherits <a class="xdoc-link" href="../../../../xdc/runtime/IModule.html" title="xdc.runtime.IModule">xdc.runtime.IModule</a></div>
39 <div class="xdocSynCode">
40 <tt></tt><span class="xdoc-kw1">instance</span>:<b> ...</b>
41 </div>
42 </div>
43 <span id='spec-synop'></span>
44 <table class="xdocLabel"><tr>
45 <td class="xdocLabelLeft"><tt><span class="xdoc-id">XDCspec</span></tt> declarations</td>
46 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
47 </tr></table>
48 <div class="xdocSynX">
49 <div class="xdocSynCode">
50 <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>;
51 </div>
52 <div class="xdocSynSpacer"> </div>
53 <div class="xdocSynCode">
54 <tt></tt><span class="xdoc-kw1">interface</span> <span class="xdoc-id">IMessageQTransport</span><span class="xdoc-kw1"> inherits </span><a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/ITransport.html" title="ti.sdo.ipc.interfaces.ITransport">ITransport</a> {
55 </div>
56 <div class='xdocSynHdr'>module-wide constants & types</div>
58 <div class="xdocSynCode">
59 <tt> </tt><tt></tt><span class="xdoc-kw1">enum</span> <a class="xdocSynGo" href="#.Reason"><span class="xdoc-id">Reason</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Reason for error function being called</span></span></a> {
60 </div>
61 <div class="xdocSynCode">
62 <tt> </tt><tt> </tt><a class="xdocSynGo" href="#.Reason" title="ti.sdo.ipc.interfaces.IMessageQTransport.Reason"><span class="xdoc-id">Reason_FAILEDPUT</span></a>,
63 </div>
64 <div class="xdocSynCode">
65 <tt> </tt><tt> </tt><a class="xdocSynGo" href="#.Reason" title="ti.sdo.ipc.interfaces.IMessageQTransport.Reason"><span class="xdoc-id">Reason_INTERNALERR</span></a>,
66 </div>
67 <div class="xdocSynCode">
68 <tt> </tt><tt> </tt><a class="xdocSynGo" href="#.Reason" title="ti.sdo.ipc.interfaces.IMessageQTransport.Reason"><span class="xdoc-id">Reason_PHYSICALERR</span></a>,
69 </div>
70 <div class="xdocSynCode">
71 <tt> </tt><tt> </tt><a class="xdocSynGo" href="#.Reason" title="ti.sdo.ipc.interfaces.IMessageQTransport.Reason"><span class="xdoc-id">Reason_FAILEDALLOC</span></a>
72 </div>
73 <div class="xdocSynCode">
74 <tt> </tt><tt></tt>};
75 </div>
76 <div class="xdocSynSpacer"> </div>
77 <div class="xdocSynCode">
78 <tt> </tt><tt></tt><span class="xdoc-kw1">enum</span> <a class="xdocSynGo" href="#.Status"><span class="xdoc-id">Status</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Transport return values</span></span></a> {
79 </div>
80 <div class="xdocSynCode">
81 <tt> </tt><tt> </tt><a class="xdocSynGo" href="#.Status" title="ti.sdo.ipc.interfaces.IMessageQTransport.Status"><span class="xdoc-id">S_SUCCESS</span></a>,
82 </div>
83 <div class="xdocSynCode">
84 <tt> </tt><tt> </tt><a class="xdocSynGo" href="#.Status" title="ti.sdo.ipc.interfaces.IMessageQTransport.Status"><span class="xdoc-id">E_FAIL</span></a>,
85 </div>
86 <div class="xdocSynCode">
87 <tt> </tt><tt> </tt><a class="xdocSynGo" href="#.Status" title="ti.sdo.ipc.interfaces.IMessageQTransport.Status"><span class="xdoc-id">E_ERROR</span></a>
88 </div>
89 <div class="xdocSynCode">
90 <tt> </tt><tt></tt>};
91 </div>
92 <div class="xdocSynSpacer"> </div>
93 <div class="xdocSynCode">
94 <tt> </tt><tt></tt><span class="xdoc-kw1">typedef</span> <span class="xdoc-kw2">Void</span> (*<a class="xdocSynGo" href="#.Err.Fxn"><span class="xdoc-id">ErrFxn</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Typedef for transport error callback function</span></span></a>)(<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#.Reason" title="ti.sdo.ipc.interfaces.IMessageQTransport.Reason">IMessageQTransport.Reason</a>,<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#per-instance_object_types" title="ti.sdo.ipc.interfaces.IMessageQTransport.Handle">IMessageQTransport.Handle</a>,<span class="xdoc-kw2">Ptr</span>,<span class="xdoc-kw2">UArg</span>);
95 </div>
96 <div class='xdocSynHdr'>module-wide config parameters</div>
98 <div class="xdocSynCode">
99 <tt> </tt><tt></tt><span class="xdoc-kw1">config</span> <a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#.Err.Fxn" title="ti.sdo.ipc.interfaces.IMessageQTransport.ErrFxn">IMessageQTransport.ErrFxn</a> <a class="xdocSynGo" href="#err.Fxn"><span class="xdoc-id">errFxn</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Asynchronous error function for the transport module</span></span></a> = <span class="xdoc-kw2">null</span>;
100 </div>
101 <div class="xdocSynSpacer"> </div>
102 <div class="xdocSynCode">
103 <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>;
104 </div>
105 <div class='xdocSynHdr'>module-wide functions</div>
107 <div class="xdocSynCode">
108 <tt> </tt><tt></tt><span class="xdoc-kw2">Void</span> <a class="xdocSynGo" href="#set.Err.Fxn"><span class="xdoc-id">setErrFxn</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Sets the asynchronous error function for the transport module</span></span></a>(<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#.Err.Fxn" title="ti.sdo.ipc.interfaces.IMessageQTransport.ErrFxn">IMessageQTransport.ErrFxn</a> <span class="xdoc-id">errFxn</span>);
109 </div>
110 <div class="xdocSynSpacer"> </div>
111 <div class="xdocSynSpacer"> </div>
112 <div class="xdocSynCode">
113 <tt></tt><tt></tt><span class="xdoc-kw1">instance</span>:
114 </div>
115 <div class='xdocSynHdr'>per-instance config parameters</div>
117 <div class="xdocSynCode">
118 <tt> </tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">UInt</span> <a class="xdocSynGo" href="#priority"><span class="xdoc-id">priority</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Which priority messages should this transport manage</span></span></a> = 0;
119 </div>
120 <div class='xdocSynHdr'>per-instance creation</div>
122 <div class="xdocSynCode">
123 <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>(<span class="xdoc-kw2">UInt16</span> <span class="xdoc-id">procId</span>);
124 </div>
125 <div class='xdocSynHdr'>per-instance functions</div>
127 <div class="xdocSynCode">
128 <tt> </tt><tt></tt><span class="xdoc-kw2">Bool</span> <a class="xdocSynGo" href="#control"><span class="xdoc-id">control</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Send a control command to the transport instance</span></span></a>(<span class="xdoc-kw2">UInt</span> <span class="xdoc-id">cmd</span>, <span class="xdoc-kw2">UArg</span> <span class="xdoc-id">cmdArg</span>);
129 </div>
130 <div class="xdocSynCode">
131 <tt> </tt><tt></tt><span class="xdoc-kw2">Int</span> <a class="xdocSynGo" href="#get.Status"><span class="xdoc-id">getStatus</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Status of a Transport instance</span></span></a>();
132 </div>
133 <div class="xdocSynCode">
134 <tt> </tt><tt></tt><span class="xdoc-kw2">Bool</span> <a class="xdocSynGo" href="#put"><span class="xdoc-id">put</span><span class="xdocSynHoverShadow"><span class="xdocSynHover">// Put the message to the remote processor</span></span></a>(<span class="xdoc-kw2">Ptr</span> <span class="xdoc-id">msg</span>);
135 </div>
136 <div class="xdocSynCode">
137 <tt></tt>}
138 </div>
139 </div>
140 <span id="xdoc-desc"></span>
141 <span id="xdoc-sect-1"></span>
142 <div class="xdocSect">DETAILS</div>
143 <div class="xdocText">The transport implementations have to register with
144 <a class="xdoc-link" href="../../../../ti/sdo/ipc/MessageQ.html" title="ti.sdo.ipc.MessageQ">ti.sdo.ipc.MessageQ</a>. This is done via the
145 <a class="xdoc-link" href="../../../../ti/sdo/ipc/MessageQ.html#register.Transport" title="ti.sdo.ipc.MessageQ.registerTransport">ti.sdo.ipc.MessageQ.registerTransport</a> function.</div>
146 <div class="xdocText">If transports need additional processing during startup,
147 there are multiple hook points to run start-up code that
148 the transport implementation can use.</div>
149 <div id="xdocSep">
150 </div>
151 <div id="xdocElems">
152 <div class="xdocSynSpacer"> </div>
153 <a class="xdocAnchor" id=".Reason"></a>
154 <a class="xdocAnchor" id=".Reason_.F.A.I.L.E.D.P.U.T"></a>
155 <a class="xdocAnchor" id=".Reason_.I.N.T.E.R.N.A.L.E.R.R"></a>
156 <a class="xdocAnchor" id=".Reason_.P.H.Y.S.I.C.A.L.E.R.R"></a>
157 <a class="xdocAnchor" id=".Reason_.F.A.I.L.E.D.A.L.L.O.C"></a>
158 <table class="xdocHdr"><tr>
159 <td class="xdocHdrTitle"><span class="xdoc-kw1">enum</span> <span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">Reason</span></td>
160 <td class="xdocHdrArrow">
161 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
162 </table>
163 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#.Reason">index URL</a></div>
164 <p class="xdocHdrSummaryDcl">Reason for error function being called</p>
165 <span id='spec-synop'></span>
166 <table class="xdocLabel"><tr>
167 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
168 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
169 </tr></table>
170 <div class="xdocSynXdcl">
171 <div class="xdocSynCode">
172 <tt></tt><tt></tt><span class="xdoc-kw1">enum</span> <span class="xdoc-id">Reason</span> {
173 </div>
174 <div class="xdocSynCode">
175 <tt></tt><tt> </tt><span class="xdoc-id">Reason_FAILEDPUT</span>,
176 </div>
177 <div class="xdocSynCode">
178 <tt></tt><tt> </tt><span class="xdoc-id">Reason_INTERNALERR</span>,
179 </div>
180 <div class="xdocSynCode">
181 <tt></tt><tt> </tt><span class="xdoc-id">Reason_PHYSICALERR</span>,
182 </div>
183 <div class="xdocSynCode">
184 <tt></tt><tt> </tt><span class="xdoc-id">Reason_FAILEDALLOC</span>
185 </div>
186 <div class="xdocSynCode">
187 <tt></tt><tt></tt>};
188 </div>
189 </div>
190 <div class="xdocSynSpacer"> </div>
191 <span id="xdoc-sect-1"></span>
192 <div class="xdocSect">DETAILS</div>
193 <div class="xdocText">First field in the <a class="xdoc-link" href="IMessageQTransport.html#err.Fxn" title="errFxn">errFxn</a></div>
194 <div class="xdocSynSpacer"> </div>
195 <a class="xdocAnchor" id=".Status"></a>
196 <a class="xdocAnchor" id=".S_.S.U.C.C.E.S.S"></a>
197 <a class="xdocAnchor" id=".E_.F.A.I.L"></a>
198 <a class="xdocAnchor" id=".E_.E.R.R.O.R"></a>
199 <table class="xdocHdr"><tr>
200 <td class="xdocHdrTitle"><span class="xdoc-kw1">enum</span> <span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">Status</span></td>
201 <td class="xdocHdrArrow">
202 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
203 </table>
204 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#.Status">index URL</a></div>
205 <p class="xdocHdrSummaryDcl">Transport return values</p>
206 <span id='spec-synop'></span>
207 <table class="xdocLabel"><tr>
208 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
209 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
210 </tr></table>
211 <div class="xdocSynXdcl">
212 <div class="xdocSynCode">
213 <tt></tt><tt></tt><span class="xdoc-kw1">enum</span> <span class="xdoc-id">Status</span> {
214 </div>
215 <div class="xdocSynCode">
216 <tt></tt><tt> </tt><span class="xdoc-id">S_SUCCESS</span>,
217 </div>
218 <div class="xdocSynCode">
219 <tt></tt><tt> </tt><span class="xdoc-id">E_FAIL</span>,
220 </div>
221 <div class="xdocSynCode">
222 <tt></tt><tt> </tt><span class="xdoc-id">E_ERROR</span>
223 </div>
224 <div class="xdocSynCode">
225 <tt></tt><tt></tt>};
226 </div>
227 </div>
228 <div class="xdocSynSpacer"> </div>
229 <span id="xdoc-sect-1"></span>
230 <div class="xdocSect">DETAILS</div>
231 <div class="xdocText"><UL><LI><a class="xdoc-link" href="IMessageQTransport.html#.S_.S.U.C.C.E.S.S" title="S_SUCCESS">S_SUCCESS</a>: Operation was successful
232 </LI><LI><a class="xdoc-link" href="IMessageQTransport.html#.E_.F.A.I.L" title="E_FAIL">E_FAIL</a>: Operation resulted in a failure
233 </LI><LI><a class="xdoc-link" href="IMessageQTransport.html#.E_.E.R.R.O.R" title="E_ERROR">E_ERROR</a>: Operation resulted in an error.
234 </LI></UL></div>
235 <div class="xdocSynSpacer"> </div>
236 <a class="xdocAnchor" id=".Err.Fxn"></a>
237 <table class="xdocHdr"><tr>
238 <td class="xdocHdrTitle"><span class="xdoc-kw1">typedef</span> <span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">ErrFxn</span></td>
239 <td class="xdocHdrArrow">
240 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
241 </table>
242 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#.Err.Fxn">index URL</a></div>
243 <p class="xdocHdrSummaryDcl">Typedef for transport error callback function</p>
244 <span id='spec-synop'></span>
245 <table class="xdocLabel"><tr>
246 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
247 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
248 </tr></table>
249 <div class="xdocSynXdcl">
250 <div class="xdocSynCode">
251 <tt></tt><tt></tt><span class="xdoc-kw1">typedef</span> <span class="xdoc-kw2">Void</span> (*<span class="xdoc-id">ErrFxn</span>)(<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#.Reason" title="ti.sdo.ipc.interfaces.IMessageQTransport.Reason">IMessageQTransport.Reason</a>,<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#per-instance_object_types" title="ti.sdo.ipc.interfaces.IMessageQTransport.Handle">IMessageQTransport.Handle</a>,<span class="xdoc-kw2">Ptr</span>,<span class="xdoc-kw2">UArg</span>);
252 </div>
253 </div>
254 <div class="xdocSynSpacer"> </div>
255 <span id="xdoc-sect-1"></span>
256 <div class="xdocSect">DETAILS</div>
257 <div class="xdocText">First parameter: Why the error function is being called.</div>
258 <div class="xdocText">Second parameter: Handle of transport that had the error. NULL denotes
259 that it is a system error, not a specific transport.</div>
260 <div class="xdocText">Third parameter: Pointer to the message. This is only valid for
261 <a class="xdoc-link" href="IMessageQTransport.html#.Reason_.F.A.I.L.E.D.P.U.T" title="Reason_FAILEDPUT">Reason_FAILEDPUT</a>.</div>
262 <div class="xdocText">Fourth parameter: Transport specific information. Refer to individual
263 transports for more details.</div>
264 <div class="xdocSynSpacer"> </div>
265 <a class="xdocAnchor" id="err.Fxn"></a>
266 <table class="xdocHdr"><tr>
267 <td class="xdocHdrTitle"><span class="xdoc-kw1">config</span> <span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">errFxn</span> <small><span class="xdocSynSum">// module-wide</span></small></td>
268 <td class="xdocHdrArrow">
269 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
270 </table>
271 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#err.Fxn">index URL</a></div>
272 <p class="xdocHdrSummaryDcl">Asynchronous error function for the transport module</p>
273 <span id='spec-synop'></span>
274 <table class="xdocLabel"><tr>
275 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
276 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
277 </tr></table>
278 <div class="xdocSynXdcl">
279 <div class="xdocSynCode">
280 <tt></tt><tt></tt><span class="xdoc-kw1">config</span> <a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#.Err.Fxn" title="ti.sdo.ipc.interfaces.IMessageQTransport.ErrFxn">IMessageQTransport.ErrFxn</a> <span class="xdoc-id">errFxn</span> = <span class="xdoc-kw2">null</span>;
281 </div>
282 </div>
283 <div class="xdocSynSpacer"> </div>
284 <div class="xdocSynSpacer"> </div>
285 <a class="xdocAnchor" id="common$"></a>
286 <table class="xdocHdr"><tr>
287 <td class="xdocHdrTitle"><span class="xdoc-kw1">metaonly </span><span class="xdoc-kw1">config</span> <span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">common$</span> <small><span class="xdocSynSum">// module-wide</span></small></td>
288 <td class="xdocHdrArrow">
289 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
290 </table>
291 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#common$">index URL</a></div>
292 <p class="xdocHdrSummaryDcl">Common module configuration parameters</p>
293 <span id='spec-synop'></span>
294 <table class="xdocLabel"><tr>
295 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
296 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
297 </tr></table>
298 <div class="xdocSynXdcl">
299 <div class="xdocSynCode">
300 <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>;
301 </div>
302 </div>
303 <div class="xdocSynSpacer"> </div>
304 <span id="xdoc-sect-1"></span>
305 <div class="xdocSect">DETAILS</div>
306 <div class="xdocText">All modules have this configuration parameter. Its name
307 contains the '$' character to ensure it does not conflict with
308 configuration parameters declared by the module. This allows
309 new configuration parameters to be added in the future without
310 any chance of breaking existing modules.</div>
311 <div class="xdocSynSpacer"> </div>
312 <a class="xdocAnchor" id="set.Err.Fxn"></a>
313 <table class="xdocHdr"><tr>
314 <td class="xdocHdrTitle"><span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">setErrFxn</span>() <small><span class="xdocSynSum">// module-wide</span></small></td>
315 <td class="xdocHdrArrow">
316 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
317 </table>
318 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#set.Err.Fxn">index URL</a></div>
319 <p class="xdocHdrSummaryDcl">Sets the asynchronous error function for the transport module</p>
320 <span id='spec-synop'></span>
321 <table class="xdocLabel"><tr>
322 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
323 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
324 </tr></table>
325 <div class="xdocSynXdcl">
326 <div class="xdocSynCode">
327 <tt></tt><tt></tt><span class="xdoc-kw2">Void</span> <span class="xdoc-id">setErrFxn</span>(<a class="xdoc-link" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html#.Err.Fxn" title="ti.sdo.ipc.interfaces.IMessageQTransport.ErrFxn">IMessageQTransport.ErrFxn</a> <span class="xdoc-id">errFxn</span>);
328 </div>
329 </div>
330 <div class="xdocSynSpacer"> </div>
331 <span id="xdoc-sect-1"></span>
332 <div class="xdocSect">ARGUMENTS</div>
333 <div class="xdocChild"><span class="xdocChildId">errFxn</span>
334 <span class="xdocChildSum">— Function that is called when an asynchronous
335 error occurs.</span>
336 </div>
337 <span id="xdoc-sect-2"></span>
338 <div class="xdocSect">DETAILS</div>
339 <div class="xdocText">This API allows the user to set the function that will be called in
340 case of an asynchronous error by the transport.</div>
341 <div class="xdocSynSpacer"> </div>
342 <a class="xdocAnchor" id="priority"></a>
343 <table class="xdocHdr"><tr>
344 <td class="xdocHdrTitle"><span class="xdoc-kw1">config</span> <span class="xdoc-id">IMessageQTransport.Params.</span><span class="xdoc-id">priority</span> <small><span class="xdocSynSum">// instance</span></small></td>
345 <td class="xdocHdrArrow">
346 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
347 </table>
348 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#priority">index URL</a></div>
349 <p class="xdocHdrSummaryDcl">Which priority messages should this transport manage</p>
350 <span id='spec-synop'></span>
351 <table class="xdocLabel"><tr>
352 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
353 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
354 </tr></table>
355 <div class="xdocSynXdcl">
356 <div class="xdocSynCode">
357 <tt></tt><tt></tt><span class="xdoc-kw1">config</span> <span class="xdoc-kw2">UInt</span> <span class="xdoc-id">priority</span> = 0;
358 </div>
359 </div>
360 <div class="xdocSynSpacer"> </div>
361 <a class="xdocAnchor" id="per-instance_creation"></a>
362 <table class="xdocHdr"><tr>
363 <td class="xdocHdrTitle"><span class="xdocSynSum">Static Instance Creation</span></td>
364 <td class="xdocHdrArrow">
365 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
366 </table>
367 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#per-instance_creation">index URL</a></div>
368 <p class="xdocHdrSummary"></p>
369 <span id='spec-synop'></span>
370 <table class="xdocLabel"><tr>
371 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
372 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
373 </tr></table>
374 <div class="xdocSynXdcl">
375 <div class="xdocSynCode">
376 <tt></tt><tt></tt><span class="xdoc-id">create</span>(<span class="xdoc-kw2">UInt16</span> <span class="xdoc-id">procId</span>);
377 </div>
378 <div class='xdocSynSum'><tt></tt><tt></tt>// Create an instance-object</div>
379 </div>
380 <span id="xdoc-sect-1"></span>
381 <div class="xdocSect">ARGUMENTS</div>
382 <div class="xdocChild"><span class="xdocChildId">procId</span>
383 <span class="xdocChildSum">— Remote processor id that this instance
384 will communicate with.</span>
385 </div>
386 <span id="xdoc-sect-2"></span>
387 <div class="xdocSect">DETAILS</div>
388 <div class="xdocText">This function creates a transport instance. The transport is
389 responsible for registering with MessageQ via the
390 <a class="xdoc-link" href="../../../../ti/sdo/ipc/MessageQ.html#register.Transport" title="ti.sdo.ipc.MessageQ.registerTransport">ti.sdo.ipc.MessageQ.registerTransport</a> API.</div>
391 <div class="xdocSynSpacer"> </div>
392 <a class="xdocAnchor" id="control"></a>
393 <table class="xdocHdr"><tr>
394 <td class="xdocHdrTitle"><span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">control</span>() <small><span class="xdocSynSum">// instance</span></small></td>
395 <td class="xdocHdrArrow">
396 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
397 </table>
398 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#control">index URL</a></div>
399 <p class="xdocHdrSummaryDcl">Send a control command to the transport instance</p>
400 <span id='spec-synop'></span>
401 <table class="xdocLabel"><tr>
402 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
403 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
404 </tr></table>
405 <div class="xdocSynXdcl">
406 <div class="xdocSynCode">
407 <tt></tt><tt></tt><span class="xdoc-kw2">Bool</span> <span class="xdoc-id">control</span>(<span class="xdoc-kw2">UInt</span> <span class="xdoc-id">cmd</span>, <span class="xdoc-kw2">UArg</span> <span class="xdoc-id">cmdArg</span>);
408 </div>
409 </div>
410 <div class="xdocSynSpacer"> </div>
411 <span id="xdoc-sect-1"></span>
412 <div class="xdocSect">ARGUMENTS</div>
413 <div class="xdocChild"><span class="xdocChildId">cmd</span>
414 <span class="xdocChildSum">— Requested command</span>
415 </div>
416 <div class="xdocChild"><span class="xdocChildId">cmdArgs</span>
417 <span class="xdocChildSum">— Accompanying field for the command. This is
418 command specific.</span>
419 </div>
420 <span id="xdoc-sect-2"></span>
421 <div class="xdocSect">RETURNS</div>
422 <div class="xdocText">TRUE denotes acceptance of the command. FALSE
423 denotes failure of the command.</div>
424 <span id="xdoc-sect-3"></span>
425 <div class="xdocSect">DETAILS</div>
426 <div class="xdocText">This is function allows transport to specify control commands. Refer
427 to individual transport implementions for more details.</div>
428 <div class="xdocSynSpacer"> </div>
429 <a class="xdocAnchor" id="get.Status"></a>
430 <table class="xdocHdr"><tr>
431 <td class="xdocHdrTitle"><span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">getStatus</span>() <small><span class="xdocSynSum">// instance</span></small></td>
432 <td class="xdocHdrArrow">
433 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
434 </table>
435 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#get.Status">index URL</a></div>
436 <p class="xdocHdrSummaryDcl">Status of a Transport instance</p>
437 <span id='spec-synop'></span>
438 <table class="xdocLabel"><tr>
439 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
440 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
441 </tr></table>
442 <div class="xdocSynXdcl">
443 <div class="xdocSynCode">
444 <tt></tt><tt></tt><span class="xdoc-kw2">Int</span> <span class="xdoc-id">getStatus</span>();
445 </div>
446 </div>
447 <div class="xdocSynSpacer"> </div>
448 <span id="xdoc-sect-1"></span>
449 <div class="xdocSect">RETURNS</div>
450 <div class="xdocText">Returns status of Transport instance</div>
451 <span id="xdoc-sect-2"></span>
452 <div class="xdocSect">DETAILS</div>
453 <div class="xdocText">This function returns the status of the transport instance.</div>
454 <div class="xdocSynSpacer"> </div>
455 <a class="xdocAnchor" id="put"></a>
456 <table class="xdocHdr"><tr>
457 <td class="xdocHdrTitle"><span class="xdoc-id">IMessageQTransport.</span><span class="xdoc-id">put</span>() <small><span class="xdocSynSum">// instance</span></small></td>
458 <td class="xdocHdrArrow">
459 <a class="xdocHdrLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport.html" title="interface IMessageQTransport"><img class="xdocHdrArrow" src="../../../../Arrow_up.png"/></a></td>
460 </table>
461 <div class=xdocHdrIndex><a class=xdocHdrIndex title="right-click to capture" href="../../../../index.html#ti/sdo/ipc/interfaces/IMessageQTransport.html#put">index URL</a></div>
462 <p class="xdocHdrSummaryDcl">Put the message to the remote processor</p>
463 <span id='spec-synop'></span>
464 <table class="xdocLabel"><tr>
465 <td class="xdocLabelLeft"><tt><span class="xdoc-iddcl">XDCspec</span></tt> declarations</td>
466 <td class="xdocLabelRight">sourced in <a class="xdocLink" href="../../../../ti/sdo/ipc/interfaces/IMessageQTransport-src.html"><span class="xdocLabelFile">ti/sdo/ipc/interfaces/IMessageQTransport.xdc</span></a></td>
467 </tr></table>
468 <div class="xdocSynXdcl">
469 <div class="xdocSynCode">
470 <tt></tt><tt></tt><span class="xdoc-kw2">Bool</span> <span class="xdoc-id">put</span>(<span class="xdoc-kw2">Ptr</span> <span class="xdoc-id">msg</span>);
471 </div>
472 </div>
473 <div class="xdocSynSpacer"> </div>
474 <span id="xdoc-sect-1"></span>
475 <div class="xdocSect">ARGUMENTS</div>
476 <div class="xdocChild"><span class="xdocChildId">msg</span>
477 <span class="xdocChildSum">— Pointer the message to be sent</span>
478 </div>
479 <span id="xdoc-sect-2"></span>
480 <div class="xdocSect">RETURNS</div>
481 <div class="xdocText">TRUE denotes acceptance of the message to
482 be sent. FALSE denotes the message could not be
483 sent.</div>
484 <span id="xdoc-sect-3"></span>
485 <div class="xdocSect">DETAILS</div>
486 <div class="xdocText">If the transport can accept the message, it returns TRUE. Accepting
487 a message does not mean that it is transmitted. It simply means that
488 the transport should be able to send the message. If the actual transfer
489 fails, the transport calls the {@#ErrFxn} (assuming it is set up via the
490 {@#setErrFxn} API. If the {@#ErrFxn} is not set, the message is dropped.
491 (also...should an error be raised or just System_printf?).</div>
492 <div class="xdocText">If the transport cannot send the message, it returns FALSE and a
493 filled in Error_Block. The caller still owns the message.</div>
494 </div>
495 <div id="xdocDate">generated on Mon, 23 May 2016 14:31:12 GMT</div>
496 </div></div></body>
497 </html>