FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/g23m-aci/aci/psa_util.c @ 777:08f148c63220
gsm-fw/include/condat-features.h: added PHONEBOOK_EXTENSION and SMS_PDU_SUPPORT
| author | Michael Spacefalcon <falcon@ivan.Harhan.ORG> | 
|---|---|
| date | Sat, 07 Mar 2015 22:31:27 +0000 | 
| parents | eedbf248bac0 | 
| children | 1c0c8f93bd60 | 
| rev | line source | 
|---|---|
| 775 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 +----------------------------------------------------------------------------- | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 | Project : GSM-PS (6147) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 | Modul : PSA_UTIL | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 +----------------------------------------------------------------------------- | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 | All rights reserved. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 | This file is confidential and a trade secret of Texas | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 | Instruments Berlin, AG | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 | The receipt of or possession of this file does not convey | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 | any rights to reproduce or disclose its contents or to | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 | manufacture, use, or sell anything it may describe, in | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 | whole, or in part, without the specific written consent of | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 | Texas Instruments Berlin, AG. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 +----------------------------------------------------------------------------- | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 | Purpose : This module provides utility functions | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 +----------------------------------------------------------------------------- | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 #ifndef PSA_UTIL_C | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 #define PSA_UTIL_C | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 #endif | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 #include "aci_all.h" | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 26 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 /*==== INCLUDES ===================================================*/ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 28 #include "aci_cmh.h" | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 #include "ati_cmd.h" | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 /*==== CONSTANTS ==================================================*/ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 /*==== EXPORT =====================================================*/ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 /*==== VARIABLES ==================================================*/ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 /*==== FUNCTIONS ==================================================*/ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 | PROJECT : GSM-F&D () MODULE : ATI_RET | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 | STATE : code ROUTINE : psa_search_SATSrcId| | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 PURPOSE : search SAT Source Id | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 /* CLB: can't be returning a UBYTE... Otherwise search_SATSrcId is | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 ALWAYS positive: -1 is 0xFF */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 #ifdef FF_SAT_E | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 GLOBAL T_ACI_CMD_SRC psa_search_SATSrcId (void) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 T_ACI_CMD_SRC src_id; /* Current command source id. */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 TRACE_FUNCTION("psa_search_SATSrcId ()"); | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 #ifdef SIM_TOOLKIT | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 for (src_id = CMD_SRC_LCL; src_id < CMD_SRC_MAX; src_id++) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 if (ati_is_src_type((UBYTE) src_id, ATI_SRC_TYPE_SAT)) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 return src_id; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 #endif /* SIM_TOOLKIT */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 return(CMD_SRC_NONE); | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 #endif /* FF_SAT_E */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 | PROJECT : GSM-PS (6147) MODULE : PSA_UTIL | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 | STATE : code ROUTINE : utl_BCD2String | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 PURPOSE : Function for converting a buffer that contains unpacked | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 bcd digits of either MCC or MNC into a printable, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 null terminated C-string. Note: The output buffer "bcd_string" | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 78 has to have at least the size len + 1, as the "len" is the | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 length of the input "bcd" digits and the terminating '\0' | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 also has to be stored. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 GLOBAL void utl_BCD2String (char *bcd_string, const UBYTE *bcd, USHORT len) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 86 SHORT idx; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 87 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 for (idx = 0; idx < len; idx++) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 89 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 90 if (bcd[idx] <= 9) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 bcd_string[idx] = bcd[idx] + '0'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 else | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 bcd_string[idx] = '\0'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 97 return; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 98 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 bcd_string[len] = '\0'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 | PROJECT : GSM-PS (6147) MODULE : PSA_UTIL | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 | STATE : code ROUTINE : utl_dialStr2BCD | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 PURPOSE : Function that cleans all characters in a dialnumber | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 that are not in 0-9,a,b,c,#,*. and converts the valid | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 characters into a BCD number. the function returns the | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 number of BCD digits that are converted. If pBCDBuf is | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 113 NULL, only the length of the resulting BCD number is evaluated. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 114 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 GLOBAL USHORT utl_dialStr2BCD (const char *pDialStr, UBYTE *pBCDBuf, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 UBYTE maxDigits) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 USHORT numBcdDigits = 0, strIdx; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 UBYTE c; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 for(strIdx = 0; numBcdDigits < maxDigits AND pDialStr[strIdx] NEQ '\0'; strIdx++) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 124 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 125 c = 0xFF; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 switch (pDialStr[strIdx]) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 case '0': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 case '1': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 case '2': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 case '3': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 case '4': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 case '5': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 case '6': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 case '7': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 case '8': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 case '9': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 c = pDialStr[strIdx]-'0'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 case '*': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 c = 0x0a; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 case '#': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 c = 0x0b; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 case 'A': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 c = 0x0c; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 case 'B': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 154 c = 0x0d; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 155 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 case 'C': | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 c = 0x0e; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 default: /* Ignore non-matching characters */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 164 if (c NEQ 0xFF) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 if (pBCDBuf NEQ NULL) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 167 pBCDBuf[numBcdDigits] = c; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 numBcdDigits++; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 169 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 return numBcdDigits; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 173 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 174 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 175 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 176 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 177 | PROJECT : GSM-PS (6147) MODULE : PSA_UTIL | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 178 | STATE : code ROUTINE : utl_BCD2DialStr | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 179 +--------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 180 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 181 PURPOSE : converts a BCD number into a string of ascii digits | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 182 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 183 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 184 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 185 GLOBAL void utl_BCD2DialStr (const UBYTE *pBCD, char *pDSBuf, UBYTE numDigits) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 186 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 187 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 188 for( ;numDigits > 0; numDigits--, pBCD++ ) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 189 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 190 switch( *pBCD ) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 191 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 192 case( 0x00 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 193 case( 0x01 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 194 case( 0x02 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 195 case( 0x03 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 196 case( 0x04 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 197 case( 0x05 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 198 case( 0x06 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 199 case( 0x07 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 200 case( 0x08 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 201 case( 0x09 ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 202 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 203 *pDSBuf++ = *pBCD + '0'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 204 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 205 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 206 case( 0x0a ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 207 *pDSBuf++ = '*'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 208 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 209 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 210 case( 0x0b ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 211 *pDSBuf++ = '#'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 212 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 213 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 214 case( 0x0c ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 215 *pDSBuf++ = 'A'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 216 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 217 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 218 case( 0x0d ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 219 *pDSBuf++ = 'B'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 220 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 221 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 222 case( 0x0e ): | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 223 *pDSBuf++ = 'C'; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 224 break; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 225 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 226 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 227 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 228 *pDSBuf = 0x0; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 229 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 230 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 231 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 232 +-------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 233 | PROJECT : GSM-PS (6147) MODULE : PSA_UTIL | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 234 | STATE : code ROUTINE : utl_cvt7To8 | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 235 +-------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 236 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 237 PURPOSE : This function converts from the 7 bit default alphabet | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 238 for SMS point-to-point messages to 8 bit alphabet. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 239 The function returns the length in bytes of the converted | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 240 destination string. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 241 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 242 Note: This function is copied from entity SMS, file | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 243 sms_tlf.c | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 244 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 245 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 246 /* PATCH add a parameter to tell the function to begin to expand | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 247 to 8 bits from a specific bit offset inside the first byte | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 248 (needed to handle correctly TP-UD headers in SMS) */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 249 GLOBAL UBYTE utl_cvt7To8 (const UBYTE* source, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 250 UBYTE source_len, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 251 UBYTE* dest, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 252 UBYTE bit_offset) /* indicates which bit of the first byte is the boundary of the 7bits source | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 253 ex: for bit_offset = 3, bits 0-2 (low weight bits) will not be decoded*/ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 254 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 255 UBYTE d_mask = 0x01; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 256 UBYTE s_mask; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 257 UBYTE icnt; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 258 UBYTE ocnt; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 259 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 260 *dest = 0x00; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 261 icnt = source_len; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 262 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 263 if( !icnt ) return( 0 ); | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 264 ocnt = 0; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 265 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 266 while (icnt) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 267 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 268 s_mask = 0x01; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 269 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 270 /* PATCH */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 271 if (icnt == source_len) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 272 s_mask <<= bit_offset; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 273 /* PATCH end */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 274 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 275 while (s_mask > 0x00) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 276 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 277 if (s_mask & *source) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 278 *dest |= d_mask; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 279 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 280 s_mask <<= 1; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 281 d_mask <<= 1; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 282 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 283 if (d_mask > 0x40) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 284 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 285 dest++; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 286 ocnt++; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 287 d_mask = 0x01; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 288 *dest = 0x00; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 289 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 290 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 291 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 292 source++; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 293 icnt--; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 294 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 295 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 296 return( ocnt ); | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 297 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 298 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 299 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 300 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 301 +-------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 302 | PROJECT : GSM-PS (6147) MODULE : PSA_UTIL | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 303 | STATE : code ROUTINE : utl_cvtPnn7To8 | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 304 +-------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 305 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 306 PURPOSE : This function converts from the 7 bit default alphabet | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 307 for PNN Operator names to 8 bit alphabet. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 308 The function returns the length in bytes of the converted | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 309 destination string. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 310 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 311 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 312 GLOBAL UBYTE utl_cvtPnn7To8 (const UBYTE* source, UBYTE source_len, UBYTE dcs, UBYTE* dest ) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 313 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 314 return utl_cvt7To8 (source, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 315 (UBYTE)(MINIMUM (MAX_ALPHA_OPER_LEN,(source_len*8-(dcs&0x07)+6)/7) ), | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 316 dest, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 317 0); | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 318 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 319 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 320 /* | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 321 +-------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 322 | PROJECT : GSM-PS (6147) MODULE : PSA_UTIL | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 323 | STATE : code ROUTINE : utl_cvt8To7 | | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 324 +-------------------------------------------------------------------+ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 325 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 326 PURPOSE : This function converts from the 8 bit default alphabet | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 327 for SMS point-to-point messages to 7 bit alphabet. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 328 The function returns the length in bytes of the converted | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 329 destination string. | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 330 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 331 Note: This function is copied from entity SMS, file | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 332 sms_tlf.c | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 333 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 334 GLOBAL UBYTE utl_cvt8To7 ( UBYTE* source, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 335 UBYTE source_len, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 336 UBYTE* dest, | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 337 UBYTE bit_offset) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 338 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 339 UBYTE d_mask = 0x01; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 340 UBYTE s_mask; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 341 UBYTE icnt; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 342 UBYTE ocnt; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 343 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 344 *dest = 0x00; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 345 icnt = source_len; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 346 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 347 if( !icnt ) return( 0 ); | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 348 ocnt = 1; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 349 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 350 /* PATCH */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 351 if (icnt == source_len) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 352 d_mask <<= bit_offset; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 353 /* PATCH end */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 354 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 355 while (icnt) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 356 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 357 s_mask = 0x01; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 358 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 359 while (s_mask <= 0x40) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 360 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 361 if (s_mask & *source) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 362 *dest |= d_mask; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 363 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 364 s_mask <<= 1; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 365 d_mask <<= 1; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 366 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 367 if (d_mask EQ 0x00) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 368 { | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 369 dest++; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 370 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 371 /* don't increment ocnt if the new octet will not be used */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 372 if ((s_mask < 0x80) OR (icnt NEQ 1)) | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 373 ocnt++; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 374 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 375 d_mask = 0x01; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 376 *dest = 0x00; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 377 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 378 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 379 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 380 source++; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 381 icnt--; | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 382 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 383 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 384 return( ocnt ); | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 385 } | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 386 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 387 /* Implements Measure 25 */ | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 388 | 
| 
eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 389 /*==== EOF ========================================================*/ | 
