comparison gsm-fw/g23m-aci/aci/aci_lst.h @ 775:eedbf248bac0

gsm-fw/g23m-aci subtree: initial import from LoCosto source
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 12 Oct 2014 01:45:14 +0000
parents
children
comparison
equal deleted inserted replaced
774:40a721fd9854 775:eedbf248bac0
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : GSM-PS (6147)
4 | Modul : aci_lst
5 +-----------------------------------------------------------------------------
6 | Copyright 2002 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Purpose : Process lists in ACI
18 +-----------------------------------------------------------------------------
19 */
20
21 #ifndef ACI_LST_H
22 #define ACI_LST_H
23
24
25 /*==== TYPES ======================================================*/
26
27 typedef struct ACI_LIST_S
28 {
29 void *msg;
30 struct ACI_LIST_S *next;
31 } T_ACI_LIST;
32
33 typedef BOOL T_LIST_FIND_FCT (UBYTE criterium, void *elem);
34 typedef BOOL T_LIST_FIND_FCT_PSI (U32 criterium, void *elem);
35
36 /*==== PROTOTYPES =================================================*/
37
38 /*==== EXPORT =====================================================*/
39
40 EXTERN USHORT get_list_count (T_ACI_LIST *list);
41 EXTERN T_ACI_LIST *new_list (void);
42 EXTERN BOOL insert_list (T_ACI_LIST *list,
43 void *buffer);
44 EXTERN BOOL insert_shift_list (T_ACI_LIST *list, void *buffer);
45
46 EXTERN void *get_next_element (T_ACI_LIST *search_list,
47 void *prev_elem);
48
49 EXTERN void *find_next_element (T_ACI_LIST *search_list,
50 void *prev_elem,
51 UBYTE criterium,
52 T_LIST_FIND_FCT test_criterium);
53
54 EXTERN void *find_element (T_ACI_LIST *search_list,
55 UBYTE criterium,
56 T_LIST_FIND_FCT test_criterium);
57
58
59 EXTERN void *remove_first_element (T_ACI_LIST *search_list);
60 EXTERN void *remove_element (T_ACI_LIST *search_list,
61 UBYTE criterium,
62 T_LIST_FIND_FCT test_criterium);
63 #ifdef FF_PSI
64 EXTERN void *psi_find_next_element (T_ACI_LIST *search_list,
65 void *prev_elem,
66 U32 criterium,
67 T_LIST_FIND_FCT_PSI test_criterium);
68 EXTERN void *psi_find_element (T_ACI_LIST *search_list,
69 U32 criterium,
70 T_LIST_FIND_FCT_PSI test_criterium);
71 EXTERN void *psi_remove_element (T_ACI_LIST *search_list,
72 U32 criterium,
73 T_LIST_FIND_FCT_PSI test_criterium);
74 #endif /*FF_PSI*/
75
76 #endif