diff gsm-fw/g23m-aci/aci/aci_em.h @ 775:eedbf248bac0

gsm-fw/g23m-aci subtree: initial import from LoCosto source
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 12 Oct 2014 01:45:14 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsm-fw/g23m-aci/aci/aci_em.h	Sun Oct 12 01:45:14 2014 +0000
@@ -0,0 +1,282 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  
+|  Modul   :  
++----------------------------------------------------------------------------- 
+|  Copyright 2002 Texas Instruments Berlin, AG 
+|                 All rights reserved. 
+| 
+|                 This file is confidential and a trade secret of Texas 
+|                 Instruments Berlin, AG 
+|                 The receipt of or possession of this file does not convey 
+|                 any rights to reproduce or disclose its contents or to 
+|                 manufacture, use, or sell anything it may describe, in 
+|                 whole, or in part, without the specific written consent of 
+|                 Texas Instruments Berlin, AG. 
++----------------------------------------------------------------------------- 
+|  Purpose :  Handles all instances for the Engineering mode (EM).
++----------------------------------------------------------------------------- 
+*/ 
+
+#ifndef ACI_EM_H
+#define ACI_EM_H
+
+/*
+* Return Values
+*/
+#define EM_INVALID_CLASS           10
+#define EM_INVALID_SUBCLASS        11
+#define EM_INVALID_TYPE            12
+#define EM_INVALID_ACCESS          13
+#define EM_NO_MORE_DATA            14
+#define EM_DATA_NOT_AVAIL          15
+
+#define MAX_EM_LENGTH              80
+ 
+/*
+ * EM classes
+ */
+#define EM_CLASS_EVENT_TRACING      1
+#define EM_CLASS_INFRA_DATA         3
+#define EM_CLASS_MOBILE_DATA        4
+
+/*
+ * EM Subclasses Event Tracing / Counter
+ */
+#define EM_SUBCLASS_LAYER_1         1
+#define EM_SUBCLASS_DL              2
+#define EM_SUBCLASS_RR              3
+#define EM_SUBCLASS_MM              4
+#define EM_SUBCLASS_CC              5
+#define EM_SUBCLASS_SS              6
+#define EM_SUBCLASS_SMS             7
+#define EM_SUBCLASS_SIM             8
+
+/*
+ * EM Subclasses Infrastructure data
+ */
+#define EM_SUBCLASS_SC              9
+#define EM_SUBCLASS_SC_GPRS        10
+#define EM_SUBCLASS_NC             11
+#define EM_SUBCLASS_LOC_PAG        12
+#define EM_SUBCLASS_PLMN           13
+#define EM_SUBCLASS_CIPH_HOP_DTX   14
+#define EM_SUBCLASS_GMM            15
+#define EM_SUBCLASS_GRLC           16
+#define EM_SUBCLASS_AMR            20
+#define EM_SUBCLASS_PDP            21
+
+
+/*
+ * EM Subclasses Mobile Data   
+ */
+#define EM_SUBCLASS_POWER          17
+#define EM_SUBCLASS_ID             18
+#define EM_SUBCLASS_SW_VERSION     19
+
+/*
+ * EM bitmask check
+*/
+
+#define EM_BITMASK_L1_H            0x007F        /* 39 events */
+#define EM_BITMASK_L1_L            0xFFFFFFFFL
+#define EM_BITMASK_DL              0x001F        /*  5 events */
+#define EM_BITMASK_RR_H            0x001F        /* 37 events */
+#define EM_BITMASK_RR_L            0xFFFFFFFFL
+#define EM_BITMASK_MM              0x0003FFFFL   /* 18 events */
+#define EM_BITMASK_CC_H            0x0001FFFFL   /* 49 events */
+#define EM_BITMASK_CC_L            0xFFFFFFFFL
+#define EM_BITMASK_SS              0x03FF        /* 10 events */
+#define EM_BITMASK_SMS_H           0x00000001L   /* 33 events */
+#define EM_BITMASK_SMS_L           0xFFFFFFFFL    
+#define EM_BITMASK_SIM             0x01FFFFFFL   /* 25 events */
+
+/*
+#define EM_STARTED                 1
+#define EM_ESTABLISHED             2
+#define EM_FAILED                  3
+#define EM_SEND                    4
+#define EM_RECEIVED                5
+#define EM_ABORTED                 6
+#define EM_RELEASED                7
+*/
+
+#define EM_DATA_IND_OPC            32267
+
+#define EM_MM_BUFFER_SIZE            168
+#define EM_CC_BUFFER_SIZE            185
+#define EM_SS_BUFFER_SIZE             31
+#define EM_SMS_BUFFER_SIZE           110
+#define EM_SIM_BUFFER_SIZE            67
+#define EM_MAX_MA_CHANNELS            64
+
+#define MAX_VER 50
+
+#ifdef TRACE_PRIM
+  #define TRACE_PRIM_FROM(s)              vsi_o_ttrace(VSI_CALLER TC_PRIM, "Pdir: " s)
+  #define TRACE_PRIM_TO(s)                vsi_o_ttrace(VSI_CALLER TC_PRIM, "Pdir: " s)
+#else
+  #define TRACE_PRIM_FROM(s)           
+  #define TRACE_PRIM_TO(s)             
+#endif
+
+
+#define TRACE_EVENT_EM_P1(s,a1)                       TRACE_USER_CLASS_P1(TC_USER8,s,a1)
+#define TRACE_EVENT_EM_P4(s,a1,a2,a3,a4)              TRACE_USER_CLASS_P4(TC_USER8,s,a1,a2,a3,a4)
+
+/*
+/ *************************************************************************************
+ *
+ * Structures according to EM Functional interface description (8443.601.01.002)
+ *
+ *************************************************************************************
+ */
+
+/*
+ * Unit ID
+ */
+typedef enum
+{
+ EM_UNIT_INVALID = -1,
+ EM_UNIT_L1      =  1,
+ EM_UNIT_DL,
+ EM_UNIT_RR,
+ EM_UNIT_MM,
+ EM_UNIT_CC,
+ EM_UNIT_SS,
+ EM_UNIT_SMS,
+ EM_UNIT_SIM
+} T_EM_UNIT_ID;
+
+typedef struct
+{
+  UBYTE index;
+  UBYTE length;
+} T_EVENT_PTR;
+
+typedef struct
+{
+  T_EVENT_PTR alr;
+  T_EVENT_PTR dl;
+  T_EVENT_PTR rr;
+  T_EVENT_PTR mm;
+  T_EVENT_PTR cc;
+  T_EVENT_PTR ss;
+  T_EVENT_PTR sms;
+  T_EVENT_PTR sim;
+} T_EM_EVENT_BUF;
+
+typedef struct
+{
+  CHAR alr[MAX_VER];
+  CHAR  dl[MAX_VER];
+  CHAR  rr[MAX_VER];
+  CHAR  mm[MAX_VER];
+  CHAR  cc[MAX_VER];
+  CHAR  ss[MAX_VER];
+  CHAR sms[MAX_VER];
+  CHAR sim[MAX_VER];  
+} T_EM_SW_VER;
+
+
+/*------------------------------------------------------------------------
+   drv_SignalID_Type - driver signal identification
+ 
+   The type defines the signal information data used to identify a signal. 
+   This data type is used to define and to report a signal. A signal is 
+   defined by a process calling the driver function drv_SetSignal. An 
+   event is signalled by driver by calling the pre-defined signal call-
+   back function.
+  -------------------------------------------------------------------------*/
+typedef struct
+{
+  UBYTE               SignalType;
+  USHORT              DataLength;
+  union
+  {
+    T_EM_SC_INFO_CNF          sc;
+    T_EM_SC_GPRS_INFO_CNF     sc_gprs;
+    T_EM_NC_INFO_CNF          nc;
+    T_EM_LOC_PAG_INFO_CNF     log_pag;
+    T_EM_PLMN_INFO_CNF        plmn;
+    T_EM_CIP_HOP_DTX_INFO_CNF cip;
+    T_EM_POWER_INFO_CNF       power;
+    T_EM_IDENTITY_INFO_CNF    id;
+    T_EM_SW_VER               version;
+    T_EM_GMM_INFO_CNF         gmm;
+    T_EM_GRLC_INFO_CNF        grlc;
+    T_EM_AMR_INFO_CNF         amr;
+    UBYTE                     defaulT;
+  } UserData;
+} T_DRV_SIGNAL_EM;
+
+typedef struct
+{
+  UBYTE *             Pointer;
+  USHORT              DataLength;
+  T_EM_EVENT_BUF      Data;
+} T_DRV_SIGNAL_EM_EVENT;
+
+
+/*------------------------------------------------------------------------
+   drv_SignalCB_Type - driver signal device control block
+  
+   This type defines a call-back function used to signal driver events,
+   e.g. driver is ready to accept data. The driver calls the signal
+   call-back function when a specific event occurs and the driver has
+   been instructed to signal the event to a specific process. A process
+   can set or reset event signalling by calling one of the driver 
+   functions drv_SetSignal or drv_ResetSignal. Event signalling can only
+   be performed when a call-back function has been installed at driver
+   initialization.
+  -------------------------------------------------------------------------*/
+typedef void (*T_DRV_CB_FUNC_EM )      (T_DRV_SIGNAL_EM * Signal);
+typedef void (*T_DRV_CB_FUNC_EM_EVENT) (T_DRV_SIGNAL_EM_EVENT * Event);
+
+/*
+*  callback functionality for em_Read_Data_Parameter 
+*/
+#define drv_SignalCB_Type_EM         T_DRV_CB_FUNC_EM
+#define drv_SignalID_Type_EM         T_DRV_SIGNAL_EM
+
+/*
+*  callback functionality for em_Read_Event_Parameter 
+*/
+#define drv_SignalCB_Type_EM_EVENT   T_DRV_CB_FUNC_EM_EVENT
+#define drv_SignalID_Type_EM_EVENT   T_DRV_SIGNAL_EM_EVENT
+
+#define T_VSI_THANDLE                USHORT
+ 
+/*
+ * Prototypes
+ */
+EXTERN UBYTE em_Read_Data_Parameter  (UBYTE em_class, UBYTE em_subclass, UBYTE em_type, 
+                                      void (*cbfunc)(T_DRV_SIGNAL_EM * Signal));
+EXTERN UBYTE em_Read_Event_Parameter (UBYTE entity, 
+                                      void (*cbfunc)(T_DRV_SIGNAL_EM_EVENT * Signal));
+EXTERN void  em_Received_Data   (void *data, UBYTE subclass);
+EXTERN UBYTE em_Set_EventTrace  (UBYTE em_subclass, ULONG bitmask_h, ULONG bitmask_l);
+
+EXTERN UBYTE em_Init            (drv_SignalCB_Type_EM in_SignalCBPtr, 
+                                 drv_SignalCB_Type_EM_EVENT in_SignalEventCBPtr);
+EXTERN void  em_Exit            (void);
+
+EXTERN void  em_aci_sem_clear (void);
+EXTERN void  em_aci_sem_init  (void);
+EXTERN void  em_aci_sem_exit  (void);
+
+EXTERN UBYTE em_subclass_pco_bitmap (U32 em_pco_bitmap); /* en- or disable PCO-trace*/
+
+/*
+EXTERN UBYTE em_SetSignal   (drv_SignalID_Type * in_SignalIDPtr);
+EXTERN UBYTE em_ResetSignal (drv_SignalID_Type * in_SignalIDPtr);
+EXTERN UBYTE em_SetConfig   (pwr_DCB_Type      * in_DCBPtr);
+EXTERN UBYTE em_GetConfig   (pwr_DCB_Type      * out_DCBPtr);
+EXTERN UBYTE em_GetStatus   (pwr_Status_Type   * out_StatusPtr);
+*/
+
+
+
+#endif  /* ACI_EM_H */
+
+/*+++++++++++++++++++++++++++++++++++++++++ E O F +++++++++++++++++++++++++++++++++++++++++*/