SysLink API Reference  2.21.03.11
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Functions
ResTrack.h File Reference

Detailed Description

Resource Tracker utility module.

#include <ti/syslink/osal/OsalTypes.h>
#include <ti/syslink/utils/List.h>
Include dependency graph for ResTrack.h:

Go to the source code of this file.

Data Structures

struct  ResTrack_Params
 Structure defining params for creating an instance. More...

Macros

#define ResTrack_S_SUCCESS   0
#define ResTrack_E_FAIL   (-1)
#define ResTrack_E_MEMORY   (-2)
#define ResTrack_E_PID   (-3)
#define ResTrack_E_NOTFOUND   (-4)

Typedefs

typedef Bool(* ResTrack_Fxn )(Void *ptrA, Void *ptrB)
 Resource compare function type.
typedef struct ResTrack_Object * ResTrack_Handle
 An instance handle type.

Functions

Void ResTrack_Params_init (ResTrack_Params *params)
 Initialize this config-params structure with supplier-specified defaults before instance creation.
ResTrack_Handle ResTrack_create (ResTrack_Params *params)
 Create a resource tracker object.
Void ResTrack_delete (ResTrack_Handle *handlePtr)
 Delete a resource tracker object.
Int ResTrack_pop (ResTrack_Handle handle, Osal_Pid pid, List_Elem **resPtr)
 Get first element from the resource list.
Int ResTrack_push (ResTrack_Handle handle, Osal_Pid pid, List_Elem *res)
 Add resouce element for given process id.
Int ResTrack_register (ResTrack_Handle handle, Osal_Pid pid)
 Register a new process with the resource tracker.
Int ResTrack_remove (ResTrack_Handle handle, Osal_Pid pid, List_Elem *ref, ResTrack_Fxn cmpFxn, List_Elem **resPtr)
 Remove specific resource object from the resource list.
Int ResTrack_unregister (ResTrack_Handle handle, Osal_Pid pid)
 Unregister the given process with the resource tracker.

Macro Definition Documentation

#define ResTrack_S_SUCCESS   0
#define ResTrack_E_FAIL   (-1)
#define ResTrack_E_MEMORY   (-2)
#define ResTrack_E_PID   (-3)
#define ResTrack_E_NOTFOUND   (-4)

Typedef Documentation

typedef Bool(* ResTrack_Fxn)(Void *ptrA, Void *ptrB)

Resource compare function type.

typedef struct ResTrack_Object* ResTrack_Handle

An instance handle type.


Function Documentation

Void ResTrack_Params_init ( ResTrack_Params params)

Initialize this config-params structure with supplier-specified defaults before instance creation.

Parameters:
paramsInstance config-params structure.
See also:
ResTrack_create
ResTrack_Handle ResTrack_create ( ResTrack_Params params)

Create a resource tracker object.

Parameters:
paramsPointer to creation parameters. If NULL is passed, default parameters are used.
Return values:
Handleto the object
See also:
ResTrack_delete
Void ResTrack_delete ( ResTrack_Handle handlePtr)

Delete a resource tracker object.

Parameters:
handlePtrPointer to resource tracker instance handle
See also:
ResTrack_create
Int ResTrack_pop ( ResTrack_Handle  handle,
Osal_Pid  pid,
List_Elem **  resPtr 
)

Get first element from the resource list.

Parameters:
handleResource tracker instance handle
pidProcess id
resPtrResource object return pointer, may be NULL
Return values:
ResTrack_S_SUCCESSOperation succeeded
ResTrack_E_PIDNo process object for given id
See also:
ResTrack_push, ResTrack_remove
Int ResTrack_push ( ResTrack_Handle  handle,
Osal_Pid  pid,
List_Elem res 
)

Add resouce element for given process id.

Parameters:
handleResource tracker instance handle
pidProcess id
resResource object to be added
Return values:
ResTrack_S_SUCCESSOperation succeeded
ResTrack_E_PIDNo process object for given id
See also:
ResTrack_pop
Int ResTrack_register ( ResTrack_Handle  handle,
Osal_Pid  pid 
)

Register a new process with the resource tracker.

Parameters:
handleResource tracker instance handle
pidProcess id to register
Return values:
ResTrack_S_SUCCESSOperation succeeded
ResTrack_E_MEMORYMemory unavailable
See also:
ResTrack_unregister
Int ResTrack_remove ( ResTrack_Handle  handle,
Osal_Pid  pid,
List_Elem ref,
ResTrack_Fxn  cmpFxn,
List_Elem **  resPtr 
)

Remove specific resource object from the resource list.

Parameters:
handleResource tracker instance handle
pidProcess id
refReference resource object
cmpFxnCompare function
resPtrPointer to return resource, may be NULL
Return values:
ResTrack_S_SUCCESSOperation succeeded
ResTrack_E_PIDNo process object for given id
ResTrack_E_NOTFOUNDNo resource found which matches the reference resource
See also:
ResTrack_push, ResTrack_pop
Int ResTrack_unregister ( ResTrack_Handle  handle,
Osal_Pid  pid 
)

Unregister the given process with the resource tracker.

Parameters:
handleResource tracker instance handle
pidProcess id to unregister
Return values:
ResTrack_S_SUCCESSOperation succeeded
ResTrack_E_PIDNo process object for given id
See also:
ResTrack_register
Copyright 2014, Texas Instruments Incorporated