FreeCalypso > hg > fc-magnetite
diff src/condat2/com/include/custom.h @ 3:93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 26 Sep 2016 00:29:36 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/condat2/com/include/custom.h Mon Sep 26 00:29:36 2016 +0000 @@ -0,0 +1,586 @@ +/* ++----------------------------------------------------------------------------- +| Project : GSM-PS (6147) +| Modul : CUSTOM ++----------------------------------------------------------------------------- +| 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 : Custom dependent definitions +| +| Use this header for definitions to integrate the +| protocol stack in your target system ! ++----------------------------------------------------------------------------- +*/ + +#ifndef CUSTOM_H +#define CUSTOM_H + +/* + * OPTION_MULTITHREAD + * + * Description : For Operationg systems where the entire protocol + * stack is linked as an process and the entitys are + * started as threads, this option must be set. In + * this case all the pei_ functions of one entity + * were prefixed by the entity name like cc_pei... + * + * Options: #define OPTION_MULTITHREAD + * Multithread application + * #undef OPTION_MULTITHREAD + * No multithread application. + * Each entity is linked seperatly. + * + */ +/* +#undef OPTION_MULTITHREAD must be passed as compile switch +*/ +/*==== ENTITY DEPENDENT CONFIGURATION PARAMETER ===================*/ + +#ifndef __PFRAME_C__ /* do not include the entity specific custom + header if we compile the frame */ + +#ifdef ENTITY_CST +#include "cst/cus_cst.h" +#endif + +#if defined (ENTITY_SMI) || defined (ENTITY_MFW) || defined (ENTITY_ACI) || defined (ENTITY_MMI) +#include "cus_aci.h" +#endif + +#ifdef ENTITY_PAN +#endif + +#ifdef ENTITY_DL +#include "cus_dl.h" +#endif + +#ifdef ENTITY_RR +#include "cus_rr.h" +#endif + +#ifdef ENTITY_MM +#include "cus_mm.h" +#endif + +#ifdef ENTITY_CC +#include "cus_cc.h" +#endif + +#ifdef ENTITY_SS +#include "cus_ss.h" +#endif + +#ifdef ENTITY_ESIM +#include "cus_esim.h" +#endif + +#ifdef ENTITY_SMS +#include "cus_sms.h" +#endif + +#ifdef ENTITY_PL + #ifdef ALR + #include "cus_alr.h" + #else + #include "cus_til.h" + #endif +#endif + +#ifdef ENTITY_L1 +#include "cus_l1.h" +#endif + +#ifdef ENTITY_SIM +#include "cus_sim.h" +#endif + +#ifdef ENTITY_L2R +#include "cus_l2r.h" +#endif + +#ifdef ENTITY_RLP +#include "cus_rlp.h" +#endif + +#ifdef ENTITY_T30 +#include "cus_t30.h" +#endif + +#ifdef ENTITY_FAD +#include "cus_fad.h" +#endif + +#ifdef ENTITY_RA +#include "cus_ra.h" +#endif + +#ifdef ENTITY_WAP +#ifdef FF_GPF_TCPIP +#include "cus_wapmic.h" +#endif +#ifdef CO_UDP_IP +#include "cus_wap.h" +#endif +#endif + +#ifdef ENTITY_UDP +#include "cus_udp.h" +#endif + +#ifdef ENTITY_IP +#include "cus_ip.h" +#endif + +#ifdef ENTITY_TCP +#include "cus_tcp.h" +#endif + +#endif + +/*==== ENTITY NAMES ===============================================*/ +/* + * The names are used as identifier for the communication resource + */ + +#define NULL_NAME "NULL" +#define L1_NAME "L1" +#define PL_NAME "PL" +#define DL_NAME "DL" +#define RR_NAME "RR" +#define MM_NAME "MM" +#define CC_NAME "CC" +#define SS_NAME "SS" +#define ESIM_NAME "ESIM" +#define SMS_NAME "SMS" +#define SIM_NAME "SIM" +#define PAN_NAME "PAN" +#define DMYA_NAME "DMYA" +#define DMYB_NAME "DMYB" +#define CST_NAME "CST" +#define GRR_NAME "GRR" + +#define ACI_NAME "MMI" +#define AAA_NAME "AAA" +#define RIV_NAME "RIV" + +#define L2R_NAME "L2R" +#define TRA_NAME L2R_NAME /* TRA running in L2R task */ +#define RLP_NAME "RLP" +#define T30_NAME "T30" +#define FAD_NAME "FAD" +#define RA_NAME "RA" +#define WAP_NAME "WAP" +#define UDP_NAME "UDP" +#define IP_NAME "IP" +#define PPP_NAME "PPP" +#define UART_NAME "UART" +#define PSI_NAME "PSI" +#define DTI_NAME "DTI" +#define TAP_NAME "TAP" +#define BTI_NAME "BTI" /* BTI is not an entity, but the name is used to identify BTI */ +#define LC_NAME "LC" +#define RRLP_NAME "RRLP" + + +#ifdef FF_TRACE_OVER_MTST +#define MTST_NAME "MTST" +#endif /* FF_TRACE_OVER_MTST */ + +#ifdef GPRS +#define GMM_NAME "GMM" +#define GRR_NAME "GRR" +#define GRLC_NAME "GRLC" +#define PKTIO_NAME "PKT" +#define GPL_NAME "GRR" +#endif /* #ifdef GPRS */ + +#define DCM_NAME "MMI" +#define TCPIP_NAME "TCP" + +#define APP_NAME "APP" +#define GDD_DIO_NAME "GDDI" + +#ifndef NEW_FRAME +/*==== STATIC CONFIGURATION =======================================*/ +/* + * TRACE_FKT + * + * Description : A trace string is send to the environment when a + * function is called. + * + * Options: #define TRACE_FKT configuration is active + * #undef TRACE_FKT configuration is not active + * #define TC_FUNC <n> used trace class + * + * Function Traces only under Windows and for MMI + */ + +/* + * It is nearly impossible to debug ACI/MFW/SMI without function traces + */ +#if defined(WIN32) OR defined(ENTITY_MFW) OR defined(ENTITY_ACI) OR defined(ENTITY_SMI) +#define TRACE_FKT +#define TC_FUNC 1 +#else +#undef TRACE_FKT +#endif + +/* + * TRACE_EVE + * + * Description : A trace string is given to the environment when + * an event has happened, for example start of cell + * selection. + * + * Options: #define TRACE_EVE configuration is active + * #undef TRACE_EVE configuration is not active + * #define TC_EVENT <n> used trace class + */ + +#if !defined (NTRACE) +#define TRACE_EVE +#define TC_EVENT 2 +#else +#undef TRACE_EVE +#endif + +/* + * TRACE_ERR + * + * valid for : Mobile and Base Station + * + * Description : A trace string is given to the environment when + * an error has occured, for example parameter error + * by dynamic configuration. + * + * Options: #define TRACE_ERR configuration is active + * #undef TRACE_ERR configuration is not active + * #define TC_ERROR <n> used trace class + */ + +#if !defined (NTRACE) +#define TRACE_ERR +#define TC_ERROR 3 +#else +#undef TRACE_ERR +#endif + +/* + * TRACE_PRIM + * + * Description : A trace string is send to the environment when a + * primitive is received or send. + * + * Options: #define TRACE_PRIM configuration is active + * #undef TRACE_PRIM configuration is not active + * #define TC_PRIM <n> used trace class + */ + +#if !defined (NTRACE) +#define TRACE_PRIM +#define TC_PRIM 4 +#else +#undef TRACE_PRIM +#endif + +/* + * TRACE_STATE + * + * Description : A trace string is send to the environment when a + * state variable is changed or retrieved. + * + * Options: #define TRACE_STATE configuration is active + * #undef TRACE_STATE configuration is not active + * #define TC_STATE <n> used trace class + */ + +#if !defined (NTRACE) +#define TRACE_STATE +#define TC_STATE 8 +#else +#undef TRACE_STATE +#endif + +#endif /* NEW_FRAME */ + +/* + * SIM Application Toolkit + * + * Description : Depending of the general activation of SIM application + * Toolkit, specific parts can be activated + * + * Options: #define SAT_CBM_DNL_SUPPORT Cell Broadcast Data + * Download shall be supported + * #define SAT_SMS_DNL_SUPPORT SMS Data Download shall + * be supported + * #define SAT_CALL_CTRL_SUPPORT Call Control by SIM shall + * be supported + * #define SAT_CALL_REQ_SUPPORT Setup Call and Send SS/USSD + * shall be supported + */ + +#ifdef SIM_TOOLKIT +#define SAT_CBM_DNL_SUPPORT +#define SAT_SMS_DNL_SUPPORT +#define SAT_CALL_CTRL_SUPPORT +#define SAT_CALL_REQ_SUPPORT +#endif + +/* + * Engineering Mode + * + * Description : The configuration enables feature flag for engineering mode under WIN32. + * + * Options: #define FF_EM_MODE engineering mode is supported + * + */ + +#if defined (WIN32) +#define FF_EM_MODE +#endif + +/* + * OPTION_REF + * + * Description : There are two ways defined to communicate + * between protocol stack entities. Either by + * copying buffers or by exchanging buffer + * addresses. This options defines which + * way is used. + * + * Options: #define OPTION_REF communication is + * carried out by + * exchanging buffer addresses + * #undef OPTION_REF communication is + * carried out by + * copying buffers + */ + +#define OPTION_REF + +/* + * OPTION_LENGTH + * + * Description : If the communication is carried out by + * exchanging buffer addresses it is not + * necessary to calculate the length of + * the buffer. This option suppresses + * the calculation of the size parameter + * of the sending communication buffer. + * + * Options: #undef OPTION_LENGTH size parameter is set + * to zero. + * #define OPTION_LENGTH size parameter is set + * to buffer size + */ + +#define OPTION_LENGTH + +/* + * OPTION_SET_CONFIG_ONLY + * + * Description : The pei_config () function is used + * to set and/or to read dynamic configuration. + * The possibility to read a dynamic configuration + * is switched off by this configuration. + * + * Options: #define OPTION_SET_CONFIG_ONLY + * It is not possible to read + * a dynamic configuration + * #undef OPTION_SET_CONFIG_ONLY + * It is possible to read + * a dynamic configuration + */ + +#define OPTION_SET_CONFIG_ONLY + +/* + * OPTION_GSM_ONLY + * + * Description : If the environment ensures that only GSM + * primitives are forwarded to the protocol + * stack entity this option suppresses the + * use of the vsi_c_primitive() function. + * + * Options: #define OPTION_GSM_ONLY + * The environment sends + * only GSM primitives + * #undef OPTION_GSM_ONLY + * The environment sends + * GSM and SYSTEM primitives + */ + +#undef OPTION_GSM_ONLY + +/* + * OPTION_TIMEOUT_SYNC + * + * Description : If the environment ensures that the + * pei_primitive and pei_timeout function + * not called at the same time this option + * suppresses the use of the vsi_c_awake() + * function. The timeout-handling is started + * directly by the pei_timeout() function. + * + * Options: #define OPTION_TIMOUT_SYNC + * direct timeout-handling + * #undef OPTION_TIMEOUT_SYNC + * indirect timeout-handling + * by using vsi_c_awake () + */ + +#undef OPTION_TIMEOUT_SYNC + +/* + * OPTION_SIGNAL + * + * Description : The options defines whether signal processing + * in the entity is possible or not. + * + * Options: #define OPTION_SIGNAL + * Signal processing is possible + * #undef OPTION_SIGNAL + * Signal processing is not possible + * + */ + +#define OPTION_SIGNAL + +/* + * OPTION_TIMER + * + * Description : The options defines whether timer values are + * changeable by dynamic configuration or not. + * + * Options: #define OPTION_TIMER + * Timer values are changeable + * #undef OPTION_TIMER + * Timer values are not + * changeable + */ + +#if !defined (NCONFIG) +#define OPTION_TIMER +#else +#undef OPTION_TIMER +#endif + +/* + * OPTION_RELATIVE + * + * Description : If the compiler for the target system + * uses relative addressing it is possible + * that the offset at run-time must be + * added to some jump tables containing only + * the offset at compile-time. + * + * Options: #define OPTION_RELATIVE + * add run-time offset + * #undef OPTION_RELATIVE + * don't add run-time offset + */ + +#undef OPTION_RELATIVE + +/* + * OPTION_MULTI_INSTANCE + * MAX_INSTANCES + * + * + * Description : The option is used if multiple instances are + * used. The routing information is stored in the + * header (T_ROUTE route). The routing information + * consists of instance number (inst_no), + * channel number (chan_no) and timeslot number + * (ts_no). The upper layer uses instance number + * for routing, at the interface to physical layer + * the channel and timeslot number are used. The + * constant MAX_INSTANCES defines the maximum of + * instances. + * + * Options: #define OPTION_MULTI_INSTANCE + * use multi instances + * #undef OPTION_MULTI_INSTANCE + * only one instance + */ + +#undef OPTION_MULTI_INSTANCE +#define MAX_INSTANCES 1 + +/*==== TYPES ======================================================*/ +/* + * T_PRIM_HEADER + * + * Description : This type definition defines the custom specific + * part of a primitive. All primitives have the + * general format: header followed by data. The + * header of a primitive is changeable according to + * the requirements of the target system. + * Hints: Only the operation code opc as a USHORT value must + * be present. For multi-instance protocol stacks + * the routing information must be include in the + * header (T_ROUTE route). + */ + +#ifdef OPTION_MULTI_INSTANCES + +typedef struct +{ + USHORT inst_no; + USHORT chan_no; + UBYTE ts_no; +} T_ROUTE; + +#endif + +#if !defined (T_PRIM_HEADER_DEFINED) + +#define T_PRIM_HEADER_DEFINED + +#ifdef _TMS470 + +typedef struct +{ + USHORT opc; /* equal to int SignalCode */ + USHORT opc2; + USHORT len; + USHORT idx; + T_sdu *sdu; + UBYTE * Sender; /* not used */ + UBYTE * SigP; /* Pointer to data area */ +} T_PRIM_HEADER; + +#else + +typedef struct +{ + UBYTE ps; + UBYTE fill; + UBYTE snd; + UBYTE rcv; + ULONG timestamp; + USHORT len; + USHORT idx; + T_sdu *sdu; + USHORT lng; +#ifdef OPTION_MULTI_INSTANCES + T_ROUTE route; +#endif + USHORT opc; + USHORT opc2; +} T_PRIM_HEADER; + +#endif + +#endif /* T_PRIM_HEADER_DEFINED */ + +#endif /* CUSTOM_H */