FreeCalypso > hg > fc-magnetite
annotate src/g23m-fad/tcpip/tcpip_pei.c @ 212:e7a67accfad9
cdg-hybrid cdginc headers created
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 14 Oct 2016 21:52:58 +0000 | 
| parents | 90eb61ecd093 | 
| children | 
| rev | line source | 
|---|---|
| 174 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | File: tcpip_pei.c | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | All rights reserved. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | This file is confidential and a trade secret of Texas | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | Instruments Berlin, AG | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | The receipt of or possession of this file does not convey | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | any rights to reproduce or disclose its contents or to | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | manufacture, use, or sell anything it may describe, in | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | whole, or in part, without the specific written consent of | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | Texas Instruments Berlin, AG. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 +----------------------------------------------------------------------------- | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | Purpose : This module implements the PEI interface | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | for the entity TCPIP. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 +----------------------------------------------------------------------------- | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 #define TCPIP_PEI_C | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 #define ENTITY_TCPIP | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 /*==== INCLUDES =============================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 #include "typedefs.h" /* to get Condat data types */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "vsi.h" /* to get a lot of macros */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 #include "custom.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 #include "gsm.h" /* to get a lot of macros */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 #include "prim.h" /* to get the definitions of used SAP and directions */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 #include "pei.h" /* to get PEI interface */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 #include "tools.h" /* to get common tools */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 #include "dti.h" /* For DTI library definitions. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "tcpip.h" /* to get the global entity definitions */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 #define RNET_CFG_REAL_TRANSPORT | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #include "rnet_api.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 #include "rnet_rt_env.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 #include "rv_general.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 #include "rnet_rt_i.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #include <ngip/if.h> | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 #include "string.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 #include "stdio.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 T_RNET_DESC *desc; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 /*==== CONSTS ================================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 #define TCPIP_STACK_SIZE 2048 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 #define TCPIP_QUEUE_SIZE 15 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 #define TCPIP_PRIORITY 80 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 #define TCPIP_NUM_TIMER 1 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 #define PRIM_OFFSET_DTI2 0x50 /* We must subtract this from the DTI2 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 * opcodes. No, I don't know why. And, to be | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 * honest, I do not really care. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 /*==== TYPES =================================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 /*==== LOCALS ================================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 static BOOL first_access = TRUE; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 static const T_FUNC tcpip_table[] = | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 MAK_FUNC_0(tcpip_initialize_req, TCPIP_INITIALIZE_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 MAK_FUNC_0(tcpip_shutdown_req, TCPIP_SHUTDOWN_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 MAK_FUNC_0(tcpip_ifconfig_req, TCPIP_IFCONFIG_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 MAK_FUNC_0(tcpip_dti_req, TCPIP_DTI_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 MAK_FUNC_0(tcpip_create_req, TCPIP_CREATE_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 MAK_FUNC_0(tcpip_close_req, TCPIP_CLOSE_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 MAK_FUNC_0(tcpip_bind_req, TCPIP_BIND_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 MAK_FUNC_0(tcpip_listen_req, TCPIP_LISTEN_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 MAK_FUNC_0(tcpip_connect_req, TCPIP_CONNECT_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 MAK_FUNC_0(tcpip_data_req, TCPIP_DATA_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 MAK_FUNC_0(tcpip_data_res, TCPIP_DATA_RES), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 MAK_FUNC_0(tcpip_sockname_req, TCPIP_SOCKNAME_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 MAK_FUNC_0(tcpip_peername_req, TCPIP_PEERNAME_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 MAK_FUNC_0(tcpip_hostinfo_req, TCPIP_HOSTINFO_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 MAK_FUNC_0(tcpip_mtu_size_req, TCPIP_MTU_SIZE_REQ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 MAK_FUNC_0(tcpip_internal_ind, TCPIP_INTERNAL_IND) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 } ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 static const T_FUNC dti_dl_table[] = | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 MAK_FUNC_0(tcpip_dti_connect_ind , DTI2_CONNECT_IND ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 MAK_FUNC_0(tcpip_dti_connect_cnf , DTI2_CONNECT_CNF ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 MAK_FUNC_0(tcpip_dti_disconnect_ind , DTI2_DISCONNECT_IND) , | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 MAK_FUNC_0(tcpip_dti_ready_ind , DTI2_READY_IND ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 MAK_FUNC_0(tcpip_dti_data_ind , DTI2_DATA_IND ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 #if defined (_SIMULATION_) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 , | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 MAK_FUNC_S(tcpip_dti_data_test_ind , DTI2_DATA_TEST_IND ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 #endif | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 } ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 static const T_FUNC dti_ul_table[] = | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 MAK_FUNC_0(tcpip_dti_connect_req , DTI2_CONNECT_REQ ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 MAK_FUNC_0(tcpip_dti_connect_res , DTI2_CONNECT_RES ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 MAK_FUNC_0(tcpip_dti_disconnect_req, DTI2_DISCONNECT_REQ) , | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 MAK_FUNC_0(tcpip_dti_getdata_req , DTI2_GETDATA_REQ ), | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 MAK_FUNC_0(tcpip_dti_data_req , DTI2_DATA_REQ ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 #if defined (_SIMULATION_) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 , | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 MAK_FUNC_S(tcpip_dti_data_test_req , DTI2_DATA_TEST_REQ ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 #endif | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 } ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 | Function : primitive_not_supported | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 | Description : This function handles unsupported primitives. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 | Parameters : data - not used | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 | Return : void | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 static void primitive_not_supported (void *data) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 TRACE_FUNCTION ("primitive_not_supported"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 PFREE (data); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 | Function : pei_primitive | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 | Description : Process protocol specific primitive. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 | Parameters : prim - pointer to the received primitive | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 | Return : PEI_OK - function succeeded | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 | PEI_ERROR - function failed | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 +-----------------------------------------------------------------------------*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 static short pei_primitive (void * ptr) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 T_PRIM *prim = (T_PRIM*)ptr; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 TRACE_FUNCTION ("pei_primitive"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 if (prim NEQ NULL) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 unsigned long opc = prim->custom.opc; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 unsigned short n; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 const T_FUNC *table; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 PTRACE_IN (opc); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 switch (SAP_NR(opc)) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 case SAP_NR(TCPIP_UL): | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 table = tcpip_table; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 n = TAB_SIZE (tcpip_table); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 break; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 case SAP_NR(DTI2_UL): /* defined in prim.h */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 table = dti_ul_table; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 n = TAB_SIZE (dti_ul_table); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 opc -= PRIM_OFFSET_DTI2 ; /* Don't ask. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 break; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 case SAP_NR(DTI2_DL): /* defined in prim.h */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 table = dti_dl_table; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 n = TAB_SIZE (dti_dl_table); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 opc -= PRIM_OFFSET_DTI2 ; /* Don't ask here either. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 break; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 default: | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 table = NULL; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 n = 0; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 break; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 if (table NEQ NULL) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 if (PRIM_NR(opc) < n) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 table += PRIM_NR(opc) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 #ifdef PALLOC_TRANSITION | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 P_SDU(prim) = table->soff ? (T_sdu*) (((char*)&prim->data) + table->soff) : 0; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 #ifndef NO_COPY_ROUTING | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 P_LEN(prim) = table->size + sizeof (T_PRIM_HEADER); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 #endif /* NO_COPY_ROUTING */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 #endif /* PALLOC_TRANSITION */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 JUMP (table->func) (P2D(prim)); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 else | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 primitive_not_supported (P2D(prim)); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 return PEI_OK; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 * primitive is not a GSM primitive - forward it to the environment | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 if (opc & SYS_MASK) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 vsi_c_primitive (VSI_CALLER prim); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 else | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 PFREE (P2D(prim)); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 return PEI_ERROR; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 return PEI_OK; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 | Function : pei_init | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 | Description : Initialize Protocol Stack Entity | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 | Parameters : handle - task handle | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 | Return : PEI_OK - entity initialised | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 | PEI_ERROR - entity not (yet) initialised | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 static short pei_init (T_HANDLE handle) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 TRACE_FUNCTION ("pei_init"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 /* Initialize entity handle */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 tcpip_handle = handle; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 * Open communication channels | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 if (hCommMMI < VSI_OK) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 if ((hCommMMI = vsi_c_open (tcpip_handle, ACI_NAME)) < VSI_OK) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 return PEI_ERROR; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 if (hCommTCPIP < VSI_OK) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 if ((hCommTCPIP = vsi_c_open (tcpip_handle, TCPIP_NAME)) < VSI_OK) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 return PEI_ERROR; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 * Initialize global pointer tcpip_data. This is required to access all | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 * entity data. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 tcpip_data = &tcpip_data_base; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 tcpip_data->dti_handle = dti_init(TCPIP_MAX_DTI_LINKS, tcpip_handle, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 DTI_DEFAULT_OPTIONS, tcpip_dti_callback) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 return (PEI_OK); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 | Function : pei_timeout | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 | Description : Process timeout. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 | Parameters : index - timer index | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 | Return : PEI_OK - timeout processed | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 | PEI_ERROR - timeout not processed | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 static short pei_timeout (unsigned short index) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 /* TRACE_FUNCTION ("pei_timeout"); */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 /* Process timeout */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 switch (index) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 case RNET_RT_NGIP_TIMER: | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 /* Call of timeout routine */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 rnet_rt_handle_timer(NULL) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 break; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 default: | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 TRACE_ERROR("Unknown Timeout"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 return PEI_ERROR; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 return PEI_OK; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 | Function : pei_exit | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 | Description : Close Resources and terminate. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 | Parameters : - | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 | Return : PEI_OK - exit sucessful | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 static short pei_exit (void) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 TRACE_FUNCTION ("pei_exit"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 tcpip_do_shutdown() ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 if (tcpip_data->dti_handle NEQ NULL) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 dti_deinit(tcpip_data->dti_handle) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 tcpip_data->dti_handle = NULL ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 /* Close communication channels */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 vsi_c_close (tcpip_handle,hCommMMI); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 hCommMMI = VSI_ERROR; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 vsi_c_close (tcpip_handle,hCommTCPIP); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 hCommTCPIP = VSI_ERROR; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 return PEI_OK; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 | Function : pei_config | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 | Description : Dynamic Configuration. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 | Parameters : in_string - configuration string | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 | Return : PEI_OK - sucessful | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 | PEI_ERROR - not successful | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 static short pei_config (char *in_string) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 TRACE_FUNCTION ("pei_config"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 TRACE_FUNCTION (in_string); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 if (!strcmp (in_string, "TCPIP_INITIALIZE_REQ") ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 tcpip_initialize_req(NULL) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 else if (!strcmp (in_string, "TCPIP_SHUTDOWN_REQ") ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 tcpip_shutdown_req(NULL) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 else if (!strcmp (in_string, "TCPIP_CREATE_REQ") ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 T_RV_RETURN_PATH return_path = { 0, 0 } ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 rnet_new(RNET_IPPROTO_TCP, &desc, return_path); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 else if (!strcmp (in_string, "TCPIP_BIND_REQ") ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 rnet_bind(desc, RNET_IP_ADDR_ANY, 32000); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 else if (!strcmp (in_string, "TCPIP_CONNECT_REQ") ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 rnet_connect(desc, RNET_IP_ADDR_ANY, 32000); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 else if (!strcmp (in_string, "TCPIP_LISTEN_REQ") ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 rnet_listen(desc); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 else if (!strcmp (in_string, "TCPIP_CLOSE_REQ") ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 rnet_close(desc); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 else if (!strncmp(in_string, "dns ", 4)) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 U8 *addrbyte ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 int o1, o2, o3, o4 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 if (sscanf(in_string + 4, "%d.%d.%d.%d", &o1, &o2, &o3, &o4) != 4) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 TRACE_EVENT("cannot parse argument as an IP address") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 return PEI_OK ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 addrbyte = (U8 *) &tcpip_data->config_dns_address ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 addrbyte[0] = (U8) o1 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 addrbyte[1] = (U8) o2 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 addrbyte[2] = (U8) o3 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 addrbyte[3] = (U8) o4 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 TRACE_EVENT("DNS address saved") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 * further dynamic configuration | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 return PEI_OK; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 | Function : pei_create | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 | Description : Create the Protocol Stack Entity. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 | Parameters : info - Pointer to the structure of entity parameters | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 | Return : PEI_OK - entity created successfully | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 short tcpip_pei_create (T_PEI_INFO **info) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 static T_PEI_INFO pei_info = | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 "TCP", /* name */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 { /* pei-table */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 pei_init, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 pei_exit, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 pei_primitive, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 pei_timeout, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 NULL, /* pei_signal */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 NULL, /* pei_run */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 pei_config, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 NULL /* pei_monitor */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 TCPIP_STACK_SIZE, /* stack size */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 TCPIP_QUEUE_SIZE, /* queue entries */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 TCPIP_PRIORITY, /* priority (1->low, 255->high) */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 TCPIP_NUM_TIMER, /* number of timers */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 COPY_BY_REF|PASSIVE_BODY /* flags: bit 0 active(0) body/passive(1) */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 }; /* bit 1 com by copy(0)/reference(1) */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 TRACE_FUNCTION ("pei_create()"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 /* Close Resources if open */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 if (first_access) { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 first_access = FALSE; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 else { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 pei_exit (); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 /* Export startup configuration data */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 *info = &pei_info; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 return PEI_OK; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 /*==== END OF FILE ==========================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 | 
