FreeCalypso > hg > fc-tourmaline
annotate src/condat/com/include/cl_user_spver.h @ 304:58c7961bd0b0 default tip
TCH tap: extend DL sniffing feature to support CSD modes
Our debug feature for TCH DL sniffing reads the content of the DSP's
a_dd_0 buffer (or a_dd_1 for TCH/H subchannel 1) at appropriate times
and forwards captured bits to the host. This feature was originally
implemented for TCH/FS, TCH/EFS and TCH/HS - now extend it to cover
TCH/F data modes too.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 25 Nov 2024 23:33:27 +0000 |
parents | 4bb5772a05a3 |
children |
rev | line source |
---|---|
301
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This header file is a FreeCalypso addition; it is part of the mechanism |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * for setting a user-defined list of accepted speech versions in the Bearer |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * Capability IE for speech calls, with a user-defined order of preference, |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * overriding the standard SV list based on hw+fw platform capabilities |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * and the standard order of preference. |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 */ |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #ifndef CL_USER_SPVER_H |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #define CL_USER_SPVER_H |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 /* |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 * This function sets (establishes for use) a user-defined SV list. |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 * The input is an array of 5 bytes, giving the list of speech versions |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 * in the user-preferred order; if fewer than all 5 possible SVs are listed, |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 * the remaining array elements shall be filled with 0xFF. At least FRv1 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 * (GSM full rate speech version 1) must always be included in the list; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 * a corollary of this requirement is that an empty list is not a valid input. |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 */ |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 extern UBYTE cl_user_spver_set(const UBYTE *spver_list); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 /* cl_user_spver_set() return codes */ |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #define CL_USER_SPVER_SET_OK 0 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #define CL_USER_SPVER_SET_ERROR 1 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 /* |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 * This function resets (clears) the user-defined SV list, returning to |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 * standard operation of accepting all speech versions supported by the |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 * platform with the standard order of preference. |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 */ |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 extern void cl_user_spver_reset(void); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 /* |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 * This function checks to see if a user-defined speech version list is set. |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 * If no such list is set, the function returns CL_USER_SPVER_IS_NOT_SET |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 * and leaves *spver_list and *rad_chan_req untouched. If a user-defined |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 * SV list is set, the function returns CL_USER_SPVER_IS_SET, writes the list |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 * into the *spver_list output array (all 5 bytes are always written, |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 * with 0xFF padding as needed), and writes the corresponding radio channel |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 * requirement code into *rad_chan_req. |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 */ |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 extern UBYTE cl_user_spver_get(UBYTE *spver_list, UBYTE *rad_chan_req); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 /* cl_user_spver_get() return codes */ |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #define CL_USER_SPVER_IS_NOT_SET 0 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #define CL_USER_SPVER_IS_SET 1 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #endif /* include guard */ |