FreeCalypso > hg > fc-magnetite
comparison src/condat2/com/include/vdbapi.h @ 3:93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 26 Sep 2016 00:29:36 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2:c41a534f33c6 | 3:93999a60b835 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : GSM-PS (6147) | |
4 | Modul : | |
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 : | |
18 +----------------------------------------------------------------------------- | |
19 */ | |
20 | |
21 #ifndef __VDBAPI_H__ | |
22 #define __VDBAPI_H__ | |
23 | |
24 /* | |
25 * @todo anpassen an routing information | |
26 */ | |
27 | |
28 /* | |
29 * Number of protocol stack entities witch concurrently uses the VDB | |
30 */ | |
31 #define VDB_MAX_ENTITIES 8 | |
32 | |
33 /* | |
34 * Identifiers for the protocol stack entities. To use at | |
35 * initialisation of the VDB (vdb_init()). | |
36 */ | |
37 #define VDB_MMI 7 | |
38 #define VDB_SIM 6 | |
39 #define VDB_SMS 5 | |
40 #define VDB_SS 4 | |
41 #define VDB_CC 3 | |
42 #define VDB_MM 2 | |
43 #define VDB_RR 1 | |
44 #define VDB_DL 0 | |
45 | |
46 | |
47 /* | |
48 * Return codes for the state parameter of the vdb_read_req() | |
49 */ | |
50 #define VDB_ENTITY_VALID 1 | |
51 #define VDB_ENTITY_EMPTY 2 | |
52 #define VDB_ENTITY_UNDEF 0 | |
53 | |
54 /* | |
55 * Definition to mark the assi parameter invalid | |
56 * for the function vdb_update_req() | |
57 */ | |
58 #define VDB_INVALID_SSI ((ULONG)-1L) | |
59 | |
60 /* | |
61 * definition of the VDB related part of the destination adress | |
62 * fragment of the primitives used in the base station. | |
63 */ | |
64 | |
65 typedef struct | |
66 { | |
67 UBYTE vdb_id; | |
68 ULONG vdb_handle; | |
69 ULONG search_ssi; | |
70 ULONG send_ssi; | |
71 } T_DEST_ADDR; | |
72 | |
73 | |
74 /* == PROTOTYPES OF THE FUNCTIONAL VDB IMPLEMENTATION ============ */ | |
75 | |
76 EXTERN BOOL vdb_reset (void); | |
77 | |
78 EXTERN BOOL vdb_init (UBYTE entity, | |
79 UBYTE vdb_id); | |
80 | |
81 EXTERN void vdb_read_req (T_DEST_ADDR * da, | |
82 UBYTE entity, | |
83 void **entry, | |
84 UBYTE * state); | |
85 | |
86 EXTERN void vdb_update_req (T_DEST_ADDR * da, | |
87 UBYTE entity, | |
88 void * entry, | |
89 ULONG assi); | |
90 | |
91 EXTERN void vdb_free_req (T_DEST_ADDR * da, | |
92 UBYTE entity); | |
93 | |
94 EXTERN void vdb_unlock_req (T_DEST_ADDR * da); | |
95 | |
96 /* == MACRODEFINITION FOR THE VARIOUS REALISATIONS OF THE VDB == */ | |
97 | |
98 #ifdef VDB_AS_A_MODULE | |
99 | |
100 #define VDB_READ_REQ(l,d,e,v,s) void * v; UBYTE s; vdb_read_req (d,e,&v,&s) | |
101 #define VDB_NET_READ_REQ(l,p,e,v,s) void * v; UBYTE s; NET_TO_DEST(p);\ | |
102 vdb_read_req (&dest_addr,e,&v,&s) | |
103 #define VDB_UNLOCK_REQ(d) vdb_unlock_req (d); | |
104 #define VDB_UPDATE_REQ(d,e,v,a) vdb_update_req (d,e,v,a) | |
105 #define VDB_FREE_REQ(d,e) vdb_free_req (d,e); | |
106 | |
107 #else | |
108 #ifdef VDB_AS_A_SERVER | |
109 /* | |
110 * opcodes may be defined by server stub | |
111 */ | |
112 #define READ_REQ 1 | |
113 #define UPDATE_REQ 2 | |
114 #define FREE_REQ 3 | |
115 | |
116 #define VDB_READ_REQ(l,d,e,v,s) void * v; UCHAR s; vdb (READ_REQ,d,e,&v,&s) | |
117 #define VDB_NET_READ_REQ(l,p,e,v,s) void * v; UCHAR s; NET_TO_DEST(p);\ | |
118 vdb (READ_REQ,&dest_addr,e,&v,&s) | |
119 #define VDB_UNLOCK_REQ(d) vdb (UNLOCK_REQ, d) | |
120 #define VDB_UPDATE_REQ(d,e,v,a) vdb (UPDATE_REQ, d,e,v,a) | |
121 #define VDB_FREE_REQ(d,e) vdb (FREE_REQ, d,e) | |
122 | |
123 #else | |
124 #ifdef VDB_AS_A_PROCESS | |
125 /* | |
126 * Not defined yet | |
127 */ | |
128 #define VDB_READ_REQ(l,d,e,v,s) void l(); send_vdb_read_req (l,d,e); }\ | |
129 void l(T_DEST_ADDR * d, void **v, UBYTE *s) { | |
130 #define VDB_NET_READ_REQ(l,p,e,v,s) void l(); NET_TO_DEST(p);\ | |
131 send_vdb_read_req (l,&dest_addr,e); }\ | |
132 void l(T_DEST_ADDR * d, void **v, UBYTE *s) { | |
133 #define VDB_UNLOCK_REQ(d) send_vdb_read_req (d) | |
134 #define VDB_UPDATE_REQ(d,e,v,a) send_vdb_update_req (d,e,v,a) | |
135 #define VDB_FREE_REQ(d,e) send_vdb_free_req (d,e) | |
136 | |
137 #endif | |
138 #endif | |
139 #endif | |
140 | |
141 #endif | |
142 |