view cdg211/cdginc/p_gmmrr.h @ 673:62a5285e014a

Lorekeeping: allow tpudrv-leonardo.lib on Leonardo/Tango Back in 2015 the Mother's idea was to produce a FreeCalypso development board that would be a clone of TI Leonardo, including the original quadband RFFE; one major additional stipulation was that this board needed to be able to run original unmodified TCS211-20070608 firmware with all blobs intact, with only minimal binary patches to main.lib and tpudrv.lib. The necessary patched libs were produced at that time in the tcs211-patches repository. That plan was changed and we produced FCDEV3B instead, with Openmoko's triband RFFE instead of Leonardo quadband, but when FC Magnetite started in 2016, a TPUDRV_blob= provision was still made, allowing the possibility of patching OM's tpudrv.lib for a restored Leonardo RFFE. Now in 2020 we have FC Tango which is essentially a verbatim clone of Leonardo core, including the original quadband RFFE. We have also deblobbed our firmware so much that we have absolutely no real need for a blob version of tpudrv.lib - but I thought it would be neat to put the ancient TPUDRV_blob= mechanism (classic config) to its originally intended use, just for the heck of it.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 29 May 2020 03:55:36 +0000
parents 56abf6cf8a0b
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_gmmrr.h                                                      |
| SOURCE  : "__out__\g23m_dfile\prim\gmmrr.pdf"                            |
| LastModified : "2003-09-02"                                              |
| IdAndVersion : "8441.101.03.025"                                         |
| SrcFileTime  : "Tue Aug 10 15:45:16 2004"                                |
| Generated by CCDGEN_2.5.5 on Fri Jun 08 13:59:15 2007                    |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : NONE
 * COMPATIBILITY_DEFINES  : NO (require PREFIX)
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_GMMRR_H
#define P_GMMRR_H


#define CDG_ENTER__P_GMMRR_H

#define CDG_ENTER__FILENAME _P_GMMRR_H
#define CDG_ENTER__P_GMMRR_H__FILE_TYPE CDGINC
#define CDG_ENTER__P_GMMRR_H__LAST_MODIFIED _2003_09_02
#define CDG_ENTER__P_GMMRR_H__ID_AND_VERSION _8441_101_03_025

#define CDG_ENTER__P_GMMRR_H__SRC_FILE_TIME _Tue_Aug_10_15_45_16_2004

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_GMMRR_H

#undef CDG_ENTER__FILENAME


#include "p_gmmrr.val"

#ifndef __T_imsi__
#define __T_imsi__
/*
 * mobile identity
 * CCDGEN:WriteStruct_Count==1155
 */
typedef struct
{
  U8                        v_mid;                    /*<  0:  1> valid flag                                         */
  U8                        id_type;                  /*<  1:  1> type of identity                                   */
  U8                        id[MAX_DIGITS];           /*<  2: 16> IMSI digits                                        */
  U8                        _align0;                  /*< 18:  1> alignment                                          */
  U8                        _align1;                  /*< 19:  1> alignment                                          */
  U32                       tmsi_dig;                 /*< 20:  4> TMSI digits                                        */
} T_imsi;
#endif

#ifndef __T_plmn__
#define __T_plmn__
/*
 * PLMN identification
 * CCDGEN:WriteStruct_Count==1156
 */
typedef struct
{
  U8                        v_plmn;                   /*<  0:  1> Valid Flag                                         */
  U8                        mcc[SIZE_MCC];            /*<  1:  3> Mobile Country Code                                */
  U8                        mnc[SIZE_MNC];            /*<  4:  3> Mobile Network Code                                */
  U8                        _align0;                  /*<  7:  1> alignment                                          */
} T_plmn;
#endif

#ifndef __T_rai__
#define __T_rai__
/*
 * routing area identifier
 * CCDGEN:WriteStruct_Count==1157
 */
typedef struct
{
  T_plmn                    plmn;                     /*<  0:  8> PLMN identification                                */
  U16                       lac;                      /*<  8:  2> location area code                                 */
  U8                        rac;                      /*< 10:  1> routing area code                                  */
  U8                        _align0;                  /*< 11:  1> alignment                                          */
} T_rai;
#endif

#ifndef __T_cell_env__
#define __T_cell_env__
/*
 * current location of the mobile equipment
 * CCDGEN:WriteStruct_Count==1158
 */
typedef struct
{
  T_rai                     rai;                      /*<  0: 12> routing area identifier                            */
  U16                       cid;                      /*< 12:  2> cell identification                                */
  U8                        _align0;                  /*< 14:  1> alignment                                          */
  U8                        _align1;                  /*< 15:  1> alignment                                          */
} T_cell_env;
#endif

#ifndef __T_cell_info__
#define __T_cell_info__
/*
 * Cell information
 * CCDGEN:WriteStruct_Count==1159
 */
typedef struct
{
  T_cell_env                cell_env;                 /*<  0: 16> current location of the mobile equipment           */
  U8                        service_state;            /*< 16:  1> Service state                                      */
  U8                        net_mode;                 /*< 17:  1> Network operation mode                             */
  U8                        _align0;                  /*< 18:  1> alignment                                          */
  U8                        _align1;                  /*< 19:  1> alignment                                          */
} T_cell_info;
#endif


/*
 * End of substructure section, begin of primitive definition section
 */

#ifndef __T_GMMRR_ASSIGN_REQ__
#define __T_GMMRR_ASSIGN_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1160
 */
typedef struct
{
  U32                       old_tlli;                 /*<  0:  4> old temporary logical link identifier              */
  U32                       new_tlli;                 /*<  4:  4> new temporary logical link identifier              */
  U32                       old_ptmsi;                /*<  8:  4> old ptmsi                                          */
  U32                       new_ptmsi;                /*< 12:  4> new ptmsi                                          */
  T_imsi                    imsi;                     /*< 16: 24> mobile identity                                    */
  T_rai                     rai;                      /*< 40: 12> routing area identifier                            */
} T_GMMRR_ASSIGN_REQ;
#endif

#ifndef __T_GMMRR_ENABLE_REQ__
#define __T_GMMRR_ENABLE_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1161
 */
typedef struct
{
  U8                        mobile_class;             /*<  0:  1> Mobile Class                                       */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U16                       acc_contr_class;          /*<  2:  2> Access Control Class                               */
  U16                       split_pg_cycle;           /*<  4:  2> Split paging cycle (the value, NOT the code)       */
  U8                        spgc_ccch_supp;           /*<  6:  1> Split paging cycle support on CCCH                 */
  U8                        gmmrr_non_drx_timer;      /*<  7:  1> non-DRX timer                                      */
} T_GMMRR_ENABLE_REQ;
#endif

#ifndef __T_GMMRR_DISABLE_REQ__
#define __T_GMMRR_DISABLE_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1162
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_DISABLE_REQ;
#endif

#ifndef __T_GMMRR_CELL_IND__
#define __T_GMMRR_CELL_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==1163
 */
typedef struct
{
  T_cell_info               cell_info;                /*<  0: 20> Cell information                                   */
} T_GMMRR_CELL_IND;
#endif

#ifndef __T_GMMRR_READY_REQ__
#define __T_GMMRR_READY_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1164
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_READY_REQ;
#endif

#ifndef __T_GMMRR_STANDBY_REQ__
#define __T_GMMRR_STANDBY_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1165
 */
typedef struct
{
  U8                        standby_cause;            /*<  0:  1> standby cause                                      */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
} T_GMMRR_STANDBY_REQ;
#endif

#ifndef __T_GMMRR_PAGE_IND__
#define __T_GMMRR_PAGE_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==1166
 */
typedef struct
{
  U8                        page_id;                  /*<  0:  1> Page ID                                            */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
} T_GMMRR_PAGE_IND;
#endif

#ifndef __T_GMMRR_CS_PAGE_IND__
#define __T_GMMRR_CS_PAGE_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==1167
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_CS_PAGE_IND;
#endif

#ifndef __T_GMMRR_CS_PAGE_RES__
#define __T_GMMRR_CS_PAGE_RES__
/*
 * 
 * CCDGEN:WriteStruct_Count==1168
 */
typedef struct
{
  U8                        response;                 /*<  0:  1> CS Paging respnonse                                */
  U8                        susp_gprs;                /*<  1:  1> suspend GPRS                                       */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_GMMRR_CS_PAGE_RES;
#endif

#ifndef __T_GMMRR_SUSPEND_REQ__
#define __T_GMMRR_SUSPEND_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1169
 */
typedef struct
{
  U8                        susp_gprs;                /*<  0:  1> suspend GPRS                                       */
  U8                        gmmrr_susp_cause;         /*<  1:  1> suspension cause                                   */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_GMMRR_SUSPEND_REQ;
#endif

#ifndef __T_GMMRR_SUSPEND_CNF__
#define __T_GMMRR_SUSPEND_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==1170
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_SUSPEND_CNF;
#endif

#ifndef __T_GMMRR_RESUME_REQ__
#define __T_GMMRR_RESUME_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1171
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_RESUME_REQ;
#endif

#ifndef __T_GMMRR_ATTACH_STARTED_REQ__
#define __T_GMMRR_ATTACH_STARTED_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1172
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_ATTACH_STARTED_REQ;
#endif

#ifndef __T_GMMRR_ATTACH_FINISHED_REQ__
#define __T_GMMRR_ATTACH_FINISHED_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==1173
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_ATTACH_FINISHED_REQ;
#endif

#ifndef __T_GMMRR_CELL_RES__
#define __T_GMMRR_CELL_RES__
/*
 * 
 * CCDGEN:WriteStruct_Count==1174
 */
typedef struct
{
  U8                        cu_cause;                 /*<  0:  1> Cell Update Cause                                  */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
} T_GMMRR_CELL_RES;
#endif

#ifndef __T_GMMRR_CR_IND__
#define __T_GMMRR_CR_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==1175
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_GMMRR_CR_IND;
#endif


#include "CDG_LEAVE.h"


#endif