FreeCalypso > hg > fc-magnetite
annotate src/cs/services/atp/atp_sw_ent.c @ 193:4cb2e85d9d6a
src/g23m-gprs/llc/llc_{itxp,uitxp}.c: compilation fixes for !REL99
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 13 Oct 2016 23:09:26 +0000 | 
| parents | 945cf7f506b2 | 
| children | 
| rev | line source | 
|---|---|
| 0 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /******************************************************************************* | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * File Name : atp_sw_ent.c | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 * Functions handling registered SW entities database of the ATP | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 * (C) Texas Instruments, all rights reserved | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 * Version number : 0.1 Date : 28-Feb-2000 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 * History : 0.1 - Created by E. Baissus | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 * : 0.9 (3-May-2000) : reviewed | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 * Author : Eric Baissus : e-baissus@ti.com | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 * (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 ******************************************************************************/ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 #include "rv/rv_general.h" | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 #include "rvf/rvf_api.h" | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 #include "atp/atp_api.h" | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 #include "atp/atp_i.h" | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 #include "atp/atp_config.h" | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 #include <string.h> | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 /* Number of SW entity which has been registered into ATP excluding GSM */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 T_ATP_SW_ENTITY_ID atp_nb_sw_entity; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 /* Table gathering the pointers on the different SW entity data structure */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 /* If NULL, field is free (initiated in atp_init)*/ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 /* Note that a static field is used for GSM in order to be able to register the GSM */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 /* SW entity even if no memory bank has been allocated to ATP yet */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 static T_ATP_SW_ENTITY_STRUCT gsm_sw_entity; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 T_ATP_SW_ENTITY_STRUCT * atp_sw_entity_table_p[ATP_MAX_NB_SW_ENTITY+1] = { NULL } ; //First one is reserved for GSM and is NULL at beginning | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 /****************************************************************************** | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 * Function name: atp_reg | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 * Description : This function is used to register a new SW entity to the ATP entity | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 * Parameters : - name = SW entity name | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 * - return_path => way to send event to the new registered entity, | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 * - mode => supported mode of the new registered entity | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 * - &sw_id_p => pointer on id to use later on to identify the SW entity | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 * Return : Standard error | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 * RV_OK or RV_MEMORY_ERR (no more entity can register, or prim MB not GREEN) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 * History : 0.1 (29-Feb-2000) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 * : 0.9 (3-May-2000) : reviewed | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 ******************************************************************************/ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 T_ATP_RET atp_reg(T_ATP_SW_ENTITY_NAME name, T_ATP_CALLBACK return_path, T_ATP_ENTITY_MODE mode , | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 T_ATP_SW_ENTITY_ID * sw_id_p) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 T_ATP_SW_ENTITY_STRUCT * sw_struct_p; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 UINT8 i; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 if (atp_get_sw(name,sw_id_p)== RV_OK) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 /* SW entity is already registered */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 atp_error_switch(ATP_ERROR_FAILED_TO_HANDLE_REGISTRATION,ATP_SAME_ACTION_ALREADY_DONE,NULL); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 return RV_NOT_SUPPORTED; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 if (strcmp((char *) name,ATP_GSM_NAME) !=0) // Not GSM registration | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 // Check if a new SW entity can register and if ATP has been started | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 if ( (atp_nb_sw_entity==ATP_MAX_NB_SW_ENTITY) || (atp_swe_state != ATP_STARTED)) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 atp_error_switch(ATP_ERROR_FAILED_TO_HANDLE_REGISTRATION,ATP_NO_MORE_RESSOURCE,NULL); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 return RV_NOT_SUPPORTED; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 // Get buffer for a new instance | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 switch (rvf_get_buf(atp_mb_prim,sizeof(T_ATP_SW_ENTITY_STRUCT),(void **) &sw_struct_p)) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 case RVF_GREEN: | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 break; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 case RVF_YELLOW: | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 rvf_free_buf ((T_RVF_BUFFER *) sw_struct_p); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 default: | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 atp_error_switch(ATP_ERROR_FAILED_TO_HANDLE_REGISTRATION,ATP_MEMORY_ERROR,NULL); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 return RV_MEMORY_ERR; // not enough memory : refuse any new registration | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 else | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 if (atp_sw_entity_table_p[0]!=NULL) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 atp_error_switch(ATP_ERROR_FAILED_TO_HANDLE_REGISTRATION,ATP_SAME_ACTION_ALREADY_DONE,NULL); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 return RV_NOT_SUPPORTED; // GSM is already registered | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 sw_struct_p=(&gsm_sw_entity); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 // Initialisation of the structure | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 // Copy SW entity name | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 strcpy((char *) sw_struct_p->sw_entity_name ,(char *) name); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 // Copy return path information | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 sw_struct_p->return_path.callback_func = return_path.callback_func; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 sw_struct_p->return_path.addr_id = return_path.addr_id; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 // Copy mode information | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 sw_struct_p->mode= mode; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 // Initialize number of open port with the SW entity | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 sw_struct_p->nb_open_port=0; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 // START : THIS SECTION MUST BE PROTECTED BY A SEMAPHORE !!!!!! | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 // Initialise SW entity table: next field points on new structure | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 if (strcmp( (char *) name,ATP_GSM_NAME) !=0) // Not GSM registration | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 i=1; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 while(atp_sw_entity_table_p[i]!=NULL) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 i++; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 if (i>ATP_MAX_NB_SW_ENTITY) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 rvf_free_buf(sw_struct_p); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 atp_error_switch(ATP_ERROR_FAILED_TO_HANDLE_REGISTRATION,ATP_MEMORY_ERROR,NULL); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 return RV_MEMORY_ERR; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 atp_nb_sw_entity++; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 else | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 i=0; // GSM always got id = 0 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 *sw_id_p=i; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 atp_sw_entity_table_p[i]=sw_struct_p; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 // END : THIS SECTION MUST BE PROTECTTED BY A SEMAPHORE !!!!!! | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 return RV_OK; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 /****************************************************************************** | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 * Function name: atp_dereg | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 * Description : This function is used to remove a SW entity to the list of | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 * SW entities registered in ATP. | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 * Parameters : - sw_id => id of the SWE | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 * Return : Standard error | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 * RV_OK , | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 * RV_NOT_READY if a port is still open involving the SW entity | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 * RV_NOT_SUPPORTED if sw_id is already de-registered -> ignore call | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 * History : 0.1 (29-Feb-2000) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 * : 0.9 (3-May-2000) : reviewed | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 ******************************************************************************/ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 T_ATP_RET atp_dereg(T_ATP_SW_ENTITY_ID sw_id) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 T_ATP_SW_ENTITY_STRUCT * sw_entity_p; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 // Check for invalid parameters | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 if (sw_id > ATP_MAX_NB_SW_ENTITY) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 return RV_INVALID_PARAMETER; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 // START : THIS SECTION MUST BE PROTECTED BY A SEMAPHORE !!!!!! | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 sw_entity_p=atp_sw_entity_table_p[sw_id]; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 if (sw_entity_p==NULL) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 // This entity is no longer registered | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 return RV_NOT_SUPPORTED; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 if (sw_entity_p->nb_open_port>0) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 // A port is still open involving this SW entity : refuse de-registration | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 atp_error_switch(ATP_ERROR_FAILED_TO_HANDLE_REGISTRATION,ATP_ISSUED_IN_A_WRONG_STATE_ERROR,NULL); | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 return RV_NOT_READY; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 // Remove SW entity | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 atp_sw_entity_table_p[sw_id]=NULL; // free the field | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 if (sw_id != 0) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 rvf_free_buf(sw_entity_p); // free the buffer | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 atp_nb_sw_entity--; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 // END : THIS SECTION MUST BE PROTECTTED BY A SEMAPHORE !!!!!! | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 return RV_OK; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 /****************************************************************************** | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 * Function name: atp_get_sw | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 * Description : This function is used to get SWE ID from the SWE name | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 * Parameters : - name => name of the SWE to find | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 * - sw_id_p => & of the id of the SWE | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 * Return : Standard error | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 * RV_OK , | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 * RV_NOT_SUPPORTED if name was not in the SWE ATP list | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 * History : 0.1 (29-Feb-2000) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 * : 0.9 (3-May-2000) : reviewed | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 ******************************************************************************/ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 T_ATP_RET atp_get_sw(T_ATP_SW_ENTITY_NAME name,T_ATP_SW_ENTITY_ID * sw_id_p) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 UINT8 i; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 T_ATP_SW_ENTITY_STRUCT * sw_entity_p; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 for(i=0;i<=ATP_MAX_NB_SW_ENTITY;i++) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 sw_entity_p=atp_sw_entity_table_p[i]; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 if (sw_entity_p!=NULL) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 if(strcmp((const char *) name,(const char *) sw_entity_p->sw_entity_name)==0) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 { /* Found one SW entity with proper name */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 *sw_id_p=i; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 return RV_OK; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 return RV_NOT_SUPPORTED; // No SW entity had this name | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 /****************************************************************************** | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 * Function name: atp_reg_info | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 * Description : This function is used to get info on a SWE | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 * Parameters : - name => name of the SWE to get info on | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 * - return : id of the SWE | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 * - return : SWE mode information | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 * Return : Standard error | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 * RV_OK , | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 * RV_NOT_SUPPORTED if name has not been found | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 * History : 0.1 (29-Feb-2000) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 * : 0.9 (3-May-2000) : reviewed | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 ******************************************************************************/ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 T_ATP_RET atp_reg_info(T_ATP_SW_ENTITY_NAME name, T_ATP_SW_ENTITY_ID * sw_id_p, | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 T_ATP_ENTITY_MODE * mode_p ) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 T_ATP_SW_ENTITY_STRUCT * sw_entity_p; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 // START : THIS SECTION MUST BE PROTECTED BY A SEMAPHORE !!!!!! | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 /* Search related sw entity instance */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 if(atp_get_sw(name,sw_id_p)!=RV_OK) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 return RV_NOT_SUPPORTED; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 sw_entity_p=atp_sw_entity_table_p[*sw_id_p]; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 (*mode_p)=sw_entity_p->mode; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 // END : THIS SECTION MUST BE PROTECTTED BY A SEMAPHORE !!!!!! | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 return RV_OK; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 /****************************************************************************** | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 * Function name: atp_dereg_all | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 * Description : De-register all the registered entity | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 * Parameters : None | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 * Return : Always RV_OK | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 * | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 * History | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 * : 0.9 (10-Aug-2000) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 ******************************************************************************/ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 T_ATP_RET atp_dereg_all(void) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 UINT8 i; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 for(i=0;i<(ATP_MAX_NB_SW_ENTITY+1);i++) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 if (atp_sw_entity_table_p[i] !=NULL) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 /* A SWE is registered in this index */ | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 if (atp_dereg(i) != RV_OK) | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 { | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 return RV_INTERNAL_ERR; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 }; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 return RV_OK; | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 } | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 | 
| 
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 | 
