1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 2 +-----------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 3 | Project : MMI-Framework (8417)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 4 | Modul : PSA_PHB
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 5 +-----------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 6 | Copyright 2005 Texas Instruments Berlin, AG
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 7 | All rights reserved.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 8 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 9 | This file is confidential and a trade secret of Texas
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 10 | Instruments Berlin, AG
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 11 | The receipt of or possession of this file does not convey
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 12 | any rights to reproduce or disclose its contents or to
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 13 | manufacture, use, or sell anything it may describe, in
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 14 | whole, or in part, without the specific written consent of
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 15 | Texas Instruments Berlin, AG.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 16 +-----------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 17 | Purpose : Definitions for SIM phonebook management block
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 18 | The functions of this block are aware about SIM data structures,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 19 | they are not responsible for communication with the SIM itself.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 20 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 21 | Details can be found in the design document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 22 | "Phone Book Re-Architecture
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 23 +-----------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 24 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 25
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 26 #ifndef PHB_SIM_H
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 27 #define PHB_SIM_H
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 29 #include "db.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 30 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 31 * Constants
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 32 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 33 #define PHB_MAX_TAG_LEN 20 /* Arbitrary, old phonebook, nobody complained */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 34
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 35 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 36 * 04.08 clause 9.3.23.2 Called Party BCD allows for a
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 37 * PHB_PACKED_NUM_LEN of 40 as biggest definition which
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 38 * still could make any sense, but we have also to consider
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 39 * ACI's MAX_PHB_NUM_LEN in aci_cmh.h, therefore a definition
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 40 * of PHB_PACKED_NUM_LEN with size 20 makes more sense.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 41 * With this, an ADN entry plus exatly one EXT1 record is filled.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 42 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 43 #define PHB_PACKED_NUM_LEN 20 /* See MAX_PHB_NUM_LEN in aci_cmh.h */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 44
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 45 #define PHB_PACKED_SUB_LEN 22 /* 11.11 clause 10.5.10, chained 2 EXT records */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 46 #define ECC_NUM_LEN 3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 47 #define FFS_PHB_DIR "/phb_db"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 48
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 49 //#define SIM_ICI 0x6f80 /* Release 1999 LRN, LMN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 50 #define FFS_LRN 0xFF00 /* Structure of SIM_OCI, for LRN, arbitrary unique value */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 51 #define FFS_LMN 0xFF01 /* Structure of SIM_OCI, for LMN, arbitrary unique value */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 52 #define FFS_EXT_LRN 0xFF02 /* Structure of EXT5 for LRN, arbitrary unique value */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 53 #define FFS_EXT_LMN 0xFF03 /* Structure of EXT5 for LMN, arbitrary unique value */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 54 #define SIM_OCI 0x6f81 /* Release 1999 LDN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 55 // 0x6f4e is for the SIM EXT4, so we to assign another value for EXT5 here
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 56 //#define SIM_EXT5 0x6f4e /* Release 1999 EXT5 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 57 #define SIM_EXT5 0x6f55 /* Arbitrary EXT5 value for EF_ICI/EF_OCI */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 58
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 59 #define NAME_IDX 1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 60 #define NUMBER_IDX 2
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 61
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 62 /* ECC Phonebook Structure */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 63 typedef struct
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 64 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 65 USHORT phy_idx; /* physical record number */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 66 UBYTE number[ECC_NUM_LEN]; /* Dialing number/SSC string */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 67 } T_PHB_ECC_RECORD;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 68
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 69 /* Type of phonebook */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 70 typedef enum
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 71 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 72 INVALID_PHB = -1, /* Invalid Phonebook Type. */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 73 ECC = 0, /* Emergency call numbers */ /* SIM => EF_ECC */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 74 ADN, /* Abbreviated dialing number */ /* SIM => EF_ADN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 75 FDN, /* Fixed dialing number */ /* SIM => EF_FDN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 76 BDN, /* Barred dialing number */ /* SIM => EF_BDN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 77 LDN, /* Last dialing number */ /* FFS => "/pcm/LDN" (old phb) */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 78 LRN, /* Last received number */ /* FFS => "/pcm/LRN" (old phb) */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 79 SDN, /* Service dialing number */ /* SIM => "EF_SDN" */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 80 LMN, /* last missed number */ /* FFS => "/pcm/LMN" (old phb) */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 81 UPN, /* User person number */ /* SIM => EF_MSISDN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 82 ME, /* ME phonebook, flash based */ /* FFS => to be defined */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 83 ADN_ME, /* ADN and ME phonebook merged */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 84 MAX_PHONEBOOK
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 85 } T_PHB_TYPE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 86
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 87 /* Type of extension */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 88 typedef enum
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 89 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 90 INVALID_EXT = -1,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 91 EXT1, /* ADN, LDN phonebook Extention */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 92 EXT2, /* FDN phonebook Extention */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 93 EXT3,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 94 EXT4,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 95 EXT5, /* Release 1999+ for EF_ICI, EF_OCI */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 96 EXT_LRN, /* Extension for LRN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 97 EXT_LMN, /* Extension for LMN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 98 MAX_PHB_EXT
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 99 } T_EXT_TYPE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 100
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 101 /* Phonebook result codes. Note: Not every result code occurs within the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 102 * SIM block of the phonebook (e.g. PHB_EXCT) */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 103 typedef enum
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 104 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 105 PHB_FAIL = -1, /* execution of command failed */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 106 PHB_LOCKED, /* needed elementary file locked */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 107 PHB_OK, /* execution of command completed */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 108 PHB_FULL, /* Phonebook is full */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 109 PHB_EXCT, /* execution (writing to SIM) is running */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 110 PHB_INVALID_IDX, /* invalid index requested */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 111 PHB_TAG_EXCEEDED, /* entry is too long to fit on SIM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 112 PHB_EMPTY_RECORD, /* attempted to read a free record */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 113 PHB_EXT_FULL /* Phonebook Extension is full */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 114 } T_PHB_RETURN;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 115
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 116
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 117 /* Phonebook entry match criteria */ // ### Is this PHB_SIM?
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 118 typedef enum
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 119 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 120 PHB_MATCH_GE, /* Match entry if greater or equal */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 121 PHB_MATCH_PARTIAL /* Match entry if exact partial match */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 122 } T_PHB_MATCH;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 123
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 124
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 125 /* File locking type */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 126 typedef enum
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 127 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 128 PHB_UNLOCKED = 0, /* Elementary file not locked */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 129 PHB_W_LOCK = 1, /* Elementary file locked for writing */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 130 PHB_R_LOCK = 2, /* Elementary file locked for reading */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 131 PHB_RW_LOCK = 3 /* Elementary file locked */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 132 } T_PHB_LOCK;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 133
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 134
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 135 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 136 * Type definitions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 137 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 138
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 139 /* Phonebook time */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 140 typedef struct
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 141 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 142 UBYTE year;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 143 UBYTE month;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 144 UBYTE day;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 145 UBYTE hour;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 146 UBYTE minute;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 147 UBYTE second;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 148 UBYTE time_zone; /* 0xff means not present */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 149 ULONG duration; /* 0 means not answered, */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 150 /* 0xFFFFFFFF not present */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 151 } T_PHB_TIME;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 152
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 153
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 154 /* Phonebook record */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 155 typedef struct
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 156 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 157 USHORT phy_recno; /* physical record number */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 158 UBYTE tag_len; /* Length of Alpha identifier */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 159 UBYTE tag[PHB_MAX_TAG_LEN]; /* Alpha identifier */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 160 UBYTE len; /* Length of BCD number/SSC contents */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 161 UBYTE ton_npi; /* TON and NPI */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 162 UBYTE number[PHB_PACKED_NUM_LEN]; /* Dialing number/SSC string */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 163 UBYTE subaddr[PHB_PACKED_SUB_LEN];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 164 UBYTE cc_id; /* Capability/Configuration identifier */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 165 UBYTE v_time; /* Valid flag */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 166 T_PHB_TIME time; /* Time of phone call */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 167 UBYTE v_line; /* Valid flag */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 168 UBYTE line; /* MC line call was made/received upon */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 169 } T_PHB_RECORD;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 170
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 171
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 172 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 173 * Function prototypes
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 174 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 175
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 176 EXTERN void pb_sim_init (void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 177 EXTERN void pb_sim_exit (void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 178 EXTERN T_PHB_RETURN pb_sim_set_ecc (UBYTE ecc_len,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 179 const UBYTE *sim_ecc);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 180 EXTERN T_PHB_RETURN pb_sim_create_ef (USHORT ef,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 181 USHORT record_size,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 182 USHORT records);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 183 EXTERN T_PHB_RETURN pb_sim_write_ef (USHORT ef,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 184 USHORT phy_recno,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 185 USHORT entry_size,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 186 const UBYTE *buffer,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 187 BOOL *changed,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 188 USHORT *ext_record_ef,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 189 UBYTE *ext_record_no);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 190
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 191 EXTERN T_PHB_RETURN pb_sim_open (const T_imsi_field *imsi_field,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 192 BOOL *changed);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 193 EXTERN T_PHB_RETURN pb_sim_read_ef (USHORT ef,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 194 USHORT phy_recno,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 195 USHORT *entry_size,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 196 UBYTE *buffer);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 197 EXTERN T_PHB_RETURN pb_sim_remove_ef (USHORT ef);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 198 EXTERN T_PHB_RETURN pb_sim_build_index (T_PHB_TYPE type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 199 EXTERN T_PHB_RETURN pb_sim_flush_data (void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 200 EXTERN T_PHB_RETURN pb_sim_add_record (T_PHB_TYPE type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 201 USHORT phy_recno,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 202 const T_PHB_RECORD *entry,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 203 T_DB_CHANGED *rec_affected);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 204 EXTERN T_PHB_RETURN pb_sim_del_record (T_PHB_TYPE type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 205 USHORT phy_recno,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 206 T_DB_CHANGED *rec_affected);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 207 EXTERN T_PHB_RETURN pb_sim_read_record (T_PHB_TYPE type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 208 USHORT phy_recno,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 209 T_PHB_RECORD *entry);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 210 EXTERN T_PHB_RETURN pb_sim_read_alpha_num_record (T_PHB_TYPE type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 211 USHORT order_num,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 212 T_PHB_RECORD *entry,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 213 UBYTE sort_index);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 214 EXTERN T_PHB_RETURN pb_sim_search_name (T_PHB_TYPE type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 215 T_PHB_MATCH match,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 216 const T_ACI_PB_TEXT *search_tag,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 217 SHORT *order_num);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 218 EXTERN T_PHB_RETURN pb_sim_search_number (T_PHB_TYPE type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 219 const UBYTE *number,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 220 SHORT *order_num);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 221 EXTERN T_PHB_RETURN pb_sim_read_sizes (T_PHB_TYPE type, /* IN */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 222 SHORT *max_rcd, /* OUT */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 223 SHORT *used_rcd, /* OUT */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 224 UBYTE *tag_len, /* OUT */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 225 SHORT *max_ext, /* OUT */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 226 SHORT *used_ext);/* OUT */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 227 EXTERN int pb_sim_get_entry_len (const UBYTE *pb_tag,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 228 UBYTE max_pb_len);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 229 EXTERN int pb_sim_find_free_record (T_PHB_TYPE type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 230
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 231 EXTERN int pb_sim_find_free_ext_record ();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 232
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 233 EXTERN void pb_sim_update_ext_bitmap(UBYTE rec_num, BOOL flag);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 234
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 235 EXTERN int pb_sim_cmpWild ( const char *s1,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 236 const char *s2,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 237 size_t cmp_len );
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 238
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 239 EXTERN void pb_update_cphs_mb_ext_record(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 240
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 241 #endif /* #ifndef PHB_SIM_H */