SysLink API Reference  2.21.03.11
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FrameQ_ShMem.h
Go to the documentation of this file.
1 
10 /*
11  * ============================================================================
12  *
13  * Copyright (c) 2008-2012, Texas Instruments Incorporated
14  *
15  * Redistribution and use in source and binary forms, with or without
16  * modification, are permitted provided that the following conditions
17  * are met:
18  *
19  * * Redistributions of source code must retain the above copyright
20  * notice, this list of conditions and the following disclaimer.
21  *
22  * * Redistributions in binary form must reproduce the above copyright
23  * notice, this list of conditions and the following disclaimer in the
24  * documentation and/or other materials provided with the distribution.
25  *
26  * * Neither the name of Texas Instruments Incorporated nor the names of
27  * its contributors may be used to endorse or promote products derived
28  * from this software without specific prior written permission.
29  *
30  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41  * Contact information for paper mail:
42  * Texas Instruments
43  * Post Office Box 655303
44  * Dallas, Texas 75265
45  * Contact information:
46  * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47  * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48  * ============================================================================
49  *
50  */
51 
52 
53 #ifndef FRAMEQ_SHMEM_H
54 #define FRAMEQ_SHMEM_H
55 
56 #include <ti/ipc/GateMP.h>
57 
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61 
62 /* =============================================================================
63  * Macros & defines
64  * =============================================================================
65  */
66 
68 
69 /* =============================================================================
70  * Structures & Enums
71  * =============================================================================
72  */
73 
78 typedef struct FrameQ_ShMem_Params_tag {
107  Ptr sharedAddr;
166 
167 
176 
177 
178 /* =============================================================================
179  * APIs
180  * =============================================================================
181  */
182 
192 void
194 
207 UInt32
209 
210 /*
211  * @brief Get the default configuration for the FrameQ_ShMem module.
212  *
213  * This function can be called by the application to get their
214  * configuration parameter to FrameQ_setup filled in by
215  * the FrameQ module with the default parameters. If the
216  * user does not wish to make any change in the default parameters,
217  * this API is not required to be called.
218  *
219  * @param cfg Pointer to the FrameQ module configuration
220  * structure in which the default config is to be
221  * returned.
222  *
223  * @sa FrameQ_setup
224  */
225 Void FrameQ_ShMem_getConfig(FrameQ_ShMem_Config *cfg);
226 
227 /*
228  * @brief Setup the FrameQ module.
229  *
230  * This function sets up the FrameQ module. This function
231  * must be called before any other instance-level APIs can be
232  * invoked.
233  * Module-level configuration needs to be provided to this
234  * function. If the user wishes to change some specific config
235  * parameters, then FrameQ_getConfig can be called to get
236  * the configuration filled with the default values. After this,
237  * only the required configuration values can be changed. If the
238  * user does not wish to make any change in the default parameters,
239  * the application can simply call FrameQ_setup with NULL
240  * parameters. The default parameters would get automatically used.
241  *
242  * @param cfg Optional FrameQ module configuration. If provided
243  * as NULL, default configuration is used.
244  *
245  * @sa FrameQ_destroy, FrameQ_getConfig
246  */
247 Int32
248 FrameQ_ShMem_setup (FrameQ_ShMem_Config * cfg);
249 
250 /*
251  * ======== FrameQ_ShMem_destroy ========
252  * API to finalize the module.
253  */
254 Int32
255 FrameQ_ShMem_destroy (void);
256 
257 #if defined (__cplusplus)
258 }
259 #endif
260 
261 
262 #endif /* FRAMEQ_SHMEM_H */
263 
Copyright 2014, Texas Instruments Incorporated