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 :
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 4 | Modul :
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 5 +-----------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 6 | Copyright 2002 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 : This Module defines the engineering mode (EM) device driver for the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 18 | G23 protocol stack. This driver is used to control all engineering
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 19 | mode related functions.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 20 +-----------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 21 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 22
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 23 #ifndef ACI_EM_C
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 24 #define ACI_EM_C
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 25 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 26
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 27 #include "aci_all.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 28 /*===== INCLUDES ===================================================*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 29
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 30 #include "aci_cmh.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 31
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 32 #ifdef UART
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 33 #include "dti.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 34 #include "dti_conn_mng.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 35 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 36
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 37 #ifdef _SIMULATION_
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 38 #ifdef UART
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 39 #include "psa_uart.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 40 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 41 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 42
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 43 #include "ati_cmd.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 44 #include "aci_mem.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 45
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 46 #ifdef FF_ATI
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 47 #include "aci_io.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 48 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 49
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 50 #include "aci.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 51
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 52 #include "aci_em.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 53
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 54 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 55 #include "gaci.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 56 #include "gaci_cmh.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 57 #include "psa.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 58 #include "cmh.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 59 #include "cmh_sm.h"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 60 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 61
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 62
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 63 /*==== CONSTANTS ==================================================*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 64 /*==== PRIVAT =====================================================*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 65 /*==== EXPORT =====================================================*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 66
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 67 EXTERN UBYTE em_l1_sem_buffer [];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 68 EXTERN UBYTE em_l1_sem_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 69 EXTERN UBYTE em_dl_sem_buffer [];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 70 EXTERN UBYTE em_dl_sem_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 71 EXTERN UBYTE em_rr_sem_buffer [];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 72 EXTERN UBYTE em_rr_sem_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 73
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 74 EXTERN void em_l1_sem_read (void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 75 EXTERN void em_l1_sem_reset(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 76 EXTERN void em_dl_sem_read (void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 77 EXTERN void em_dl_sem_reset(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 78 EXTERN void em_rr_sem_read (void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 79 EXTERN UBYTE em_rr_sem_reset(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 80
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 81 EXTERN UBYTE em_mm_event_buffer[EM_MM_BUFFER_SIZE];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 82 EXTERN UBYTE em_mm_buffer_write;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 83 EXTERN UBYTE em_cc_event_buffer[EM_CC_BUFFER_SIZE];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 84 EXTERN UBYTE em_cc_buffer_write;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 85 EXTERN UBYTE em_ss_event_buffer[EM_SS_BUFFER_SIZE];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 86 EXTERN UBYTE em_ss_buffer_write;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 87 EXTERN UBYTE em_sms_event_buffer[EM_SMS_BUFFER_SIZE];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 88 EXTERN UBYTE em_sms_buffer_write;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 89 EXTERN UBYTE em_sim_event_buffer[EM_SIM_BUFFER_SIZE];
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 90 EXTERN UBYTE em_sim_buffer_write;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 91
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 92 EXTERN void em_aci_sem (UBYTE entity, UBYTE *buffer, UBYTE buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 93
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 94 #ifndef WIN32
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 95 EXTERN const CHAR* l1_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 96 EXTERN const CHAR* dl_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 97 EXTERN const CHAR* rr_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 98 EXTERN const CHAR* mm_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 99 EXTERN const CHAR* cc_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 100 EXTERN const CHAR* ss_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 101 EXTERN const CHAR* sim_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 102 EXTERN const CHAR* sms_version(void);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 103 /*EXTERN const CHAR* aci_version(void);*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 104 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 105
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 106 /*==== VARIABLES ==================================================*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 107
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 108 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 109 * callback for the single infrastructure and mobile data functions.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 110 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 111 static drv_SignalCB_Type_EM em_para_signal_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 112 static drv_SignalCB_Type_EM em_para_signal_sc_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 113 static drv_SignalCB_Type_EM em_para_signal_sc_gprs_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 114 static drv_SignalCB_Type_EM em_para_signal_nc_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 115 static drv_SignalCB_Type_EM em_para_signal_loc_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 116 static drv_SignalCB_Type_EM em_para_signal_plmn_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 117 static drv_SignalCB_Type_EM em_para_signal_cip_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 118 static drv_SignalCB_Type_EM em_para_signal_pow_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 119 static drv_SignalCB_Type_EM em_para_signal_id_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 120 static drv_SignalCB_Type_EM em_para_signal_ver_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 121 static drv_SignalCB_Type_EM em_para_signal_gmm_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 122 static drv_SignalCB_Type_EM em_para_signal_grlc_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 123 static drv_SignalCB_Type_EM em_para_signal_amr_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 124 static drv_SignalCB_Type_EM em_para_signal_pdp_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 125
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 126 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 127 * callback for the event trace function.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 128 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 129 static drv_SignalCB_Type_EM_EVENT em_event_signal_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 130
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 131 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 132 * These flags indicates if the first event for the corresponding entity occurred. It is only used to
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 133 * prevent unnecessary semaphor copying.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 134 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 135 static UBYTE em_l1_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 136 static UBYTE em_dl_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 137 static UBYTE em_rr_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 138 static UBYTE em_mm_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 139 static UBYTE em_cc_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 140 static UBYTE em_ss_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 141 static UBYTE em_sms_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 142 static UBYTE em_sim_trace;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 143
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 144 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 145 * The buffer keeps all information about index and length of the single event trace data until it is
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 146 * passed to the originator of the em_Read_Event_Parameter() call.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 147 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 148 static T_EM_EVENT_BUF aci_em_buf;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 149
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 150 static UBYTE drv_enabled;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 151
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 152 static UBYTE em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 153
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 154 GLOBAL USHORT em_relcs = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 155
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 156 /*==== FUNCTIONS ==================================================*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 157 LOCAL UBYTE em_class_infra_data (UBYTE em_subclass, UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 158 LOCAL UBYTE em_class_mobile_data (UBYTE em_subclass, UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 159 LOCAL UBYTE em_class_event_tracing (UBYTE em_subclass, ULONG bitmask_h, ULONG bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 160
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 161 LOCAL UBYTE em_subclass_sc (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 162 LOCAL UBYTE em_subclass_sc_gprs (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 163 LOCAL UBYTE em_subclass_nc (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 164 LOCAL UBYTE em_subclass_loc_pag (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 165 LOCAL UBYTE em_subclass_plmn (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 166 LOCAL UBYTE em_subclass_ciph_hop_dtx (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 167 LOCAL UBYTE em_subclass_power (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 168 LOCAL UBYTE em_subclass_id (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 169 LOCAL UBYTE em_subclass_version (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 170 LOCAL UBYTE em_subclass_gmm (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 171 LOCAL UBYTE em_subclass_grlc (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 172 LOCAL UBYTE em_subclass_amr (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 173 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 174 LOCAL UBYTE em_subclass_pdp (UBYTE em_type);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 175 LOCAL void em_pco_pdp_trace_req (void );
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 176 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 177
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 178 LOCAL UBYTE em_event_l1 (USHORT bitmask_h, ULONG bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 179 LOCAL UBYTE em_event_dl (USHORT bitmask_h);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 180 LOCAL UBYTE em_event_rr (USHORT bitmask_h, ULONG bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 181 LOCAL UBYTE em_event_mm (ULONG bitmask_h);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 182 LOCAL UBYTE em_event_cc (ULONG bitmask_h, ULONG bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 183 LOCAL UBYTE em_event_ss (USHORT bitmask_h);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 184 LOCAL UBYTE em_event_sms (ULONG bitmask_h, ULONG bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 185 LOCAL UBYTE em_event_sim (ULONG bitmask);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 186
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 187 LOCAL void em_sw_ver_info_cnf (T_EM_SW_VER *version);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 188
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 189
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 190 /*==== FUNCTIONS ==================================================*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 191
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 192 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 193 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 194 | Function : em_Init
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 195 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 196 | Description : The function initializes the driver´s internal data. The
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 197 | function returns DRV_OK in case of a successful completition.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 198 | The function returns DRV_INITIALIZED if the driver has already
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 199 | been initialized and is ready to be used or is already in use.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 200 | In case of an initialization failure, which means that the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 201 | driver cannot be used, the function returns DRV_INITFAILURE.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 202 | This function handles unsupported primitives.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 203 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 204 | Parameters : Callback function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 205 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 206 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 207 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 208 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 209
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 210 GLOBAL UBYTE em_Init (drv_SignalCB_Type_EM in_SignalCBPtr, drv_SignalCB_Type_EM_EVENT in_SignalEventCBPtr)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 211 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 212 TRACE_FUNCTION("em_Init ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 213
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 214 em_para_signal_callback = in_SignalCBPtr; /* store call-back function - Data */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 215 em_event_signal_callback = in_SignalEventCBPtr; /* store call-back function - Event */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 216
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 217 em_relcs = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 218
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 219 if (drv_enabled EQ FALSE) { /* EM not initialized yet */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 220 drv_enabled = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 221 return DRV_OK;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 222 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 223 else {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 224 return DRV_INITIALIZED;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 225 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 226 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 227
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 228 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 229 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 230 | Function : em_Exit
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 231 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 232 | Description : The function is used to indicate that the driver and its
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 233 | functionality isn´t needed anymore.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 234 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 235 | Parameters : void
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 236 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 237 | Return : void
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 238 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 239 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 240
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 241 GLOBAL void em_Exit (void)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 242 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 243 TRACE_FUNCTION("em_Exit ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 244
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 245 em_para_signal_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 246 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 247
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 248 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 249 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 250 | Function : em_Read_Data_Parameter
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 251 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 252 | Description : The function is used to indicate that the driver and its
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 253 | functionality isn´t needed anymore.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 254 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 255 | Parameters : UBYTE em_class
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 256 | UBYTE em_subclass
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 257 | UBYTE em_type
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 258 | void (*cbfunc)(T_DRV_SIGNAL_EM * Signal)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 259 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 260 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 261 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 262 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 263
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 264 GLOBAL UBYTE em_Read_Data_Parameter (UBYTE em_class, UBYTE em_subclass, UBYTE em_type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 265 void (*cbfunc)(T_DRV_SIGNAL_EM * Signal))
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 266 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 267 TRACE_FUNCTION("em_Read_Data_Parameter ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 268
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 269 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 270 Used to store the callback-address for the different sub-functions. If the same infrastructure data is
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 271 requested a second time before the first one is served only the latest one is handled.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 272 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 273 switch (em_subclass)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 274 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 275 case EM_SUBCLASS_SC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 276 em_para_signal_sc_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 277 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 278 case EM_SUBCLASS_SC_GPRS:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 279 em_para_signal_sc_gprs_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 280 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 281 case EM_SUBCLASS_NC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 282 em_para_signal_nc_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 283 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 284 case EM_SUBCLASS_LOC_PAG:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 285 em_para_signal_loc_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 286 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 287 case EM_SUBCLASS_PLMN:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 288 em_para_signal_plmn_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 289 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 290 case EM_SUBCLASS_CIPH_HOP_DTX:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 291 em_para_signal_cip_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 292 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 293 case EM_SUBCLASS_POWER:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 294 em_para_signal_pow_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 295 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 296 case EM_SUBCLASS_ID:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 297 em_para_signal_id_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 298 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 299 case EM_SUBCLASS_SW_VERSION:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 300 em_para_signal_ver_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 301 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 302 case EM_SUBCLASS_GMM:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 303 em_para_signal_gmm_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 304 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 305 case EM_SUBCLASS_GRLC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 306 em_para_signal_grlc_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 307 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 308 case EM_SUBCLASS_AMR:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 309 em_para_signal_amr_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 310 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 311 case EM_SUBCLASS_PDP:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 312 em_para_signal_pdp_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 313 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 314 default:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 315 em_para_signal_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 316 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 317 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 318
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 319 switch (em_class)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 320 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 321 case EM_CLASS_INFRA_DATA:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 322 return(em_class_infra_data(em_subclass, em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 323 case EM_CLASS_MOBILE_DATA:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 324 return(em_class_mobile_data(em_subclass, em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 325 default:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 326 return EM_INVALID_CLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 327 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 328 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 329
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 330 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 331 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 332 | Function : em_Read_Event_Parameter
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 333 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 334 | Description : The function is used to indicate that the driver and its
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 335 | functionality isn´t needed anymore.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 336 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 337 | Parameters : UBYTE entity
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 338 | (*cbfunc)(T_DRV_SIGNAL_EM_EVENT * Signal)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 339 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 340 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 341 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 342 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 343
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 344 GLOBAL UBYTE em_Read_Event_Parameter (UBYTE entity, void (*cbfunc)(T_DRV_SIGNAL_EM_EVENT * Signal))
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 345 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 346 T_DRV_SIGNAL_EM_EVENT signal_params;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 347
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 348 UBYTE emet1=0,emet2=0,emet3=0,emet4=0,emet5=0,emet6=0,emet7=0,emet8=0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 349 UBYTE *event_buf;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 350 USHORT length_event_buf;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 351 UBYTE alr_tmp, dl_tmp, rr_tmp, mm_tmp, cc_tmp, ss_tmp, sms_tmp, sim_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 352
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 353 TRACE_FUNCTION("em_Read_Event_Parameter ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 354
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 355 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 356 * Used to store the callback-address for the different sub-functions. If the same event trace is
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 357 * requested a second time before the first one is served only the latest one is handled.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 358 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 359 em_event_signal_callback = cbfunc;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 360
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 361 em_aci_buf_index = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 362
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 363 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 364 * length_event_buf indicates the length of all event traces and is used for dynamic
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 365 * memory allocation. The single values are from the correspondent entities and therefor
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 366 * defined as global. To ensure that no buffer overflow happens, the actual index is stored
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 367 * in a temp variable - a new event could occure after the memory is allocated.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 368 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 369 length_event_buf = (alr_tmp=em_l1_sem_index) + (dl_tmp=em_dl_sem_index) + (rr_tmp=em_rr_sem_index) +
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 370 (mm_tmp=em_mm_buffer_write) + (cc_tmp=em_cc_buffer_write) + (ss_tmp=em_ss_buffer_write) +
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 371 (sms_tmp=em_sms_buffer_write) + (sim_tmp=em_sim_buffer_write);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 372
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 373 #ifdef WIN32
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 374 length_event_buf = 100;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 375 #endif /* WIN32 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 376
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 377 memset(&aci_em_buf, 0, sizeof(T_EM_EVENT_BUF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 378
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 379 ACI_MALLOC(event_buf, length_event_buf);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 380
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 381 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 382 * This checks if the entity is set in the bitmask and at least one event
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 383 * occurred in the corresponding entity. The event flag (em_xx_trace) protects
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 384 * unnecessary buffer operations.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 385 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 386 emet1 = ( (((entity & 0x0001) > 0) ? TRUE : FALSE) AND em_l1_trace ) ; /* L1 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 387 emet2 = ( (((entity & 0x0002) > 0) ? TRUE : FALSE) AND em_dl_trace ) ; /* DL */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 388 emet3 = ( (((entity & 0x0004) > 0) ? TRUE : FALSE) AND em_rr_trace ) ; /* RR */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 389 emet4 = ( (((entity & 0x0008) > 0) ? TRUE : FALSE) AND em_mm_trace ) ; /* MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 390 emet5 = ( (((entity & 0x0010) > 0) ? TRUE : FALSE) AND em_cc_trace ) ; /* CC */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 391 emet6 = ( (((entity & 0x0020) > 0) ? TRUE : FALSE) AND em_ss_trace ) ; /* SS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 392 emet7 = ( (((entity & 0x0040) > 0) ? TRUE : FALSE) AND em_sms_trace ); /* SMS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 393 emet8 = ( (((entity & 0x0080) > 0) ? TRUE : FALSE) AND em_sim_trace ); /* SIM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 394
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 395 if(emet1)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 396 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 397 em_aci_sem(EM_L1, event_buf, alr_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 398 em_l1_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 399 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 400 if(emet2)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 401 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 402 em_aci_sem(EM_DL, event_buf, dl_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 403 em_dl_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 404 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 405 if(emet3)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 406 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 407 em_aci_sem(EM_RR, event_buf, rr_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 408 em_rr_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 409 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 410 if(emet4)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 411 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 412 em_aci_sem(EM_MM, event_buf, mm_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 413 em_mm_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 414 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 415 if(emet5)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 416 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 417 em_aci_sem(EM_CC, event_buf, cc_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 418 em_cc_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 419 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 420 if(emet6)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 421 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 422 em_aci_sem(EM_SS, event_buf, ss_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 423 em_ss_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 424 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 425 if(emet7)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 426 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 427 em_aci_sem(EM_SMS, event_buf, sms_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 428 em_sms_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 429 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 430 if(emet8)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 431 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 432 em_aci_sem(EM_SIM, event_buf, sim_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 433 em_sim_trace = FALSE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 434 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 435
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 436 memcpy(&signal_params.Data, &aci_em_buf, sizeof(T_EM_EVENT_BUF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 437 signal_params.DataLength = length_event_buf;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 438 signal_params.Pointer = event_buf;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 439
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 440 if (em_event_signal_callback NEQ NULL) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 441 (*em_event_signal_callback)(&signal_params);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 442 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 443
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 444 ACI_MFREE(event_buf);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 445
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 446 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 447 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 448
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 449 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 450 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 451 | Function : em_Set_EventTrace
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 452 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 453 | Description : Set the event flags and the callback function for the subclass
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 454 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 455 | Parameters : subclass - defines the subclass the data is coming from
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 456 | bitmask_h - bitmask
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 457 | bitmask_l - bitmask
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 458 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 459 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 460 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 461 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 462 GLOBAL UBYTE em_Set_EventTrace (UBYTE em_subclass, ULONG bitmask_h, ULONG bitmask_l)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 463 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 464 TRACE_FUNCTION("em_Set_EventTrace ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 465
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 466 return(em_class_event_tracing(em_subclass, bitmask_h, bitmask_l));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 467 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 468
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 469
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 470 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 471 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 472 | Function : em_Received_Data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 473 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 474 | Description : Compose the callback function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 475 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 476 | Parameters : data - requested data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 477 subclass - defines the subclass the data is coming from
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 478 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 479 | Return : void
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 480 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 481 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 482 GLOBAL void em_Received_Data (void *data, UBYTE subclass)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 483 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 484 /*lint -e813*//* info about auto variable size of drv_SignalID_Type_EM*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 485 drv_SignalID_Type_EM signal_params;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 486
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 487 TRACE_FUNCTION("em_Received_Data ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 488
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 489 signal_params.SignalType = subclass;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 490
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 491 switch (subclass) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 492 case EM_SUBCLASS_SC: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 493 memcpy(&signal_params.UserData.sc, data, sizeof (T_EM_SC_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 494 signal_params.DataLength = (sizeof (signal_params.UserData.sc) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 495 em_para_signal_callback = em_para_signal_sc_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 496 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 497 case EM_SUBCLASS_SC_GPRS: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 498 memcpy(&signal_params.UserData.sc_gprs, data, sizeof (T_EM_SC_GPRS_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 499 signal_params.DataLength = (sizeof (signal_params.UserData.sc_gprs) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 500 em_para_signal_callback = em_para_signal_sc_gprs_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 501 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 502 case EM_SUBCLASS_NC: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 503 memcpy(&signal_params.UserData.nc, data, sizeof (T_EM_NC_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 504 signal_params.DataLength = (sizeof (signal_params.UserData.nc) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 505 em_para_signal_callback = em_para_signal_nc_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 506 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 507 case EM_SUBCLASS_LOC_PAG: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 508 memcpy(&signal_params.UserData.log_pag, data, sizeof (T_EM_LOC_PAG_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 509 signal_params.DataLength = (sizeof (signal_params.UserData.log_pag) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 510 em_para_signal_callback = em_para_signal_loc_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 511 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 512 case EM_SUBCLASS_PLMN: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 513 memcpy(&signal_params.UserData.plmn, data, sizeof (T_EM_PLMN_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 514 signal_params.UserData.plmn.rel_cause = em_relcs;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 515 signal_params.DataLength = (sizeof (signal_params.UserData.plmn) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 516 em_para_signal_callback = em_para_signal_plmn_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 517 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 518 case EM_SUBCLASS_CIPH_HOP_DTX: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 519 memcpy(&signal_params.UserData.cip, data, sizeof (T_EM_CIP_HOP_DTX_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 520 signal_params.DataLength = (sizeof (signal_params.UserData.cip) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 521 em_para_signal_callback = em_para_signal_cip_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 522 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 523 case EM_SUBCLASS_POWER: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 524 memcpy(&signal_params.UserData.power, data, sizeof (T_EM_POWER_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 525 signal_params.DataLength = (sizeof (signal_params.UserData.power) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 526 em_para_signal_callback = em_para_signal_pow_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 527 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 528 case EM_SUBCLASS_ID: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 529 memcpy(&signal_params.UserData.id, data, sizeof (T_EM_IDENTITY_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 530 signal_params.DataLength = (sizeof (signal_params.UserData.id) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 531 em_para_signal_callback = em_para_signal_id_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 532 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 533 case EM_SUBCLASS_SW_VERSION: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 534 em_sw_ver_info_cnf(&signal_params.UserData.version);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 535 signal_params.DataLength = (sizeof (signal_params.UserData.version) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 536 em_para_signal_callback = em_para_signal_ver_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 537 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 538 case EM_SUBCLASS_GMM: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 539 memcpy(&signal_params.UserData.gmm, data, sizeof (T_EM_GMM_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 540 signal_params.DataLength = (sizeof (signal_params.UserData.gmm) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 541 em_para_signal_callback = em_para_signal_gmm_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 542 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 543 case EM_SUBCLASS_GRLC: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 544 memcpy(&signal_params.UserData.grlc, data, sizeof (T_EM_GRLC_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 545 signal_params.DataLength = (sizeof (signal_params.UserData.grlc) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 546 em_para_signal_callback = em_para_signal_grlc_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 547 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 548 case EM_SUBCLASS_AMR: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 549 memcpy(&signal_params.UserData.amr, data, sizeof (T_EM_AMR_INFO_CNF));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 550 signal_params.DataLength = (sizeof (signal_params.UserData.amr) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 551 em_para_signal_callback = em_para_signal_amr_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 552 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 553 case EM_SUBCLASS_PDP: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 554 em_para_signal_callback = em_para_signal_pdp_callback;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 555 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 556 default: {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 557 signal_params.UserData.defaulT = 0xff;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 558 signal_params.DataLength = (sizeof (signal_params.UserData.defaulT) + 6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 559 em_para_signal_callback = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 560 break; }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 561 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 562 if (em_para_signal_callback NEQ NULL) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 563 (*em_para_signal_callback)(&signal_params);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 564 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 565
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 566 if(data NEQ NULL)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 567 PFREE(data);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 568 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 569
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 570 LOCAL void em_sw_ver_info_cnf (T_EM_SW_VER *version)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 571 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 572 TRACE_FUNCTION ("em_sw_ver_info_cnf()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 573
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 574 memset (version, 0, sizeof (T_EM_SW_VER));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 575
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 576 #ifndef WIN32
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 577 /* The respective functions are auto-generated by the target build only */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 578
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 579 /* Copy the static const strings into the structure */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 580 strncpy (version->alr, l1_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 581 strncpy (version->dl, dl_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 582 strncpy (version->rr, rr_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 583 strncpy (version->mm, mm_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 584 strncpy (version->cc, cc_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 585 strncpy (version->ss, ss_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 586 strncpy (version->sms, sms_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 587 strncpy (version->sim, sim_version(), MAX_VER-1);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 588 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 589 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 590
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 591 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 592 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 593 | Function : em_class_infra_data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 594 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 595 | Description : This function calls the appropriate subfunction for the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 596 | requested data (infrastructure data).
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 597 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 598 | Parameters : em_subclass - defines the subclass the data is requested from
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 599 | em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 600 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 601 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 602 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 603 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 604
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 605 LOCAL UBYTE em_class_infra_data (UBYTE em_subclass, UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 606 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 607 TRACE_FUNCTION("em_class_infra_data ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 608
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 609 switch (em_subclass)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 610 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 611 case EM_SUBCLASS_SC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 612 return (em_subclass_sc(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 613 case EM_SUBCLASS_SC_GPRS:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 614 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 615 return (em_subclass_sc_gprs(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 616 #else
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 617 return EM_INVALID_SUBCLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 618 #endif /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 619 case EM_SUBCLASS_NC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 620 return (em_subclass_nc(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 621 case EM_SUBCLASS_LOC_PAG:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 622 return (em_subclass_loc_pag(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 623 case EM_SUBCLASS_PLMN:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 624 return (em_subclass_plmn(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 625 case EM_SUBCLASS_CIPH_HOP_DTX:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 626 return (em_subclass_ciph_hop_dtx(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 627 case EM_SUBCLASS_GMM:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 628 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 629 return (em_subclass_gmm(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 630 #else /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 631 return EM_INVALID_SUBCLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 632 #endif /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 633 case EM_SUBCLASS_GRLC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 634 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 635 return (em_subclass_grlc(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 636 #else /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 637 return EM_INVALID_SUBCLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 638 #endif /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 639 case EM_SUBCLASS_AMR:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 640 return (em_subclass_amr(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 641 case EM_SUBCLASS_PDP:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 642 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 643 return (em_subclass_pdp(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 644 #else
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 645 return EM_INVALID_SUBCLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 646 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 647 default:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 648 return EM_INVALID_SUBCLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 649 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 650 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 651
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 652 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 653 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 654 | Function : em_class_mobile_data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 655 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 656 | Description : This function calls the appropriate subfunction for the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 657 | requested data (mobile data).
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 658 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 659 | Parameters : em_subclass - defines the subclass the data is requested from
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 660 | em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 661 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 662 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 663 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 664 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 665
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 666 LOCAL UBYTE em_class_mobile_data (UBYTE em_subclass, UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 667 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 668 TRACE_FUNCTION("em_class_mobile_data ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 669
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 670 switch (em_subclass)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 671 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 672 case EM_SUBCLASS_POWER:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 673 return (em_subclass_power(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 674 case EM_SUBCLASS_ID:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 675 return (em_subclass_id(em_type));
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 676 case EM_SUBCLASS_SW_VERSION:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 677 return (em_subclass_version(em_type)); /* not implemented yet */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 678 default:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 679 return EM_INVALID_SUBCLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 680 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 681 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 682
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 683
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 684 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 685 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 686 | Function : em_class_event_tracing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 687 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 688 | Description : This function calls the appropriate subfunction for the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 689 | requested data (event trace).
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 690 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 691 | Parameters : em_subclass - defines the event subclass
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 692 | bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 693 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 694 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 695 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 696 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 697
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 698 LOCAL UBYTE em_class_event_tracing (UBYTE em_subclass, ULONG bitmask_h, ULONG bitmask_l)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 699 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 700 TRACE_FUNCTION("em_class_event_tracing ()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 701
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 702 switch (em_subclass)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 703 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 704 case EM_SUBCLASS_LAYER_1:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 705 return em_event_l1((USHORT)bitmask_h, bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 706 case EM_SUBCLASS_DL:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 707 return em_event_dl((USHORT)bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 708 case EM_SUBCLASS_RR:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 709 return em_event_rr((USHORT)bitmask_h, bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 710 case EM_SUBCLASS_MM:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 711 return em_event_mm(bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 712 case EM_SUBCLASS_CC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 713 return em_event_cc(bitmask_h, bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 714 case EM_SUBCLASS_SS:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 715 return em_event_ss((USHORT)bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 716 case EM_SUBCLASS_SMS:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 717 return em_event_sms(bitmask_h, bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 718 case EM_SUBCLASS_SIM:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 719 return em_event_sim(bitmask_l);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 720 default:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 721 return EM_INVALID_SUBCLASS;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 722 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 723 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 724
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 725 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 726 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 727 | Function : em_subclass_sc
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 728 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 729 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 730 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 731 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 732 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 733 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 734 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 735 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 736 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 737
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 738 LOCAL UBYTE em_subclass_sc (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 739 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 740 TRACE_FUNCTION ("em_subclass_sc()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 741
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 742 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 743 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 744 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 745 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 746 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 747 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 748 PALLOC(em_sc_info_req, EM_SC_INFO_REQ); /* T_EM_SC_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 749
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 750 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 751 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 752 em_sc_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 753
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 754 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 755 PSENDX (RR, em_sc_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 756 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 757 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 758 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 759
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 760 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 761 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 762 | Function : em_subclass_sc_gprs
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 763 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 764 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 765 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 766 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 767 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 768 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 769 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 770 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 771 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 772
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 773 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 774 LOCAL UBYTE em_subclass_sc_gprs (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 775 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 776 TRACE_FUNCTION ("em_subclass_sc_gprs()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 777
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 778 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 779 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 780 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 781 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 782 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 783 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 784 PALLOC(em_sc_gprs_info_req, EM_SC_GPRS_INFO_REQ); /* T_EM_SC_GPRS_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 785
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 786 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 787 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 788 em_sc_gprs_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 789
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 790 /* the primitive is send to GRR via GMM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 791 PSEND (hCommGMM, em_sc_gprs_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 792 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 793 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 794 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 795 #endif /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 796
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 797 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 798 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 799 | Function : em_subclass_nc
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 800 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 801 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 802 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 803 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 804 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 805 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 806 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 807 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 808 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 809
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 810 LOCAL UBYTE em_subclass_nc (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 811 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 812 TRACE_FUNCTION ("em_subclass_nc()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 813
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 814 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 815 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 816 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 817 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 818 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 819 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 820 PALLOC(em_nc_info_req, EM_NC_INFO_REQ); /* T_EM_NC_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 821
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 822 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 823 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 824 em_nc_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 825
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 826 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 827 PSENDX (RR, em_nc_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 828 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 829 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 830 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 831
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 832 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 833 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 834 | Function : em_subclass_loc_pag
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 835 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 836 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 837 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 838 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 839 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 840 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 841 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 842 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 843 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 844
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 845 LOCAL UBYTE em_subclass_loc_pag (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 846 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 847 TRACE_FUNCTION ("em_subclass_loc_pag()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 848
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 849 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 850 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 851 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 852 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 853 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 854 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 855 PALLOC(em_loc_pag_info_req, EM_LOC_PAG_INFO_REQ); /* T_EM_LOC_PAG_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 856
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 857 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 858 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 859 em_loc_pag_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 860
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 861 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 862 PSENDX (RR, em_loc_pag_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 863 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 864 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 865 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 866
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 867 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 868 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 869 | Function : em_subclass_plmn
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 870 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 871 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 872 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 873 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 874 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 875 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 876 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 877 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 878 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 879
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 880 LOCAL UBYTE em_subclass_plmn (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 881 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 882 TRACE_FUNCTION ("em_subclass_plmn()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 883
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 884 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 885 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 886 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 887 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 888 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 889 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 890 PALLOC(em_plmn_info_req, EM_PLMN_INFO_REQ); /* T_EM_PLMN_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 891
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 892 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 893 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 894 em_plmn_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 895
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 896 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 897 PSENDX (RR, em_plmn_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 898 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 899 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 900 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 901
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 902 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 903 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 904 | Function : em_subclass_ciph_hop_dtx
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 905 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 906 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 907 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 908 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 909 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 910 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 911 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 912 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 913 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 914
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 915 LOCAL UBYTE em_subclass_ciph_hop_dtx (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 916 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 917 TRACE_FUNCTION ("em_subclass_ciph_hop_dtx()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 918
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 919 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 920 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 921 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 922 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 923 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 924 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 925 PALLOC(em_cip_hop_dtx_info_req, EM_CIP_HOP_DTX_INFO_REQ); /* T_EM_CIP_HOP_DTX_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 926
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 927 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 928 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 929 em_cip_hop_dtx_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 930
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 931 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 932 PSENDX (RR, em_cip_hop_dtx_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 933 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 934 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 935 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 936
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 937 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 938 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 939 | Function : em_subclass_power
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 940 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 941 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 942 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 943 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 944 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 945 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 946 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 947 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 948 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 949
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 950 LOCAL UBYTE em_subclass_power (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 951 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 952 TRACE_FUNCTION ("em_subclass_power()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 953
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 954 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 955 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 956 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 957 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 958 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 959 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 960 PALLOC(em_power_info_req, EM_POWER_INFO_REQ); /* T_EM_POWER_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 961
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 962 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 963 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 964 em_power_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 965
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 966 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 967 PSENDX (RR, em_power_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 968 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 969 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 970 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 971
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 972 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 973 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 974 | Function : em_subclass_id
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 975 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 976 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 977 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 978 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 979 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 980 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 981 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 982 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 983 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 984
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 985 LOCAL UBYTE em_subclass_id (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 986 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 987 TRACE_FUNCTION ("em_subclass_id()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 988
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 989 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 990 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 991 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 992 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 993 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 994 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 995 PALLOC(em_identity_info_req, EM_IDENTITY_INFO_REQ); /* T_EM_IDENTITY_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 996
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 997 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 998 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 999 em_identity_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1000
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1001 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1002 PSENDX (RR, em_identity_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1003 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1004 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1005 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1006
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1007 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1008 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1009 | Function : em_subclass_version
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1010 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1011 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1012 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1013 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1014 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1015 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1016 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1017 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1018 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1019
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1020 LOCAL UBYTE em_subclass_version (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1021 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1022 TRACE_FUNCTION ("em_subclass_version()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1023
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1024 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1025 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1026 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1027 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1028 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1029 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1030 PALLOC(em_sw_version_info_req, EM_SW_VERSION_INFO_REQ); /* T_EM_SW_VERSION_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1031
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1032 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1033 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1034 em_sw_version_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1035
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1036 /* the primitive is send to RR via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1037 PSENDX (RR, em_sw_version_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1038 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1039 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1040 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1041
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1042 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1043 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1044 | Function : em_subclass_pco_bitmap
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1045 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1046 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1047 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1048 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1049 | Parameters : em_pco_bitmap - defines the actual requested data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1050 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1051 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1052 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1053 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1054
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1055 UBYTE em_subclass_pco_bitmap (U32 em_pco_bitmap)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1056 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1057 TRACE_FUNCTION ("em_subclass_pco_bitmap()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1058
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1059 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1060 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1061 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1062 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1063 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1064
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1065 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1066 /*check for requested GMM, GRLC, GRR info*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1067 if(em_pco_bitmap & (EM_PCO_GPRS_INFO | EM_PCO_GMM_INFO | EM_PCO_GRLC_INFO))
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1068 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1069 PALLOC(em_pco_trace_req, EM_PCO_TRACE_REQ); /* T_EM_PCO_TRACE_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1070
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1071 em_pco_trace_req->pco_bitmap = em_pco_bitmap;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1072
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1073 /* the primitive is send to GMM*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1074 PSENDX(GMM, em_pco_trace_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1075 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1076 #endif /*GPRS*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1077
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1078 /*check for requested RR info*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1079 if(em_pco_bitmap & (EM_PCO_SC_INFO | EM_PCO_NC_INFO | EM_PCO_LOC_PAG_INFO | EM_PCO_IDENTITY_INFO |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1080 EM_PCO_CIPH_HOP_DTX_INFO | EM_PCO_POWER_INFO | EM_PCO_PLMN_INFO | EM_PCO_SW_VERSION_INFO |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1081 EM_PCO_AMR_INFO))
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1082 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1083 PALLOC(em_pco_trace_req, EM_PCO_TRACE_REQ); /* T_EM_PCO_TRACE_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1084
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1085 em_pco_trace_req->pco_bitmap = em_pco_bitmap;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1086
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1087 /* the primitive is send to RR*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1088 PSENDX(RR, em_pco_trace_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1089 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1090
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1091 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1092 if(em_pco_bitmap & EM_PCO_PDP_INFO)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1093 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1094 em_pco_pdp_trace_req();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1095 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1096 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1097 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1098 }/*em_subclass_pco_bitmap*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1099
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1100 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1101 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1102 | Function : em_pco_pdp_trace_req
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1103 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1104 | Description : This function prints PDP configuration on PCO
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1105 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1106 | Parameters : void
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1107 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1108 | Return : void
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1109 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1110 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1111 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1112 LOCAL void em_pco_pdp_trace_req(void)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1113 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1114 UBYTE cid;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1115 T_PDP_CONTEXT_INTERNAL *p_pdp_context_node = NULL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1116
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1117
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1118 TRACE_FUNCTION ("em_pco_pdp_trace_req()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1119
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1120 TRACE_EVENT_EM_P1("EM_PDP_INFO_REQ: num_ctxts : %d",PDP_CONTEXT_CID_MAX);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1121
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1122 for(cid=1;cid<=PDP_CONTEXT_CID_MAX;cid++)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1123 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1124
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1125 p_pdp_context_node = pdp_context_find_node_from_cid( cid );
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1126
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1127 if( p_pdp_context_node->internal_data.state EQ PDP_CONTEXT_STATE_INVALID )
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1128 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1129 TRACE_EVENT_EM_P1("EM_PDP_INFO_REQ: state : %d",p_pdp_context_node->internal_data.state);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1130 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1131 else
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1132 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1133 if ( p_pdp_context_node->attributes.pdp_addr.ctrl_ip_address EQ NAS_is_ipv4 )
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1134 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1135 TRACE_EVENT_EM_P4("EM_PDP_INFO_REQ: state:%d,pdp_type:%s,apn:%s,pdp address:%s",
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1136 p_pdp_context_node->internal_data.state,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1137 p_pdp_context_node->attributes.pdp_type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1138 p_pdp_context_node->attributes.pdp_apn,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1139 (( p_pdp_context_node->internal_data.state EQ PDP_CONTEXT_STATE_ACTIVATED ) OR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1140 ( p_pdp_context_node->internal_data.state EQ PDP_CONTEXT_STATE_DATA_LINK ))
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1141 ? p_pdp_context_node->internal_data.pdp_address_allocated.ip_address.ipv4_addr.a4 :
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1142 p_pdp_context_node->attributes.pdp_addr.ip_address.ipv4_addr.a4);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1143 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1144 else if ( p_pdp_context_node->attributes.pdp_addr.ctrl_ip_address EQ NAS_is_ipv6 )
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1145 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1146 TRACE_EVENT_EM_P4("EM_PDP_INFO_REQ: state:%d,pdp_type:%s,apn:%s,pdp address:%s",
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1147 p_pdp_context_node->internal_data.state,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1148 p_pdp_context_node->attributes.pdp_type,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1149 p_pdp_context_node->attributes.pdp_apn,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1150 (( p_pdp_context_node->internal_data.state EQ PDP_CONTEXT_STATE_ACTIVATED ) OR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1151 ( p_pdp_context_node->internal_data.state EQ PDP_CONTEXT_STATE_DATA_LINK ))
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1152 ? p_pdp_context_node->internal_data.pdp_address_allocated.ip_address.ipv6_addr.a6 :
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1153 p_pdp_context_node->attributes.pdp_addr.ip_address.ipv6_addr.a6);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1154 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1155 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1156 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1157
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1158 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1159 #endif /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1160
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1161 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1162 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1163 | Function : em_subclass_gmm
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1164 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1165 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1166 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1167 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1168 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1169 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1170 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1171 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1172 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1173
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1174 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1175 LOCAL UBYTE em_subclass_gmm(UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1176 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1177 TRACE_FUNCTION ("em_subclass_gmm()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1178
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1179 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1180 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1181 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1182 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1183 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1184 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1185 PALLOC(em_gmm_info_req, EM_GMM_INFO_REQ); /* T_EM_SC_GPRS_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1186
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1187 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1188 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1189 em_gmm_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1190
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1191 /* the primitive is send to GMM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1192 PSEND (hCommGMM, em_gmm_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1193 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1194 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1195 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1196 #endif /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1197
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1198 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1199 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1200 | Function : em_subclass_gmm
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1201 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1202 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1203 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1204 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1205 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1206 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1207 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1208 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1209 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1210
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1211 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1212 LOCAL UBYTE em_subclass_grlc(UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1213 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1214 TRACE_FUNCTION ("em_subclass_grlc()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1215
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1216 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1217 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1218 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1219 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1220 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1221 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1222 PALLOC(em_subclass_grlc, EM_GRLC_INFO_REQ); /* T_EM_SC_GPRS_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1223
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1224 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1225 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1226 em_subclass_grlc->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1227
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1228 /* the primitive is send to GRLC via GMM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1229 PSEND (hCommGMM, em_subclass_grlc);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1230 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1231 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1232 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1233 #endif /* GPRS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1234
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1235 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1236 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1237 | Function : em_subclass_amr
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1238 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1239 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1240 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1241 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1242 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1243 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1244 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1245 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1246 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1247
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1248 LOCAL UBYTE em_subclass_amr (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1249 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1250 TRACE_FUNCTION ("em_subclass_amr()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1251
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1252 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1253 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1254 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1255 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1256 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1257 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1258 PALLOC(em_amr_info_req, EM_AMR_INFO_REQ); /* T_EM_AMR_INFO_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1259
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1260 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1261 /* the bitmask em_type is only used to prevent unnecesary use of primitives*/
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1262 em_amr_info_req->data = em_type;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1263
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1264 /* the primitive directly to RR */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1265 PSENDX (RR, em_amr_info_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1266 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1267 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1268 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1269
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1270 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1271 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1272 | Function : em_subclass_pdp
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1273 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1274 | Description : This function displays PDP output directly since the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1275 | data is available in ACI itself.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1276 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1277 | Parameters : em_type - defines the actual data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1278 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1279 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1280 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1281 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1282
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1283 #ifdef GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1284 LOCAL UBYTE em_subclass_pdp (UBYTE em_type)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1285 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1286
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1287 TRACE_FUNCTION ("em_subclass_pdp()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1288
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1289 em_Received_Data ((void *)NULL, EM_SUBCLASS_PDP);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1290
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1291 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1292
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1293 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1294 #endif
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1295
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1296 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1297 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1298 | Function : em_event_l1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1299 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1300 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1301 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1302 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1303 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1304 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1305 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1306 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1307 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1308
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1309 LOCAL UBYTE em_event_l1 (USHORT bitmask_h, ULONG bitmask_l)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1310 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1311 TRACE_FUNCTION ("em_event_l1()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1312
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1313 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1314 if (!(bitmask_h & ~EM_BITMASK_L1_H))
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1315 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1316 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1317 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1318 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1319 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1320 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1321 PALLOC(em_l1_event_req, EM_L1_EVENT_REQ); /* T_EM_L1_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1322
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1323 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1324 em_l1_event_req->bitmask_l1_h = bitmask_h;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1325 em_l1_event_req->bitmask_l1_l = bitmask_l;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1326
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1327 /* additional information for the mscviewer */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1328 TRACE_PRIM_TO("PL");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1329
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1330 /* the primitive is send to PL */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1331 PSENDX (PL, em_l1_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1332 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1333 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1334 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1335 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1336 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1337
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1338 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1339 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1340 | Function : em_event_dl
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1341 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1342 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1343 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1344 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1345 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1346 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1347 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1348 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1349 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1350
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1351 LOCAL UBYTE em_event_dl (USHORT bitmask)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1352 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1353 TRACE_FUNCTION ("em_event_dl()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1354
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1355 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1356 if (!(bitmask & ~EM_BITMASK_DL)) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1357 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1358 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1359 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1360 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1361 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1362 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1363 PALLOC(em_dl_event_req, EM_DL_EVENT_REQ); /* T_EM_DL_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1364
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1365 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1366 em_dl_event_req->bitmask_dl = bitmask;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1367
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1368 /* additional information for the mscviewer */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1369 TRACE_PRIM_TO("DL");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1370
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1371 /* the primitive is send to DL via MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1372 PSENDX (MM, em_dl_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1373 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1374 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1375 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1376 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1377 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1378 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1379
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1380 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1381 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1382 | Function : em_event_rr
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1383 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1384 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1385 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1386 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1387 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1388 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1389 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1390 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1391 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1392
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1393 LOCAL UBYTE em_event_rr (USHORT bitmask_h, ULONG bitmask_l)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1394 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1395 TRACE_FUNCTION ("em_event_rr()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1396
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1397 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1398 if (!(bitmask_h & ~EM_BITMASK_RR_H)) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1399 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1400 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1401 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1402 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1403 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1404 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1405 PALLOC(em_rr_event_req, EM_RR_EVENT_REQ); /* EM_RR_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1406
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1407 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1408 em_rr_event_req->bitmask_rr_h = bitmask_h;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1409 em_rr_event_req->bitmask_rr_l = bitmask_l;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1410
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1411 /* no additional information for the mscviewer is needed here because
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1412 * RR is the default entity inside the mscview.tbl
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1413 TRACE_PRIM_TO("RR");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1414 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1415
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1416 /* the primitive is send to RR */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1417 PSENDX (RR, em_rr_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1418 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1419 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1420 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1421 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1422 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1423 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1424
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1425 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1426 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1427 | Function : em_event_mm
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1428 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1429 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1430 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1431 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1432 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1433 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1434 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1435 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1436 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1437
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1438 LOCAL UBYTE em_event_mm (ULONG bitmask)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1439 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1440 TRACE_FUNCTION ("em_event_mm()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1441
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1442 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1443 if (!(bitmask & ~EM_BITMASK_MM)) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1444 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1445 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1446 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1447 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1448 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1449 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1450 PALLOC(em_mm_event_req, EM_MM_EVENT_REQ); /* T_EM_MM_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1451
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1452 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1453 em_mm_event_req->bitmask_mm = bitmask;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1454
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1455 /* additional information for the mscviewer */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1456 TRACE_PRIM_TO("MM");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1457
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1458 /* the primitive is send to MM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1459 PSENDX (MM, em_mm_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1460 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1461 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1462 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1463 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1464 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1465 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1466
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1467 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1468 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1469 | Function : em_event_cc
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1470 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1471 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1472 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1473 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1474 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1475 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1476 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1477 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1478 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1479
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1480 LOCAL UBYTE em_event_cc (ULONG bitmask_h, ULONG bitmask_l)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1481 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1482 TRACE_FUNCTION ("em_event_cc()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1483
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1484 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1485 if (!(bitmask_h & ~EM_BITMASK_CC_H)) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1486 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1487 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1488 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1489 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1490 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1491 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1492 PALLOC(em_cc_event_req, EM_CC_EVENT_REQ); /* T_EM_CC_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1493
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1494 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1495 em_cc_event_req->bitmask_cc_h = bitmask_h;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1496 em_cc_event_req->bitmask_cc_l = bitmask_l;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1497
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1498 /* additional information for the mscviewer */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1499 TRACE_PRIM_TO("CC");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1500
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1501 /* the primitive is send to CC */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1502 PSENDX (CC, em_cc_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1503 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1504 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1505 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1506 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1507 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1508 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1509
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1510 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1511 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1512 | Function : em_event_ss
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1513 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1514 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1515 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1516 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1517 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1518 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1519 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1520 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1521 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1522
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1523
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1524 LOCAL UBYTE em_event_ss (USHORT bitmask)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1525 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1526 TRACE_FUNCTION ("em_event_ss()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1527
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1528 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1529 if (!(bitmask & ~EM_BITMASK_SS)) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1530 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1531 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1532 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1533 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1534 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1535 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1536 PALLOC(em_ss_event_req, EM_SS_EVENT_REQ); /* T_EM_SS_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1537
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1538 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1539 em_ss_event_req->bitmask_ss = bitmask;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1540
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1541 /* additional information for the mscviewer */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1542 TRACE_PRIM_TO("SS");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1543
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1544 /* the primitive is send to SS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1545 PSENDX (SS, em_ss_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1546 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1547 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1548 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1549 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1550 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1551 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1552
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1553 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1554 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1555 | Function : em_event_sms
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1556 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1557 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1558 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1559 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1560 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1561 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1562 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1563 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1564 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1565
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1566 LOCAL UBYTE em_event_sms (ULONG bitmask_h, ULONG bitmask_l)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1567 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1568 TRACE_FUNCTION ("em_event_sms()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1569
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1570 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1571 if (!(bitmask_h & ~EM_BITMASK_SMS_H)) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1572 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1573 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1574 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1575 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1576 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1577 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1578 PALLOC(em_sms_event_req, EM_SMS_EVENT_REQ); /* T_EM_SMS_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1579
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1580 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1581 em_sms_event_req->bitmask_sms_h = bitmask_h;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1582 em_sms_event_req->bitmask_sms_l = bitmask_l;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1583
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1584 /* additional information for the mscviewer */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1585 TRACE_PRIM_TO("SMS");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1586
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1587 /* the primitive is send to SMS */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1588 PSENDX (SMS, em_sms_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1589 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1590 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1591 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1592 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1593 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1594 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1595
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1596 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1597 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1598 | Function : em_event_sim
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1599 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1600 | Description : This function send the appropriate primitive to the involved
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1601 | entity.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1602 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1603 | Parameters : bitmask - defines the single events
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1604 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1605 | Return : UBYTE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1606 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1607 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1608
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1609 LOCAL UBYTE em_event_sim (ULONG bitmask)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1610 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1611 TRACE_FUNCTION ("em_event_sim()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1612
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1613 /* check if only specified events are set in the bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1614 if (!(bitmask & ~EM_BITMASK_SIM)) {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1615 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1616 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1617 * create and send primitive
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1618 *-------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1619 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1620 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1621 PALLOC(em_sim_event_req, EM_SIM_EVENT_REQ); /* T_EM_SIM_EVENT_REQ */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1622
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1623 /* fill in primitive parameter: */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1624 em_sim_event_req->bitmask_sim = bitmask;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1625
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1626 /* additional information for the mscviewer */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1627 TRACE_PRIM_TO("SIM");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1628
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1629 /* the primitive is send to SIM */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1630 PSENDX (SIM, em_sim_event_req);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1631 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1632 return TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1633 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1634 else /* wrong bitmask */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1635 return EM_DATA_NOT_AVAIL;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1636 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1637
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1638 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1639 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1640 | Function : em_aci_sem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1641 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1642 | Description : Clear all entries inside the semaphor for event tracing
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1643 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1644 | Parameters : UBYTE entity
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1645 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1646 | Return : void
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1647 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1648 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1649 void em_aci_sem (UBYTE entity, UBYTE *buffer, UBYTE buf_index_tmp)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1650 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1651 TRACE_FUNCTION ("em_aci_sem()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1652
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1653 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1654 * aci_em_buf.xxx.index keeps the position of the data inside the buffer
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1655 * aci_em_buf.xxx.length indicates the length of the data to be copied
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1656 * both values are used for later processing of the data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1657 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1658 switch (entity)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1659 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1660 case (EM_L1):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1661 em_l1_sem_read();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1662 memcpy(buffer + em_aci_buf_index, em_l1_sem_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1663 aci_em_buf.alr.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1664 aci_em_buf.alr.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1665 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1666 em_l1_sem_reset ();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1667 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1668 case (EM_DL):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1669 em_dl_sem_read();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1670 memcpy(buffer + em_aci_buf_index, em_dl_sem_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1671 aci_em_buf.dl.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1672 aci_em_buf.dl.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1673 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1674 em_dl_sem_reset ();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1675 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1676 case (EM_RR):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1677 em_rr_sem_read();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1678 memcpy(buffer + em_aci_buf_index, em_rr_sem_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1679 aci_em_buf.rr.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1680 aci_em_buf.rr.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1681 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1682 em_rr_sem_reset ();
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1683 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1684 case (EM_MM):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1685 memcpy(buffer + em_aci_buf_index, em_mm_event_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1686 aci_em_buf.mm.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1687 aci_em_buf.mm.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1688 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1689 em_mm_buffer_write = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1690 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1691 case (EM_CC):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1692 memcpy(buffer + em_aci_buf_index, em_cc_event_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1693 aci_em_buf.cc.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1694 aci_em_buf.cc.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1695 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1696 em_cc_buffer_write = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1697 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1698 case (EM_SS):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1699 memcpy(buffer + em_aci_buf_index, em_ss_event_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1700 aci_em_buf.ss.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1701 aci_em_buf.ss.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1702 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1703 em_ss_buffer_write = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1704 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1705 case (EM_SMS):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1706 memcpy(buffer + em_aci_buf_index, em_sms_event_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1707 aci_em_buf.sms.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1708 aci_em_buf.sms.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1709 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1710 em_sms_buffer_write = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1711 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1712 case (EM_SIM):
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1713 memcpy(buffer + em_aci_buf_index, em_sim_event_buffer, buf_index_tmp);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1714 aci_em_buf.sim.index = em_aci_buf_index;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1715 aci_em_buf.sim.length = buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1716 em_aci_buf_index += buf_index_tmp;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1717 em_sim_buffer_write = 0;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1718 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1719 default:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1720 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1721 } /* switch */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1722 } /* endfunc em_aci_sem */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1723
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1724 /*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1725 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1726 | Function : em_event_trace_ind
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1727 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1728 | Description : When event tracing is enabled, the entity sends a notification
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1729 | that the first event occurred. The event flag (em_xx_trace)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1730 | protects unnecessary buffer operations.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1731 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1732 | Parameters : Entity
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1733 |
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1734 | Return : void
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1735 +------------------------------------------------------------------------------
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1736 */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1737 GLOBAL void em_event_trace_ind (T_EM_DATA_IND * em_data_ind)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1738 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1739 TRACE_FUNCTION ("em_event_trace_ind()");
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1740
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1741 switch (em_data_ind->entity)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1742 {
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1743 case EM_L1:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1744 em_l1_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1745 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1746 case EM_DL:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1747 em_dl_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1748 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1749 case EM_RR:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1750 em_rr_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1751 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1752 case EM_MM:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1753 em_mm_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1754 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1755 case EM_CC:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1756 em_cc_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1757 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1758 case EM_SS:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1759 em_ss_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1760 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1761 case EM_SMS:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1762 em_sms_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1763 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1764 case EM_SIM:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1765 em_sim_trace = TRUE;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1766 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1767 default:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1768 break;
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1769 } /* switch */
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1770 PFREE(em_data_ind);
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1771 }
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1772
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1773
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1774 /*+++++++++++++++++++++++++++++++++++++++++ E O F +++++++++++++++++++++++++++++++++++++++++*/