# HG changeset patch # User Michael Spacefalcon # Date 1411923387 0 # Node ID b3def8c0157281f5bff68d7c1c074a0ad21dff45 # Parent 94ef3f115ae2844f020469ff06fe2a3c2598ec77 gsm-fw/include/condat: gprs.h and macdef.h imported from g23m/condat/com/inc (LoCosto version) diff -r 94ef3f115ae2 -r b3def8c01572 gsm-fw/include/condat/gprs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/include/condat/gprs.h Sun Sep 28 16:56:27 2014 +0000 @@ -0,0 +1,64 @@ +/* ++----------------------------------------------------------------------------- +| 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 : Contains common definitions for the GPRS Protocol Stack. ++----------------------------------------------------------------------------- +*/ + +#ifndef GPRS_H +#define GPRS_H + +/* + * The names of the GPRS entities + */ + +#define ACI_NAME "MMI" /* according to custom.h */ +#define PPP_NAME "PPP" +#define UART_NAME "UART" +#define PSI_NAME "PSI" +#define SNDCP_NAME "SND" +#define SM_NAME "SM" +#define GMM_NAME "GMM" +#define GSMS_NAME "SMS" +#define SMS_NAME "SMS" /* according to custom.h */ +#define MM_NAME "MM" +#define LLC_NAME "LLC" +#define GRR_NAME "GRR" +#define GRLC_NAME "GRLC" +#define CCI_NAME "CCI" +#define L1_NAME "L1" +#define RR_NAME "RR" +#define PL_NAME "PL" /* according to custom.h */ +#define SIM_NAME "SIM" /* according to custom.h */ +#define TIL_NAME "PL" +#define UPM_NAME "UPM" +#define GDD_DIO_NAME "GDDI" +#define APP_NAME "APP" + +#ifndef _TARGET_ + #define CLT_NAME "CLT" /* Used only during Simulation testing*/ +#endif /*!_TARGET_*/ + +/* + * TRACE_PRIMITVE is no more necessary when using NEW_FRAME. + * Remove it sometime. + */ + +#undef TRACE_PRIMITIVE +#define TRACE_PRIMITIVE(s) /* s */ + + +#endif /* !GPRS_H */ diff -r 94ef3f115ae2 -r b3def8c01572 gsm-fw/include/condat/macdef.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/include/condat/macdef.h Sun Sep 28 16:56:27 2014 +0000 @@ -0,0 +1,117 @@ +/* ++----------------------------------------------------------------------------- +| 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 : Contains macros for the unified implementation of the +| Protocol Stack ++----------------------------------------------------------------------------- +*/ + +#ifndef MACDEF_H +#define MACDEF_H + +/* + * Get/Set state for one incarnation. Init state has to be called first. + */ +#undef GET_STATE +#undef SET_STATE + +#ifdef TRACE_STATE + #define INIT_STATE(P,S) ENTITY_DATA->P name = SERVICE_NAME_##P; \ + ENTITY_DATA->P state = S; \ + ENTITY_DATA->P state_name = #S; + + #define SET_STATE(P,S) {ENTITY_DATA->P state = S; \ + vsi_o_ttrace (VSI_CALLER \ + TC_STATE, \ + #P ":%s -> " #S, \ + ENTITY_DATA->P state_name ); \ + ENTITY_DATA->P state_name = #S;} + + #define GET_STATE(P) (vsi_o_ttrace (VSI_CALLER \ + TC_STATE, \ + #P ":%s", ENTITY_DATA->P state_name ), \ + ENTITY_DATA->P state) + +#else + #define INIT_STATE(P,S) {ENTITY_DATA->P state = S;} + #define SET_STATE(P,S) {ENTITY_DATA->P state = S;} + #define GET_STATE(P) (ENTITY_DATA->P state) +#endif /* TRACE_STATE */ + + +/* + * MFREE_DESC() is used to free the given descriptor, along with all following + * descriptors. + * + * Parameters: d -- "pointer" to the descriptor, either of type T_desc *, or + * an ULONG + */ +#define MFREE_DESC(d) { T_desc *desc = (T_desc *)d; \ + T_desc *next_desc; \ + while (desc NEQ NULL) \ + { \ + next_desc = (T_desc *)desc->next; \ + MFREE (desc); \ + desc = next_desc; \ + } \ + } + + +/* + * PFREE_DESC() is used to free the given primitive, along with all + * descriptors in the descriptor list of the primitive. + * + * Parameters: p -- pointer to the primitive containing a descriptor list + * (if it is an ULONG, it has to be casted to the pointer + * because the type cannot be determined by the macro!) + */ +#define PFREE_DESC(p) { MFREE_DESC ((p)->desc_list.first); \ + PFREE ((p)); \ + } + + +/* + * MFREE_DESC() is used to free the given descriptor, along with all following + * descriptors. + * + * Parameters: d -- "pointer" to the descriptor, either of type T_desc *, or + * an ULONG + */ +#define MFREE_DESC2(d) { T_desc2 *desc2 = (T_desc2 *)d; \ + T_desc2 *next_desc2; \ + while (desc2 NEQ NULL) \ + { \ + next_desc2 = (T_desc2 *)desc2->next; \ + MFREE (desc2); \ + desc2 = next_desc2; \ + } \ + } + + +/* + * PFREE_DESC() is used to free the given primitive, along with all + * descriptors in the descriptor list of the primitive. + * + * Parameters: p -- pointer to the primitive containing a descriptor list + * (if it is an ULONG, it has to be casted to the pointer + * because the type cannot be determined by the macro!) + */ +#define PFREE_DESC2(p) { MFREE_DESC2 ((p)->desc_list2.first); \ + PFREE ((p)); \ + } + + +#endif /* !MACDEF_H */