SysLink API Reference  2.21.03.11
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ResTrack.h
Go to the documentation of this file.
1 
8 /*
9  * ============================================================================
10  *
11  * Copyright (c) 2008-2012, Texas Instruments Incorporated
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions
15  * are met:
16  *
17  * * Redistributions of source code must retain the above copyright
18  * notice, this list of conditions and the following disclaimer.
19  *
20  * * Redistributions in binary form must reproduce the above copyright
21  * notice, this list of conditions and the following disclaimer in the
22  * documentation and/or other materials provided with the distribution.
23  *
24  * * Neither the name of Texas Instruments Incorporated nor the names of
25  * its contributors may be used to endorse or promote products derived
26  * from this software without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39  * Contact information for paper mail:
40  * Texas Instruments
41  * Post Office Box 655303
42  * Dallas, Texas 75265
43  * Contact information:
44  * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45  * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46  * ============================================================================
47  *
48  */
49 
50 
51 #ifndef ti_syslink_utils_ResTrack__include
52 #define ti_syslink_utils_ResTrack__include
53 
54 #include <ti/syslink/osal/OsalTypes.h>
55 #include <ti/syslink/utils/List.h>
56 
57 
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61 
62 
63 /* =============================================================================
64  * Macros and types
65  * =============================================================================
66  */
67 
68 #define ResTrack_S_SUCCESS 0
69 #define ResTrack_E_FAIL (-1)
70 #define ResTrack_E_MEMORY (-2)
71 #define ResTrack_E_PID (-3)
72 #define ResTrack_E_NOTFOUND (-4)
73 
74 
78 typedef Bool (*ResTrack_Fxn)(Void *ptrA, Void *ptrB);
79 
83 typedef struct ResTrack_Object *ResTrack_Handle;
84 
88 typedef struct {
91 
92 
93 /* =============================================================================
94  * APIs
95  * =============================================================================
96  */
106 
117 ResTrack_Handle ResTrack_create(ResTrack_Params *params);
118 
126 Void ResTrack_delete(ResTrack_Handle *handlePtr);
127 
140 Int ResTrack_pop(ResTrack_Handle handle, Osal_Pid pid, List_Elem **resPtr);
141 
154 Int ResTrack_push(ResTrack_Handle handle, Osal_Pid pid, List_Elem *res);
155 
167 Int ResTrack_register(ResTrack_Handle handle, Osal_Pid pid);
168 
185 Int ResTrack_remove(ResTrack_Handle handle, Osal_Pid pid, List_Elem *ref,
186  ResTrack_Fxn cmpFxn, List_Elem **resPtr);
187 
199 Int ResTrack_unregister(ResTrack_Handle handle, Osal_Pid pid);
200 
201 
202 #if defined (__cplusplus)
203 }
204 #endif
205 
206 #endif /* ti_syslink_utils_ResTrack__include */
Copyright 2014, Texas Instruments Incorporated