FreeCalypso > hg > fc-magnetite
diff src/condat3/com/include/cl_ribu.h @ 18:c8bd5a927942
src/condat3: import of "condat" tree from TCS3.2, pruned
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 27 Sep 2016 21:25:36 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/condat3/com/include/cl_ribu.h Tue Sep 27 21:25:36 2016 +0000 @@ -0,0 +1,71 @@ +/* ++----------------------------------------------------------------------------- +| Project : COMLIB +| Modul : cl_ribu ++----------------------------------------------------------------------------- +| Copyright 2002 Texas Instruments Berlin, AG +| All rights reserved. +| +| This file is confidential and a trade secret of Texas +| Instruments Berlin, AG +| The receipt of or possession of this file does not convey +| any rights to reproduce or disclose its contents or to +| manufacture, use, or sell anything it may describe, in +| whole, or in part, without the specific written consent of +| Texas Instruments Berlin, AG. ++----------------------------------------------------------------------------- +| Purpose : Definitions of global types used by common library functions +| and the prototypes of those functions. ++----------------------------------------------------------------------------- +*/ +/* + * Version 1.0 + */ + +/**********************************************************************************/ + +#ifndef CL_RIBU_H +#define CL_RIBU_H + +/**********************************************************************************/ + +typedef struct +{ + U8 ri; /* ring buffer read index */ + U8 wi; /* ring buffer write index */ + U8 depth; /* ring buffer depth */ + U8 filled; /* ring buffer filled flag */ +} T_RIBU; + +typedef struct +{ + U8 type; + U8 status; + U8 len; /* buffer length */ + U8 *buf; /* buffer start address */ +} T_FD; /* frame descriptor */ + +typedef struct +{ + T_RIBU idx; + T_FD **pFDv; /* frame descriptor vector */ +} T_RIBU_FD; + +/**********************************************************************************/ + +EXTERN void cl_ribu_create(T_RIBU_FD **ribu, const U8 buflen, const U8 depth); +EXTERN void cl_ribu_release(T_RIBU_FD **ribu); + +EXTERN void cl_ribu_put(const T_FD fd, T_RIBU_FD *ribu); +EXTERN T_FD *cl_ribu_get(T_RIBU_FD *ribu); +EXTERN T_FD *cl_ribu_get_new_frame_desc(T_RIBU_FD *ribu); + +EXTERN void cl_ribu_init(T_RIBU *ribu, const U8 depth); +EXTERN U8 cl_ribu_read_index(T_RIBU *ribu); +EXTERN U8 cl_ribu_write_index(T_RIBU *ribu); +EXTERN BOOL cl_ribu_data_avail(const T_RIBU_FD *ribu); + +EXTERN void cl_set_frame_desc(T_FRAME_DESC *frame_desc, U8 *A0, U16 L0, U8 *A1, U16 L1); +EXTERN void cl_set_frame_desc_0(T_FRAME_DESC *frame_desc, U8 *A0, U16 L0); + +#endif /* CL_RIBU_H */