FreeCalypso > hg > fc-magnetite
annotate src/ui3/atb/ATBPbFS.c @ 582:72f5b47a0d07
src/{aci2,ui3}/bmi/mmiIdle.c: enlarged buffer for ###520#
to handle the longer fw version ID strings we now have
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 29 Jan 2019 05:26:34 +0000 | 
| parents | e8ddbb0837ed | 
| children | 
| rev | line source | 
|---|---|
| 420 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 #include "typedefs.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 #include "vsi.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 #include "pei.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 #include "custom.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 #include "gsm.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #include <stdio.h> | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #include <string.h> | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include "mfw_mfw.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 #include "mfw_sys.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 #include "cus_aci.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 #include "prim.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 #include "pcm.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 /* BEGIN ADD: Sumit : Req ID: : 31-Mar-2005*/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 #ifndef NEPTUNE_BOARD | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 /* END ADD: Sumit : Req ID: : 31-Mar-2005*/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 #include "ffs/ffs.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 /* BEGIN ADD: Sumit : Req ID: : 31-Mar-2005*/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 #else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 #include "ffs.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 #endif | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 /* END ADD: Sumit : Req ID: : 31-Mar-2005*/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 #include "ffs_coat.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "ATBPb.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 #include "ATBPbFS.h" | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 T_PB_FSDATA fsdata; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 UBYTE empty_rec[2] = {0xFF,0}; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 EXTERN T_HANDLE aci_handle; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 #ifdef TI_PS_HCOMM_CHANGE | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #define _hCommMMI aci_handle | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 #else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 #define hCommMMI aci_handle | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 #endif | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 $Function: FS_pb_GetPhonebook | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 $Description: Checks to see if FFS phonebook is present, and if it is selected. If it | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 is not present, creates info file with default parameters. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 PB_EXCT Action currently executing, callback awaited. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 PB_ERROR Error. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 current_type Place to store type of phonebook selected. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 PB_RET FS_pb_GetPhonebook(SHORT phonebook_id, T_PB_TYPE *current_type) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 T_PB_FSINFO info; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 tracefunction("FS_pb_GetPhonebook"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 fsdata.info_file = FFS_open("/mmi/pbinfo", FFS_O_RDWR); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 if (fsdata.info_file<0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 /* File does not exist. Attempt to create it. */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 fsdata.info_file = FFS_open("/mmi/pbinfo", FFS_O_RDWR | FFS_O_CREATE); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 if (fsdata.info_file<0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 trace("** Cannot create file - flash phonebook not available **"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 return PB_FILEWRITEFAIL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 /* Have opened file. Set phonebook to SIM and store setting. */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 info.type_selected = PB_TYPE_SIM; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 info.records_max = PB_RECORDS_MAX; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 info.alpha_max = PB_ALPHATAG_MAX; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 info.number_max = PB_NUMBER_MAX; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 info.ext_max = PB_EXT_MAX; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 FFS_write(fsdata.info_file, (void *)&info, sizeof(T_PB_FSINFO)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 FFS_close(fsdata.info_file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 FFS_read(fsdata.info_file, (void *)&info, sizeof(T_PB_FSINFO)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 FFS_close(fsdata.info_file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 /* Check to make sure parameters are in acceptable range */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 if (info.records_max<0 || info.records_max>PB_RECORDS_UPPER_LIMIT) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 info.records_max = PB_RECORDS_UPPER_LIMIT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 if (info.alpha_max<0 || info.alpha_max>PB_ALPHATAG_UPPER_LIMIT) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 info.alpha_max = PB_ALPHATAG_UPPER_LIMIT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 if (info.number_max<0 || info.number_max>PB_NUMBER_UPPER_LIMIT) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 info.number_max = PB_NUMBER_UPPER_LIMIT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 if (info.ext_max<0 || info.ext_max>PB_EXT_UPPER_LIMIT) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 info.ext_max = PB_EXT_UPPER_LIMIT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 fsdata.records_max = info.records_max; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 fsdata.alpha_max = info.alpha_max; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 fsdata.number_max = info.number_max; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 fsdata.ext_max = info.ext_max; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 fsdata.record_size = info.alpha_max*sizeof(USHORT)+info.number_max/2+info.ext_max+sizeof(UBYTE); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 /* x0045876, 14-Aug-2006 (WR - enumerated type mixed with another type) */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 *current_type = (T_PB_TYPE) info.type_selected; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 $Function: FS_pb_SetPhonebook | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 $Description: Select a phonebook | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 PB_EXCT Action currently executing, callback awaited. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 PB_ERROR Error. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 current_type New value for selected phonebook | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 PB_RET FS_pb_SetPhonebook(SHORT phonebook_id, T_PB_TYPE current_type) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 T_PB_FSINFO info; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 T_FFS_SIZE size; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 T_FFS_RET fsret; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 tracefunction("FS_pb_SetPhonebook"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 /* Have opened file. Read in current settings. */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 size = FFS_file_read("/mmi/pbinfo", (void *)&info, sizeof(T_PB_FSINFO)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 if (size<=0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 return PB_FILEREADFAIL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 info.type_selected = current_type; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 fsret = FFS_file_write("/mmi/pbinfo", (void *)&info, sizeof(T_PB_FSINFO), FFS_O_TRUNC); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 if (fsret!=EFFS_OK) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 return PB_FILEWRITEFAIL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 $Function: FS_pb_Initialise | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 $Description: Creates the necessary phonebook file(s) if they do not already exist. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 PB_EXCT Action currently executing, callback awaited. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 PB_FILEREADFAIL File read encountered an error | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 PB_FILEWRITEFAIL File write encountered an error | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 type Type of phonebook. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 records_max Indicates the maximum number of entries the | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 phonebook can hold. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 alpha_max Maximum size of unicode alpha tag in characters | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 number_max Maximum size of phone number in characters | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 ext_max Maximum size of extended data in bytes | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 PB_RET FS_pb_Initialise(SHORT phonebook_id, T_PB_TYPE type, SHORT records_max, | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 SHORT alpha_max, SHORT number_max, SHORT ext_max) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 SHORT phys_index; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 char filename[30]; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 SHORT fileIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 SHORT recIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 UBYTE newfile=FALSE; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 T_FFS_RET retvalue; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 T_FFS_SIZE sizevalue; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 UBYTE *blankRec; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 tracefunction("FS_pb_Initialise"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 fsdata.file = NULL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 fsdata.fileID = -1; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 /* Create blank record */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 blankRec = (UBYTE *)mfwAlloc(fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 memset(blankRec, 0xFF, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 /* Create files */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 trace("Creating files..."); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 for (phys_index = 0; phys_index<records_max; phys_index++) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 FS_file_GetIndex(phys_index, &fileIndex, &recIndex); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 /* Check if we're starting a new file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 if (recIndex == 0 ) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 if (fileIndex!=0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 retvalue = FFS_close(fsdata.file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 fsdata.file = NULL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 fsdata.fileID = -1; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 trace_P2("Closing file %d, result %d",fsdata.file, retvalue); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 FS_file_GetName(filename, phonebook_id, fileIndex); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 fsdata.file = FFS_open(filename, FFS_O_RDWR); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 trace_P2("Try to open file %s, result %d",filename, fsdata.file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 if (fsdata.file<0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 fsdata.file = FFS_open(filename, FFS_O_RDWR | FFS_O_CREATE); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 fsdata.fileID = fileIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 trace_P2("Create file %s, result %d",filename, fsdata.file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 newfile = TRUE; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 newfile = FALSE; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 if (newfile) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 sizevalue = FFS_write(fsdata.file, (void *)blankRec, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 trace_P2("Writing record %d, result %d",phys_index, sizevalue); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 /* Close the last file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 retvalue = FFS_close(fsdata.file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 trace_P2("Closing last file %d, result %d",fsdata.file, retvalue); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 fsdata.file = NULL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 fsdata.fileID = -1; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 /* Get rid of blank record */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 mfwFree(blankRec, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 #ifdef BLOCKING | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 #else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 return PB_EXCT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 #endif | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 $Function: FS_pb_ReadRec | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 $Description: Reads a record from the physical position index. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 PB_EXCT Action currently executing, callback awaited. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 PB_FILEREADFAIL File read encountered an error | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 phys_index Physical index of the record to read. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 record Structure in which to store record data (allocated by | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 caller). | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 PB_RET FS_pb_ReadRec(SHORT phonebook_id, SHORT phys_index, T_PB_RECORD *record) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 SHORT charIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 UBYTE *recordstore; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 SHORT recIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 USHORT *unicode; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 tracefunction("FS_pb_ReadRec"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 /* Make sure record exists */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 if (phys_index>=fsdata.records_max) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 return PB_RECDOESNOTEXIST; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 /* Open the file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 recIndex = FS_file_OpenForRec(phonebook_id, phys_index); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 /* Find the record in the file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 FFS_seek(fsdata.file, fsdata.record_size*recIndex, FFS_SEEK_SET); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 /* Read the record */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 recordstore = (UBYTE *)mfwAlloc(fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 FFS_read(fsdata.file, (void *)recordstore, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 /* Copy alpha tag */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 unicode = (USHORT *)recordstore; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 charIndex = 0; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 do | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 record->alpha.data[charIndex] = unicode[charIndex]; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 if (unicode[charIndex]!=0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 charIndex++; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 while (unicode[charIndex]!=0 && unicode[charIndex]!=0xFFFF && charIndex<fsdata.alpha_max); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 record->alpha.length = charIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 /* Copy number */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 memcpy((UBYTE *)record->number, (UBYTE *)&recordstore[fsdata.alpha_max*sizeof(USHORT)], fsdata.number_max/2); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 /* Copy ton/npi */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 record->ton_npi = recordstore[fsdata.alpha_max*sizeof(USHORT)+fsdata.number_max/2]; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 mfwFree(recordstore, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 #ifdef BLOCKING | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 #else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 return PB_EXCT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 #endif | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 $Function: FS_pb_WriteRec | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 $Description: Writes a record to the physical position index. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 PB_EXCT Action currently executing, callback awaited. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 PB_FILEWRITEFAIL File write encountered an error | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 phys_index Physical index of the record to write. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 record Record data to write to phonebook (allocated by caller). | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 PB_RET FS_pb_WriteRec(SHORT phonebook_id, SHORT phys_index, T_PB_RECORD *record) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 SHORT charIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 UBYTE *recordstore; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 SHORT recIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 USHORT *unicode; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 /* Make sure record exists */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 if (phys_index>=fsdata.records_max) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 return PB_RECDOESNOTEXIST; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 /* Copy alpha tag */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 recordstore = (UBYTE *)mfwAlloc(fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 unicode = (USHORT *)recordstore; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 for (charIndex=0; charIndex<record->alpha.length; charIndex++) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 unicode[charIndex] = record->alpha.data[charIndex]; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 unicode[charIndex] = 0; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 /* Copy number */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 memcpy(&recordstore[fsdata.alpha_max*sizeof(USHORT)], record->number, fsdata.number_max/2); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 /* Copy ton/npi */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 recordstore[fsdata.alpha_max*sizeof(USHORT)+fsdata.number_max/2] = record->ton_npi; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 /* Open the file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 recIndex = FS_file_OpenForRec(phonebook_id, phys_index); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 /* Find the record in the file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 FFS_seek(fsdata.file, fsdata.record_size*recIndex, FFS_SEEK_SET); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 /* Write record */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 FFS_write(fsdata.file, (void *)recordstore, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 mfwFree(recordstore, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 #ifdef BLOCKING | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 #else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 return PB_EXCT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 #endif | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 $Function: FS_pb_DeleteRec | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 $Description: Deletes a record at a physical position index. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 PB_EXCT Action currently executing, callback awaited. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 PB_FILEWRITEFAIL File write encountered an error | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 phys_index Physical index of the record to delete. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 PB_RET FS_pb_DeleteRec(SHORT phonebook_id, SHORT phys_index) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 UBYTE *recordstore; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 SHORT recIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 /* Make sure record exists */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 if (phys_index>=fsdata.records_max) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 return PB_RECDOESNOTEXIST; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 /* Allocate null buffer */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 recordstore = (UBYTE *)mfwAlloc(fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 memset(recordstore, 0xFF, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 /* Open the file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 453 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 recIndex = FS_file_OpenForRec(phonebook_id, phys_index); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 /* Find the record in the file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 FFS_seek(fsdata.file, fsdata.record_size*recIndex, FFS_SEEK_SET); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 /* Write record */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 461 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 462 FFS_write(fsdata.file, (void *)recordstore, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 463 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 464 mfwFree(recordstore, fsdata.record_size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 465 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 466 #ifdef BLOCKING | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 467 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 468 #else | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 469 return PB_EXCT; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 470 #endif | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 471 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 472 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 473 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 474 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 475 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 476 $Function: FS_pb_Finished | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 477 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 478 $Description: Operation is over; close the last file. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 479 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 480 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 481 PB_ERROR Error. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 482 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 483 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 484 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 485 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 486 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 487 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 488 PB_RET FS_pb_Finished(SHORT phonebook_id) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 489 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 490 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 491 if (fsdata.fileID!=-1 && fsdata.file) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 492 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 493 FFS_close(fsdata.file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 494 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 495 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 496 fsdata.file = NULL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 497 fsdata.fileID = -1; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 498 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 499 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 500 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 501 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 502 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 503 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 504 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 505 $Function: FS_pb_ReadTables | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 506 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 507 $Description: Read in index table files | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 508 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 509 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 510 PB_ERROR Error. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 511 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 512 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 513 records_used Number of entries in phonebook | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 514 name_table Table of entries ordered by name | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 515 number_table Table of entries ordered by number | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 516 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 517 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 518 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 519 PB_RET FS_pb_ReadTables(SHORT phonebook_id, SHORT *records_used, SHORT *name_table, SHORT *number_table) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 520 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 521 T_FFS_RET ret; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 522 T_FFS_FD file; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 523 T_FFS_SIZE size; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 524 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 525 UBYTE writing; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 526 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 527 tracefunction("FS_pb_ReadTables"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 528 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 529 /* Check if file wrote OK */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 530 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 531 writing = 2; /* Dummy value to check for errors */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 532 size = FFS_file_read("/mmi/pbverify", (void *)&writing, sizeof(UBYTE)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 533 trace_P1("Try to read file /mmi/pbverify, size = %d", size); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 534 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 535 if (size<0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 536 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 537 ret = FFS_file_write("/mmi/pbverify", (void *)&writing, sizeof(UBYTE), FFS_O_CREATE); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 538 trace_P1("Try to create file /mmi/pbverify, ret = %d", ret); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 539 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 540 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 541 trace_P1("Value of writing = %d", writing); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 542 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 543 if (writing==TRUE) /* Operation was aborted while reading tables file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 544 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 545 trace("***ERROR - tables not written properly"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 546 return PB_FILEREADFAIL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 547 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 548 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 549 /* Read in tables file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 550 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 551 file = FFS_open("/mmi/pbtables", FFS_O_RDWR); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 552 trace_P1("Try to open file /mmi/pbtables, result %d", file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 553 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 554 if (file<0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 555 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 556 return PB_FILEREADFAIL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 557 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 558 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 559 FFS_read(file, (void *)records_used, sizeof(SHORT)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 560 FFS_read(file, (void *)name_table, fsdata.records_max*sizeof(SHORT)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 561 FFS_read(file, (void *)number_table, fsdata.records_max*sizeof(SHORT)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 562 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 563 FFS_close(file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 564 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 565 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 566 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 567 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 568 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 569 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 570 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 571 $Function: FS_pb_WriteTables | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 572 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 573 $Description: Update index table files | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 574 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 575 $Returns: PB_OK Action completed OK. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 576 PB_FILEWRITEFAIL | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 577 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 578 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 579 records_used Number of entries in phonebook | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 580 name_table Table of entries ordered by name | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 581 number_table Table of entries ordered by number | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 582 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 583 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 584 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 585 PB_RET FS_pb_WriteTables(SHORT phonebook_id, SHORT records_used, SHORT *name_table, SHORT *number_table) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 586 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 587 T_FFS_RET ret; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 588 T_FFS_FD file; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 589 UBYTE writing; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 590 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 591 tracefunction("FS_pb_WriteTables"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 592 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 593 /* Indicate that file writing is in progress */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 594 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 595 writing = TRUE; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 596 ret = FFS_file_write("/mmi/pbverify", (void *)&writing, sizeof(UBYTE), FFS_O_TRUNC); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 597 trace_P1("1. Try to write file /mmi/pbverify, result = %d", ret); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 598 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 599 /* Update tables file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 600 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 601 file = FFS_open("/mmi/pbtables", FFS_O_RDWR); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 602 trace_P1("Try to open file /mmi/pbtables, result %d", file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 603 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 604 if (file<0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 605 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 606 file = FFS_open("/mmi/pbtables", FFS_O_RDWR | FFS_O_CREATE); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 607 trace_P1("Create file /mmi/pbtables, result %d", file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 608 if (file<0) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 609 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 610 trace("** Cannot create file - flash phonebook not available **"); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 611 return PB_FILEWRITEFAIL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 612 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 613 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 614 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 615 FFS_write(file, (void *)&records_used, sizeof(SHORT)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 616 FFS_write(file, (void *)name_table, fsdata.records_max*sizeof(SHORT)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 617 FFS_write(file, (void *)number_table, fsdata.records_max*sizeof(SHORT)); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 618 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 619 FFS_close(file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 620 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 621 /* Indicate that file was written OK */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 622 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 623 writing = FALSE; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 624 ret = FFS_file_write("/mmi/pbverify", (void *)&writing, sizeof(UBYTE), FFS_O_TRUNC); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 625 trace_P1("2. Try to write file /mmi/pbverify, result = %d", ret); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 626 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 627 return PB_OK; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 628 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 629 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 630 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 631 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 632 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 633 $Function: FS_file_GetIndex | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 634 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 635 $Description: For a given physical index, return the file and record number. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 636 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 637 $Returns: None | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 638 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 639 $Arguments: phys_index The physical record index | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 640 fileIndex Pointer to variable to store file index | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 641 recIndex Pointer to variable to store record index | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 642 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 643 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 644 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 645 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 646 void FS_file_GetIndex(SHORT phys_index, SHORT *fileIndex, SHORT *recIndex) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 647 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 648 *fileIndex = phys_index/PB_RECS_PER_FILE; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 649 *recIndex = phys_index % PB_RECS_PER_FILE; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 650 return; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 651 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 652 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 653 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 654 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 655 $Function: FS_file_GetName | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 656 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 657 $Description: For a given file index, return the filename. | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 658 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 659 $Returns: None | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 660 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 661 $Arguments: filename Pointer to string to store the filename | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 662 phonebook_id The identifier of the phonebook | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 663 fileIndex The index of the file | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 664 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 665 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 666 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 667 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 668 void FS_file_GetName(char *filename, SHORT phonebook_id, SHORT fileIndex) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 669 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 670 sprintf(filename, "/mmi/pb%d", fileIndex); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 671 return; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 672 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 673 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 674 /******************************************************************************* | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 675 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 676 $Function: FS_file_OpenForRec | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 677 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 678 $Description: Open the appropriate file to access a specific record | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 679 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 680 $Returns: None | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 681 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 682 $Arguments: phonebook_id The phonebook identifier | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 683 phys_index The physical record index | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 684 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 685 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 686 *******************************************************************************/ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 687 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 688 SHORT FS_file_OpenForRec(SHORT phonebook_id, SHORT phys_index) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 689 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 690 SHORT fileIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 691 SHORT recIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 692 char filename[30]; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 693 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 694 /* Open file if it is not already open */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 695 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 696 FS_file_GetIndex(phys_index, &fileIndex, &recIndex); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 697 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 698 if (fsdata.fileID!=fileIndex || fsdata.file==NULL) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 699 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 700 /* Close currently open file */ | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 701 if (fsdata.file!=NULL) | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 702 { | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 703 FFS_close(fsdata.file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 704 fsdata.file = NULL; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 705 fsdata.fileID = -1; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 706 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 707 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 708 FS_file_GetName(filename, phonebook_id, fileIndex); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 709 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 710 fsdata.file = FFS_open(filename, FFS_O_RDWR); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 711 trace_P2("Try to open file %s, result %d",filename, fsdata.file); | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 712 fsdata.fileID = fileIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 713 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 714 | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 715 return recIndex; | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 716 } | 
| 
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 717 | 
