iresman.h

Go to the documentation of this file.
00001 /* 
00002  * Copyright (c) 2009, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  * 
00032  */
00051 #ifndef IRESMAN_
00052 #define IRESMAN_
00053 
00056 
00057 #ifdef __cplusplus
00058 extern "C" {
00059 #endif
00060 
00061 #include <ti/xdais/ires_common.h> 
00062 
00067 typedef Bool (IRESMAN_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs);
00068 
00073 typedef Void (IRESMAN_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs);
00074 
00075 
00081 typedef struct IRESMAN_Params {
00082 
00086     Int32 size;
00087 
00092     IRESMAN_PersistentAllocFxn * allocFxn;
00093 
00098     IRESMAN_PersistentFreeFxn * freeFxn;    
00099 
00100 } IRESMAN_Params;
00101 
00102 typedef struct IRESMAN_Fxns {
00103 
00107     String (*getProtocolName)();
00108 
00113     IRES_ProtocolRevision * (* getProtocolRevision)();
00114 
00126     IRES_Status (* init)(IRESMAN_Params * initArgs);
00127 
00135     IRES_Status (* exit)();
00136 
00155     IRES_Handle (* getHandle)(IALG_Handle algHandle, 
00156             IRES_ProtocolArgs * protocolArgs, Int scratchGroupId, 
00157             IRES_Status * status);
00158 
00169     IRES_Status (* freeHandle)(IALG_Handle algHandle, 
00170             IRES_Handle resourceHandle, IRES_ProtocolArgs * protocolArgs, 
00171             Int scratchGroupId);
00172 
00173 } IRESMAN_Fxns;
00174 
00175 #ifdef __cplusplus
00176 }
00177 #endif /* extern "C" */
00178 
00181 #endif  /* IRESMAN_ */
00182 /*
00183  *  @(#) ti.sdo.fc.ires; 1, 0, 0,155; 11-8-2009 20:57:50; /db/atree/library/trees/fc/fc-l04x/src/
00184  */
00185 

Copyright 2009, Texas Instruments Incorporated